<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>HiperGalaxia &#187; arduino</title>
	<atom:link href="http://www.hipergalaxia.org/blog/tag/arduino/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hipergalaxia.org/blog</link>
	<description>El conocimiento, la frontera final.</description>
	<lastBuildDate>Thu, 09 Feb 2012 07:23:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Make Live : Premier</title>
		<link>http://www.marlonj.com/blog/2011/01/make-live-premier/</link>
		<comments>http://www.marlonj.com/blog/2011/01/make-live-premier/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 17:41:33 +0000</pubDate>
		<dc:creator>marlonj</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[Cacharreos]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[envivo]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Live]]></category>
		<category><![CDATA[magazine]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[makelive]]></category>
		<category><![CDATA[programa]]></category>
		<category><![CDATA[revista]]></category>
		<category><![CDATA[streaming]]></category>
		<category><![CDATA[ustream]]></category>

		<guid isPermaLink="false">http://www.marlonj.com/blog/?p=10294</guid>
		<description><![CDATA[Hoy 26 de Enero de 2011 sera el estreno del programa en vivo vía Internet de la revista Make publicación americana de la casa O'Reilly que se centra en el modelo de DIY (Hagalo Usted Mismo) y que tiene gran acogida entre los entusiastas del OpenHardware gracias a que muchos proyectos están basados en plataformas [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-10295" title="makelive_logo" src="http://www.marlonj.com/blog/wp-content/uploads/2011/01/makelive_logo.jpg" alt="" width="407" height="114" /></p>
<p style="text-align: justify;">Hoy 26 de Enero de 2011 sera el estreno del programa en vivo vía Internet de la revista Make publicación americana de la casa O'Reilly que se centra en el modelo de DIY (Hagalo Usted Mismo) y que tiene gran acogida entre los entusiastas del OpenHardware gracias a que muchos proyectos están basados en plataformas de hardware abierto como Arduino.</p>
<p style="text-align: justify;">
<div id="attachment_10296" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.marlonj.com/blog/wp-content/uploads/2011/01/becky-matt-make-live.png" rel="lightbox[10294]"><img class="size-medium wp-image-10296" title="becky-matt-make-live" src="http://www.marlonj.com/blog/wp-content/uploads/2011/01/becky-matt-make-live-400x222.png" alt="" width="400" height="222" /></a><p class="wp-caption-text">Presentadores de Make Live</p></div>
</p><p style="text-align: justify;">La premier del programa se realizara hoy 26 de Enero de 2011 a las 9pm (GMT-5) y el cual estará dedicado a la plataforma de hardware libre Arduino y el cual se podra ver desde la pagina de Make o a traves de UStream.</p>
<p style="text-align: justify;"><strong>Proximos Programas : </strong></p>
<ul>
<li>Enero 26, 9pm: Arduino</li>
<li>Febrero 09, 9pm: Soldadura</li>
<li>Febrero 23, 9pm: Bicicletas</li>
</ul>
<h1 style="text-align: justify;">Enlaces :</h1>
<ul>
<li>Make Live<br />
<a title="Make : LIve" href="http://makezine.com/live" >http://makezine.com/live</a></li>
<li>Canal en UStream<br />
<a title="Make Live UStream" href="http://www.ustream.tv/channel/make-live" >http://www.ustream.tv/channel/make-live</a></li>
<li>Pagina de Make en Facebook<br />
<a title="Make en Facebook" href="http://www.facebook.com/makemagazine" >http://www.facebook.com/makemagazine</a></li>
<li>Pagina del Evento en Facebook<br />
<a title="Make Live Premier" href="http://www.facebook.com/event.php?eid=189827474375327" >http://www.facebook.com/event.php?eid=189827474375327</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.marlonj.com/blog/2011/01/make-live-premier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nueva Version de Processing, llega la 1.2</title>
		<link>http://www.marlonj.com/blog/2010/07/nueva-version-de-processing-llega-la-1-2/</link>
		<comments>http://www.marlonj.com/blog/2010/07/nueva-version-de-processing-llega-la-1-2/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 18:44:37 +0000</pubDate>
		<dc:creator>marlonj</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[Cacharreos]]></category>
		<category><![CDATA[lanzamiento]]></category>
		<category><![CDATA[libro]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://www.marlonj.com/blog/?p=4705</guid>
		<description><![CDATA[Después de muchas entradas en este blog sobre Pulsar Project, volvemos al camino del cacharreo (aunque por corto tiempo, así que volverán toneladas de entradas de Pulsar Project) esta vez nos encontramos con la nueva versión de Processing (herramienta para la creación de aplicaciones visuales de forma rápida, basada en Java)  que trae una gran [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><img class="alignleft size-full wp-image-4706" title="processing_icon" src="http://www.marlonj.com/blog/wp-content/uploads/2010/07/processing_icon.gif" alt="" width="100" height="100" />Después de muchas entradas en este blog sobre Pulsar Project, volvemos al camino del cacharreo (aunque por corto tiempo, así que volverán toneladas de entradas de Pulsar Project) esta vez nos encontramos con la nueva versión de Processing (herramienta para la creación de aplicaciones visuales de forma rápida, basada en Java)  que trae una gran cantidad de cambios con respecto a la versión 1.1 publicado en Marzo de 2010.</p>
<p style="text-align: justify;"><strong>Cuales son los Cambios ? </strong></p>
<ul>
<li>Soporte para la sintaxis de Java 5<br />
Esto facilita la creación de colecciones de cierto tipo como también iterar sobre colecciones y arreglos.<br />
Esto sucede 6 años después que se introdujeran estos cambios en Java, pero apenas sucede hoy en Processing</li>
<li>Gran cantidad de trabajo con SVG y PDF<br />
Al parecer Processing comienza también a convertirse en herramienta autor para la creación de imágenes</li>
<li>Cambios en la versión de MacOSX<br />
Soluciona el problema de actualización de Java</li>
<li>Y gran cantidad de errores solucionados !!!</li>
</ul>
<div id="attachment_4707" class="wp-caption aligncenter" style="width: 485px"><img class="size-full wp-image-4707" title="processing12_about" src="http://www.marlonj.com/blog/wp-content/uploads/2010/07/processing12_about.jpg" alt="" width="475" height="300" /><p class="wp-caption-text">Processin 1.2</p></div>
<p style="text-align: justify;">Así que ya tenemos una versión de Processing mas madura, estabilizando el funcionamiento de muchas de sus funcionalidades, lo que permite crear Sketch mas robustos.</p>
<p style="text-align: justify;">Por otro lado han sido muchos los cambios que han sucedido desde el lanzamiento de la versión 1.0, ahora el equipo de Processing se ha tomado muy en serio la necesidad de tener una buena base de conocimiento y poseer un buen software para el foro que no se sobrecargue tanto como el anterior, por tal motivo se han migrado a otro servidor donde podremos encontrar :</p>
<ul>
<li>Pagina Oficial de Processing<br />
<a title="Processing" href="http://www.processing.org" >http://www.processing.org</a></li>
<li>Processing Wiki<br />
<a title="Processing Wiki" href="http://wiki.processing.org" >http://wiki.processing.org</a></li>
<li>Foro Oficial de Processing<br />
<a title="Processing Foro" href="http://forum.processing.org" >http://forum.processing.org</a></li>
</ul>
<p style="text-align: justify;"><img class="alignright size-full wp-image-4708" style="margin: 5px;" title="getting-started-with-processing" src="http://www.marlonj.com/blog/wp-content/uploads/2010/07/getting-started-with-processing.jpg" alt="" width="200" height="310" />Hace poco también salio al mercado "Getting Started with Processing", guía de bolsillo para principiantes en la herramienta que va por el mismo estilo del "Getting Started with Arduino" libro tan conocido por la comunidad de hardware libre, estos libros pueden comprarse en librerías o pueden comprarse las versiones digitales en PDF de los mismos. El libro incluye una introducción a la herramienta y el "Hola Mundo" de Processing, como comenzar a codificar, pintar en la pantalla, manejo de variables, interacción, manejo de fuentes e imágenes, movimiento; adicionalmente cubre características del lenguaje como la creación de funciones, manejo de programación orientada a objetos, uso de los arreglos; finalmente incluye un capitulo sobre como ir mas lejos con el desarrollo de aplicaciones 3D, exportar imágenes y comunicación con Arduino.</p>
<p style="text-align: justify;">Processing va tomando cada vez mas fuerza en el ambiente de programación visual como una herramienta multiproposito que derrumba los limites de otras herramientas disponibles en el mercado, ya veremos que nuevas características adicionaran en la versión 1.3  y cuando llegaremos a una version 2.0, mientras tanto podemos ir cacharriando con la versión de Processing para Android que promete ser la versión oficial de Processing para dispositivos móviles.</p>
<ul>
<li>Processing for Android<br />
<a title="Processing for Android" href="http://android.processing.org" >http://android.processing.org</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.marlonj.com/blog/2010/07/nueva-version-de-processing-llega-la-1-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comunicación de la tarjeta Arduino con el computador</title>
		<link>http://blog.jorgeivanmeza.com/2009/06/comunicacion-de-la-tarjeta-arduino-con-el-computador/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/06/comunicacion-de-la-tarjeta-arduino-con-el-computador/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 03:01:37 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[Serial]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1780</guid>
		<description><![CDATA[Introducción.
La tarjeta Arduino incluye un puerto serial que puede accederse a través de los pines digitales 0 (RX) y 1 (TX) o desde el computador a través del puerto USB.  Esto se realiza a través del objeto Serial con el que es posible realizar las siguientes acciones.

Serial.begin: Establecer la tasa de transmisión de datos (bits [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>La tarjeta <a href="http://arduino.cc/" >Arduino</a> incluye un puerto serial que puede accederse a través de los pines digitales 0 (RX) y 1 (TX) o desde el computador a través del puerto USB.  Esto se realiza a través del objeto <a href="http://arduino.cc/en/Reference/Serial" >Serial</a> con el que es posible realizar las siguientes acciones.</p>
<ul>
<li><a href="http://arduino.cc/en/Serial/Begin" ><span>Serial.begin</span></a>: Establecer la tasa de transmisión de datos (bits por segundo - bps).</li>
<li><a href="http://arduino.cc/en/Serial/Available" ><span>Serial.available</span></a>: Verificar si hay bytes pendientes por ser leidos en el puerto.</li>
<li><a href="http://arduino.cc/en/Serial/Read" ><span>Serial.read</span></a>: Leer bytes del puerto serial.</li>
<li><a href="http://arduino.cc/en/Serial/Flush" ><span>Serial.flush</span></a>: Limpiar el <em>buffer</em> de entrada.</li>
<li><a href="http://arduino.cc/en/Serial/Flush" ><span>Serial.print</span></a> y <a href="http://arduino.cc/en/Serial/Println" ><span>Serial.println</span></a>: Enviar información a través del puerto serial.</li>
<li><a href="http://arduino.cc/en/Serial/Write" ><span>Serial.write</span></a>: Enviar información binaria a través del puerto serial.</li>
</ul>
<h2>Descripción general de las funciones de E/S.</h2>
<h3>Establecer tasa de transmisión de datos.</h3>
<pre class="cpp">void Serial.begin(int velocidad);</pre>
<ul>
<li>Debe realizarse como paso previo a la emisión/recepción de información a través del puerto serial.</li>
<li>La tasa puede ser una de las estándar: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 y 115200, o cualquiera personalizada.</li>
<li>La velocidad utilizada para realizar la conexión con el computador es de 9600.</li>
</ul>
<h3>Verificar bytes pendientes por lectura.</h3>
<pre class="cpp">int Serial.available();</pre>
<ul>
<li>Como su nombre lo indica, la transmisión de información a través del puerto serial se realiza de manera serial, es decir un byte a la vez.</li>
<li>Este método permite verificar si hay bytes pendientes de lectura retornando el número de bytes disponibles en el <em>buffer</em> del puerto serial.</li>
<li>El <em>buffer</em> del puerto serial puede retener hasta 128 bytes.</li>
<li>Retorna 0 si no hay bytes pendientes de lectura en el puerto.</li>
</ul>
<h3>Leer información.</h3>
<pre class="cpp">int Serial.read();</pre>
<ul>
<li>Obtiene el siguiente byte disponible en el <em>buffer </em>del puerto serial.</li>
<li>Retorna -1 si no hay información disponible.</li>
</ul>
<h3>Limpiar el <em>buffer</em> de entrada.</h3>
<pre class="cpp">void Serial.flush();</pre>
<ul>
<li>Limpia el <em>buffer</em> de entrada del puerto serial, descartando cualquier contenido que se encuentre allí.</li>
</ul>
<h3>Enviar información.</h3>
<pre class="cpp">void Serial.print(datos);
void Serial.print(datos, tipo);
void Serial.println(datos);
void Serial.println(datos, tipo);</pre>
<ul>
<li>Envían la información (<span>datos</span>) en el formato especificado (<span>tipo</span>) a través del puerto serial.</li>
<li>El formato (<span>tipo</span>) puede ser uno de los siguientes.
<ul>
<li><span>DEC</span>: representación en cadena de un número decimal (<span>79</span>).</li>
<li><span>HEX</span>: representación en cadena de un número hexadecimal (<span>4F</span>).</li>
<li><span>OCT</span>: representación en cadena de un número octal (<span>117</span>).</li>
<li><span>BIN</span>: representación en cadena de un número binario (<span>1</span><span>001111</span>).</li>
<li><span>BYTE</span>: un único byte.</li>
</ul>
</li>
<li>Si no se especifica un formato (<span>tipo</span>), se utiliza por defecto a <span>DEC</span>.</li>
<li>La diferencia entre <span>print</span> y <span>println</span> es que el segundo agrega un retorno de carro (ASCII 13 o '<span>\r</span>') y un salto de línea (ASCII 10 o '<span>\n</span>') al final de de la información enviada.</li>
</ul>
<h3>Enviar información binaria.</h3>
<pre class="cpp">void Serial.write(datos);
void Serial.write(buffer, longitud);</pre>
<ul>
<li>Envía información binaria: un byte o una secuencia de bytes, al puerto serial.</li>
<li>Los <span>datos</span> a enviarse pueden ser un número o una cadena.</li>
<li>Si se desea enviar un arreglo (<span>buffer</span>) es necesario especificar su <span>longitud</span>.</li>
</ul>
<h2>Depurando la transmisión de datos.</h2>
<p>Es posible revisar fácilmente con el IDE de Arduino lo que la tarjeta está transmitiendo al computador a través del puerto USB mediante el <strong>Monitor Serial</strong>.  Esto es muy útil también para la depuración rápida de los <em>sketches</em>.</p>
<p>Para activar el <strong>Monitor Serial</strong> se debe presionar el ícono <a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/serial_monitor.gif"><img class="alignnone size-full wp-image-1785" title="serial_monitor" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/serial_monitor.gif" alt="serial_monitor" width="21" height="21" /></a> y utilizar las funciones de envío de información mencionadas anteriormente, de esta manera aparecerá en la sección inferior del IDE una consola donde se podrán apreciar los mensajes enviados por la Arduino.</p>
<div id="_mcePaste" >
<p>void Serial.print(datos, tipo);</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/06/comunicacion-de-la-tarjeta-arduino-con-el-computador/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El cuarto sketch: The LED with fotoresistor</title>
		<link>http://blog.jorgeivanmeza.com/2009/06/el-cuarto-sketch-the-led-with-fotoresistor/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/06/el-cuarto-sketch-the-led-with-fotoresistor/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 22:58:56 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Hipergalaxia]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1776</guid>
		<description><![CDATA[Descripción.
Este sketch utiliza una fotoresistencia como sensor, es decir, la cantidad de luz recibida por el componente determina la cantidad de voltaje que es permitido pasar a través de él.  Como actuador se utiliza el mismo LED de siempre que nos mostrará de manera visual cuanto voltaje atravieza por el sistema.
A mayor cantidad de luz [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1778" class="wp-caption aligncenter" ><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/TheLEDWithPhotoResistor.png"><img class="size-full wp-image-1778" title="TheLEDWithPhotoResistor" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/TheLEDWithPhotoResistor.png" alt="Sketch 'The LED with fotoresistor'." width="640" height="552" /></a><p class="wp-caption-text">Sketch &#39;The LED with fotoresistor&#39;.</p></div>
<h2>Descripción.</h2>
<p>Este <em>sketch</em> utiliza una fotoresistencia como sensor, es decir, la cantidad de luz recibida por el componente determina la cantidad de voltaje que es permitido pasar a través de él.  Como actuador se utiliza el mismo LED de siempre que nos mostrará de manera visual cuanto voltaje atravieza por el sistema.</p>
<p>A mayor cantidad de luz percibida el LED tendrá un mayor brillo.</p>
<h2>Implementación.</h2>
<h3>Hardware.</h3>
<p>En términos de la implementación del hardware suceden dos cosas interesantes.</p>
<ol>
<li>Como ya se había hecho en el <em>sketch</em> anterior, <a href="http://blog.jorgeivanmeza.com/2009/06/el-tercer-sketch-the-led-with-button-and-fade/" >The LED with button and fade</a>, para provocar el efecto de intensidad de luz del LED es necesario conectarlo a uno de los pines con soporte para modulación por ancho de pulsos (PWM), es decir, a los pines 9, 10 y 11, y enviarle la inforamción correspondiente con la instrucción <span>analogWrite</span>.</li>
<li>La foto resistencia, a diferencia del botón que tiene sólo dos estados: presionado o no presionado, es capaz de producir un rango de valores según la cantidad de luz que recibe en un momento específico del tiempo.  Para leer su información es necesario utilizar las entradas (pines) análogos ubicados en la parte inferior derecha de la tarjeta Arduino y leer su información con la instrucción <span>analogRead</span>.</li>
</ol>
<h3>Software.</h3>
<p>En términos de software el <em>sketch</em> es muy sencillo, sólo debe realizar los siguientes pasos.</p>
<ol>
<li>Leer estado del sensor.</li>
<li>Modificar la intensidad del LED de acuerdo a lo leído del sensor.</li>
<li>Esperar un momento para reinciar la iteración.</li>
</ol>
<p>Es <span><strong>muy importante</strong></span> tener en cuenta que la instrucción <span>analogRead</span> retornará un número entre 0 y 1023 mientras que la instrucción <span>analogWrite</span> espera un valor numérico como parámetro entre 0 y 255, por esto será necesario dividir entre 4 el valor de la lectura hacia la escritura si se va a utilizar directamente.</p>
<pre class="cpp">#define SENSOR 0                    // Analog pin for the fotoresistor
#define LED    9                    // Digital pin (PWM) for the LED

void setup()
{
  pinMode(LED, OUTPUT);            // LED pin is output

  // Analog pins are always INPUT.
}

void loop()
{
  int fr = analogRead(SENSOR);      // Read the status of the fotoresistor

  analogWrite(LED, fr/4);           // Change the brightness of the LED
                                    // acording the fotoresistor's value
  delay(10);                        // Wait a moment fot next iteration
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/06/el-cuarto-sketch-the-led-with-fotoresistor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El tercer sketch: The LED with button and fade</title>
		<link>http://blog.jorgeivanmeza.com/2009/06/el-tercer-sketch-the-led-with-button-and-fade/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/06/el-tercer-sketch-the-led-with-button-and-fade/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 04:36:15 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Hipergalaxia]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1757</guid>
		<description><![CDATA[Descripción.
Este sketch es la continuación del anterior, The LED with button and state, agregándole el efecto de desvanecimiento mientras se modifica la intensidad del LED.
Si se mantiene presionado el botón (mas de 500 ms.) la intensidad del LED aumenta hasta llegar a su máximo, momento en el cual se apaga por completo y vuelve a [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1758" class="wp-caption aligncenter" ><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/sketch3.png"><img class="size-full wp-image-1758" title="sketch3" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/sketch3.png" alt="Sketch 'The LED with button and fade'" width="496" height="409" /></a><p class="wp-caption-text">Sketch &#39;The LED with button and fade&#39;</p></div>
<h2>Descripción.</h2>
<p>Este <em>sketch</em> es la continuación del anterior, <a href="http://blog.jorgeivanmeza.com/2009/06/modificacion-del-segundo-sketch-the-led-with-button-and-state/" ><em>The LED with button and state</em></a>, agregándole el efecto de desvanecimiento mientras se modifica la intensidad del LED.</p>
<p>Si se mantiene presionado el botón (mas de 500 ms.) la intensidad del LED aumenta hasta llegar a su máximo, momento en el cual se apaga por completo y vuelve a iniciar el proceso.  Si se presiona el botón por un momento corto (menos de 500 ms.) la luz del LED se desvanece hasta llegar a cero brillo.</p>
<p>El proceso aparente de desvanecimiento se logra con la combinación de pulsos cada vez mas largos (o mas cortos) que se traducen longitudes de tiempo en que el LED permanece encendido, esto unido al efecto de persistencia del ojo humano (lentitud en el refrescamiento de la imagen de la retina).</p>
<h2>Implementación.</h2>
<h3>Hardware.</h3>
<p>Para hacer esto se utilizan los pines digitales 9, 10 u 11 que soportan <a href="http://es.wikipedia.org/wiki/PWM" >Modulación por ancho de pulsos (PWM)</a> y permiten manipular la longitud de los pulsos, por esto se movió el LED del pin 13 que había sido habitual hasta ahora, al 9.  Probablemente habría sido precavido agregar una resistencia entre el LED y la tierra (cable azul).</p>
<p>La magia del desvanecimiento se observa en el software.</p>
<h3>Software.</h3>
<p>En términos generales el <em>sketch</em> realiza lo siguiente.</p>
<ul>
<li>Si se presionó el botón:
<ul>
<li>Cambia el estado a encendido (<span>HIGH</span>).</li>
<li>Almacena el momento en que fue presionado.</li>
</ul>
</li>
<li>Si se presionó el botón y se mantiene presionado (mas de 500 ms.):
<ul>
<li>Aumenta el brillo.</li>
<li>Reinicia el brillo (<span>0</span>) si este excede el máximo (<span>255</span>).</li>
</ul>
</li>
<li>Si se presionó el botón corto tiempo (menos de 500 ms.):
<ul>
<li>Cambia el estado a apagado (<span>LOW</span>).</li>
</ul>
</li>
<li>Almacena el estado actual del botón como último estado para la siguiente iteración.</li>
<li>Si el estado es encendido aumenta el brillo con la instrucción: <span>analogWrite(LED, brightness)</span>.</li>
<li>Si el estado es apagado disminuye gradualmente el brillo del LED hasta llegar a cero.</li>
</ul>
<p>Se debe tener siempre en cuenta que la función <span>analogRead</span> retorna un entero entre 0 y 1023 mientras que <span>analogWrite</span> recibe un entero entre 0 y 255, un cuarto del rango del valor retornado por la lectura.</p>
<pre class="cpp">#define LED 9              // Digital PIN for the LED
#define BUTTON 7           // Digital PIN for the Button

int brightness          = 0;      // Amount of light of LED
int lastValue           = LOW;    // Last button status
int state               = LOW;    // Current button status
unsigned long startTime = 0;      // Time of last button pressed

/**
 * Executes only once when the sketch starts, sets initial values
 */

void setup ()
{
  pinMode(LED, OUTPUT);      // LED pin is output
  pinMode(BUTTON, INPUT);    // Button pin is input
}

/**
 * Executes continuously and infinitely
 */

void loop()
{
  int button = digitalRead(BUTTON);         // Reads the button status

  if(button == HIGH &amp;&amp; lastValue == LOW)    // The button is pressed
  {
    state = HIGH;                           // The state is ON now

    startTime = millis();                   // Gets the current time

    delay(10);                              // Waits 10 ms.
  }

  if(button == HIGH &amp;&amp; lastValue == HIGH)   // The button keeps beign pressed
  {
    if(millis() - startTime &gt;= 500)         // Checks if the button is pressed by
    {                                       // more than 500 ms.
      brightness ++;                        // Amounts the brightness of the LED
      delay(15);                            // Waits for 15 ms.

      if(brightness &gt; 255)                  // If the brightness exceeds 255
        brightness = 0;                     // backs to 0, its a byte
    }
  }

  if(button == LOW &amp;&amp; lastValue == HIGH)    // The button is released
  {
    if(millis() - startTime &lt; 500)          // and was pressed less than 500 ms.
      state = LOW;                          // The state is OFF now
  }

  lastValue = button;                       // Sets the current button status as
                                            // last value for the next iteration

  if(state == HIGH)                         // If the state is ON ...
    analogWrite(LED, brightness);           // Make the LED shine with its new brightness
  else                                      // Else, because its OFF ...
    fadeOut();                              // Turn it off gracefully
}

/**
 * Turns off the LED by reducing its brightness until total darkness
 */

void fadeOut()
{
  for(int i=brightness; i&gt;=0; i--)          // Begins with the current level of brightness
  {                                         // decreasing by units until complete off
    analogWrite(LED, i);                    // Sends the reduced brightness to the LED
    delay(10);                              // Waits for 10 ms.
  }

  brightness = 0;                           // Resets the brightness reference to zero
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/06/el-tercer-sketch-the-led-with-button-and-fade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modificación del segundo sketch: The LED with button and state</title>
		<link>http://blog.jorgeivanmeza.com/2009/06/modificacion-del-segundo-sketch-the-led-with-button-and-state/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/06/modificacion-del-segundo-sketch-the-led-with-button-and-state/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 00:36:58 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Hipergalaxia]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1748</guid>
		<description><![CDATA[Descripción.
Este sketch se encuentra completamente basado en el anterior al cual se le modifica su funcionalidad permitiendo manipular un estado para el LED, es decir, cuando se presiona el botón el LED se enciende, aún sin necesidad de que el usuario final continúe presionandolo; este comportamiento se mantendrá hasta que el usuario presione nuevamente el [...]]]></description>
			<content:encoded><![CDATA[<h2>Descripción.</h2>
<p>Este <em>sketch</em> se encuentra completamente basado en el <a href="http://blog.jorgeivanmeza.com/2009/06/08/el-segundo-sketch-the-led-with-button/" >anterior</a> al cual se le modifica su funcionalidad permitiendo manipular un estado para el LED, es decir, cuando se presiona el botón el LED se enciende, aún sin necesidad de que el usuario final continúe presionandolo; este comportamiento se mantendrá hasta que el usuario presione nuevamente el botón para apagar el LED.</p>
<p>Ya que los cambios introducidos desde el <em>sketch</em> anterior corresponden a su funcionalidad, el hardware permanece sin variaciones y estas son introducidas en el software.</p>
<h2>Implementación.</h2>
<h3>Software.</h3>
<pre class="cpp">#define LED 13              // Digital PIN for the LED
#define BUTTON 7            // Digital PIN for the Button

int state = 0;              // The current state of the LED
int lastState = 0;          // The past state of the button

void setup ()
{
  pinMode(LED, OUTPUT);      // LED pin is output: turn it on/off
  pinMode(BUTTON, INPUT);    // Button pin is input: read it
}

void loop()
{
  int currentState = digitalRead(BUTTON);

  // Consider a button's change of state only when is pressed
  if (lastState == LOW &amp;&amp; currentState == HIGH)
  {
    state = !state;

    delay(10);
  }

  lastState = currentState;

  digitalWrite(LED, state);
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/06/modificacion-del-segundo-sketch-the-led-with-button-and-state/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El segundo sketch: The LED with button</title>
		<link>http://blog.jorgeivanmeza.com/2009/06/el-segundo-sketch-the-led-with-button/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/06/el-segundo-sketch-the-led-with-button/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 21:22:12 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Hipergalaxia]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1741</guid>
		<description><![CDATA[Descripción.
Este sketch incluye el uso de un sensor (botón de pulsación) y un actuador (LED) nos permite manipular el ambiente de acuerdo a lo percibido.
La tarjeta Arduino es capaz de notar que ha sido presionado el botón (debajo del dedo en la imagen) y esta responde encendiendo el LED.  De manera antagónica, cuando el botón [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1742" class="wp-caption aligncenter" ><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/theledwithbutton.png"><img class="size-full wp-image-1742" title="theledwithbutton" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/theledwithbutton.png" alt="Sketch 'The LED with a button'" width="525" height="409" /></a><p class="wp-caption-text">Sketch &#39;The LED with a button&#39;</p></div>
<h2>Descripción.</h2>
<p>Este <em>sketch</em> incluye el uso de un <em>sensor</em> (botón de pulsación) y un <em>actuador</em> (LED) nos permite manipular el ambiente de acuerdo a lo percibido.</p>
<p>La tarjeta Arduino es capaz de notar que ha sido presionado el botón (debajo del dedo en la imagen) y esta responde encendiendo el LED.  De manera antagónica, cuando el botón es liberado, la tarjeta Arduino apaga el LED.</p>
<h2>Implementación.</h2>
<h3>Hardware.</h3>
<ul>
<li>En el pin digital 13 se inserta nuevamente el LED.</li>
<li>El botón se inserta en la <em>protoboard</em>.</li>
<li>Una de las patas del botón va a Power-5v.</li>
<li>La otra pata va al pin 7 (entrada - lectura de datos).</li>
<li>Una resistencia une la segunda pata del botón con la tierra.</li>
</ul>
<h3>Software.</h3>
<pre class="cpp">#define LED 13              // Digital PIN for the LED
#define BUTTON 7            // Digital PIN for the Button

void setup ()
{
  pinMode(LED, OUTPUT);      // LED pin is output: turn it on/off
  pinMode(BUTTON, INPUT);    // Button pin is input: read it
}

void loop()
{
  if (digitalRead(BUTTON) == HIGH)    // Button is pressed
    digitalWrite(LED, HIGH);          // Turn the LED on
  else                                // Button is NOT pressed
    digitalWrite(LED, LOW);           // Turn the LED off
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/06/el-segundo-sketch-the-led-with-button/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mi primer sketch con Arduino: The blinking LED</title>
		<link>http://blog.jorgeivanmeza.com/2009/06/mi-primer-sketch-con-arduino-the-blinking-led/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/06/mi-primer-sketch-con-arduino-the-blinking-led/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 05:00:28 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Hipergalaxia]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1734</guid>
		<description><![CDATA[Descripción.
Este es tal vez el programa mas sencillo que se puede hacer con Arduino, lo utilizo para verificar el éxito del proceso de instalación recién realizado.
Este sketch enciende y apaga un led con la frecuencia proporcional a los tiempos de retardo que se especifiquen.  Estos son los pasos que realiza el algoritmo.

Define al pin digital [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1738" class="wp-caption aligncenter" ><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/theblinkingled.png"><img class="size-full wp-image-1738" title="theblinkingled" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/theblinkingled.png" alt="The blinking LED" width="566" height="424" /></a><p class="wp-caption-text">The blinking LED</p></div>
<h2>Descripción.</h2>
<p>Este es tal vez el programa mas sencillo que se puede hacer con Arduino, lo utilizo para verificar el éxito del <a href="http://blog.jorgeivanmeza.com/2009/06/07/instalacion-de-la-plataforma-arduino-0016-en-linux-ubuntu-904/" >proceso de instalación</a> recién realizado.</p>
<p>Este <em>sketch</em> enciende y apaga un led con la frecuencia proporcional a los tiempos de retardo que se especifiquen.  Estos son los pasos que realiza el algoritmo.</p>
<ol>
<li>Define al pin digital 13 como la constante <span>LED</span>.</li>
<li>Convierte al pin <span>LED</span> como salida (escribir información).</li>
<li>Realiza infinitamente la siguiente subrutina.
<ol>
<li>Enciende el <span>LED</span>.</li>
<li>Espera un segundo.</li>
<li>Apaga el <span>LED</span>.</li>
<li>Espera dos tercios de segundo.</li>
</ol>
</li>
</ol>
<h2>Implementación.</h2>
<h3>Hardware.</h3>
<ul>
<li>Tome un LED e inserte su pata positiva (mas larga) en el pin digital número 13 y su pata negativa (mas corta) en el pin digital de tierra (<span>GND</span>) ubicado al lado izquierdo del pin 13.</li>
</ul>
<p>Este paso es opcional, si no se utiliza un LED "externo", el software utilizará el LED que incluye la tarjeta Arduino para propósitos de experimentación.</p>
<h3>Software.</h3>
<pre class="cpp">#define LED 13              // The LED is on 13th digital pin

void setup()
{
  pinMode(LED, OUTPUT);    // The LED digital pin is an output
}

void loop()
{
  digitalWrite(LED, HIGH);  // Turns the LED on
  delay(1000);              // Waits for a second

  digitalWrite(LED, LOW);   // Turns the LED off
  delay(666);               // Waits for 2/3 of second
}</pre>
<h2>Despliegue.</h2>
<ol>
<li>Digite el código anterior en el IDE de Arduino.</li>
<li>Presione <a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/save.gif"><img class="size-full wp-image-1737 alignnone" title="save" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/save.gif" alt="save" width="21" height="21" /></a> para almacenar el código.  Este paso es importante, de lo contrario recibirá mensajes de error del siguiente estilo.<span>Couldn't determine program size: NullPointerException</span></li>
<li>Presione <a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/play.gif"><img class="alignnone size-full wp-image-1736" title="play" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/play.gif" alt="play" width="23" height="23" /></a> para verificar el código y de ser posible, si no hay errores, compilarlo.</li>
<li>Presione <a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/export.gif"><img class="alignnone size-full wp-image-1735" title="export" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/export.gif" alt="export" width="21" height="21" /></a> para enviar el software binario al microcontrolador de la tarjeta Arduino.</li>
<li>Observe la tarjeta Arduino, el LED deberá estar titilando según las instrucciones del código.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/06/mi-primer-sketch-con-arduino-the-blinking-led/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalación de la plataforma Arduino 0016 en Linux Ubuntu 9.04</title>
		<link>http://blog.jorgeivanmeza.com/2009/06/instalacion-de-la-plataforma-arduino-0016-en-linux-ubuntu-904/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/06/instalacion-de-la-plataforma-arduino-0016-en-linux-ubuntu-904/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 04:07:19 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1731</guid>
		<description><![CDATA[Procedimiento.
Instalar Java.
$ sudo aptitude install sun-java6-jre
$ sudo update-alternatives --config java

Instalar otras dependencias requeridas.
$ sudo aptitude install gcc-avr avr-libc
Descargar la última versión de Arduino disponible en http://arduino.cc/en/Main/Software.
$ cd ~/ &#38; mkdir Arduino &#38; cd Arduino
$ wget http://arduino.googlecode.com/files/arduino-0016-linux.tgz
$ tar zxvf arduino-0016-linux.tgz
Conectar la tarjeta al computador a través del cable USB.
$ cd arduino-0016/
$ ./arduino
Seleccionar el puerto serial (emulado) [...]]]></description>
			<content:encoded><![CDATA[<h2>Procedimiento.</h2>
<p>Instalar Java.</p>
<p><span>$ sudo aptitude install sun-java6-jre</span></p>
<p><span>$ sudo update-alternatives --config java<br />
</span></p>
<p>Instalar otras dependencias requeridas.</p>
<p><span>$ sudo aptitude install gcc-avr avr-libc</span></p>
<p>Descargar la última versión de Arduino disponible en <a href="http://arduino.cc/en/Main/Software" >http://arduino.cc/en/Main/Software</a>.</p>
<p><span>$ cd ~/ &amp; mkdir Arduino &amp; cd Arduino</span></p>
<p><span>$ wget http://arduino.googlecode.com/files/arduino-<strong>0016-linux</strong>.tgz</span></p>
<p><span>$ tar zxvf arduino-<strong>0016-linux</strong>.tgz</span></p>
<p>Conectar la tarjeta al computador a través del cable USB.</p>
<p><span>$ cd arduino-0016/</span></p>
<p><span>$ ./arduino</span></p>
<p>Seleccionar el puerto serial (emulado) en el cual se encuentra la tarjeta.</p>
<p>Elija el menú <strong>Tools</strong> &gt; <strong>Serial Port</strong>.</p>
<p>Seleccione el puerto USB disponible, probablemente sea <span>/dev/ttyUSB0</span>.</p>
<h2>Enlaces.</h2>
<ul>
<li>Download the Arduino software.<br />
<a href="http://arduino.cc/en/Main/Software" >http://arduino.cc/en/Main/Software</a></li>
<li>Installing Arduino on Linux.<br />
<a href="http://www.arduino.cc/playground/Learning/Linux" >http://www.arduino.cc/playground/Learning/Linux</a>
<ul>
<li>Install Arduino on Ubuntu Linux.<br />
<a href="http://www.arduino.cc/playground/Linux/Ubuntu" > http://www.arduino.cc/playground/Linux/Ubuntu</a></li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/06/instalacion-de-la-plataforma-arduino-0016-en-linux-ubuntu-904/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Una primera mirada a Arduino</title>
		<link>http://blog.jorgeivanmeza.com/2009/06/una-primera-mirada-a-arduino/</link>
		<comments>http://blog.jorgeivanmeza.com/2009/06/una-primera-mirada-a-arduino/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 03:24:07 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Sindicados]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1729</guid>
		<description><![CDATA[Introducción.

Es una plataforma de hardware y software de código abierto.
Por este motivo, es posible obtener los planos del circuito, adquirir los componentes y ensamblar las tarjetas sin pagar ningún tipo de licenciamiento o de regalías.  De igual manera, también es posible adquirir la tarjeta ya ensamblada.
Su costo es bajo con respecto a soluciones análogas.
Fue diseñada [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<ul>
<li>Es una plataforma de hardware y software de código abierto.</li>
<li>Por este motivo, es posible obtener los <a href="http://arduino.cc/en/Main/ArduinoBoardSerialSingleSided3" >planos del circuito</a>, adquirir los componentes y ensamblar las tarjetas sin pagar ningún tipo de licenciamiento o de regalías.  De igual manera, también es posible <a href="http://www.marlonj.com/blog/tienda/" >adquirir la tarjeta ya ensamblada</a>.</li>
<li>Su costo es bajo con respecto a soluciones análogas.</li>
<li>Fue diseñada pensando en los artistas, diseñadores, entusiastas y en cualquiera interesado en crear objetos y ambientes interactivos.</li>
<li>Su principal virtud es la de permitir crear prototipos de manera rápida y flexible, evitando la necesidad de desarrollar todo desde cero.</li>
<li>Permite percibir el ambiente mediante gran cantidad de <em>sensores</em> e interactuar con él mediante la manipulación de distintos <em>actuadores</em>.</li>
<li>El microcontrolador se programa en el <a href="http://arduino.cc/en/Reference/HomePage" >lenguaje de Arduino</a> el cual se basa en <a href="http://wiring.org.co/" >Wiring</a> y que a su vez es similar en su sintáxis al lenguaje C.</li>
<li>Los proyectos desarrollados con esta plataforma pueden actuar de manera independiente o hacerlo directamente con el software en un computador.</li>
<li>Su ambiente de desarrollo es multiplataforma, se ejecuta en Windows, Macintosh OS X y Linux.</li>
<li>Su conexión se realiza vía USB en lugar de Serial.</li>
<li>Su comunidad de usuarios es muy activa y la liberación de mejoras es frecuente.</li>
</ul>
<h2>La plataforma.</h2>
<ul>
<li>Se encuentra formada por dos partes fundamentales.
<ul>
<li>El hardware: la tarjeta Arduino.</li>
<li>El software: el Arduino IDE (<em>Integrated Development Enviroment</em>).</li>
</ul>
</li>
<li>Al ser una solución de alto nivel que combina el hardware con el software permite la modificación ágil y flexible de los prototipos elaborados.</li>
</ul>
<h3>El hardware.</h3>
<ul>
<li>La tarjeta Arduino se basa en el microcontrolador <a href="http://www.atmel.com/dyn/products/Product_card.asp?part_id=3303" >ATmega168</a>.</li>
<li>Su conexión con el computador es a través del puerto USB.</li>
<li>Existen varias versiones de la tarjeta.</li>
<li>Cuenta con pines análogos y digitales de entrada y de salida.</li>
<li>Su alimentación se puede proveer a tarvés del puerto USB, de cargadores USB y de adaptadores AC de 9v.</li>
</ul>
<h3>El software.</h3>
<ul>
<li>Permite el desarrollo de los <em>sketch</em> (programas).
<ul>
<li>Escritura.</li>
<li>Verificación (<em>verify</em>).</li>
<li>Conversión a lenguaje C.</li>
<li>Compilación.</li>
<li>Carga en la tarjeta (<em>upload</em>).</li>
</ul>
</li>
</ul>
<h2>Enlaces.</h2>
<ul>
<li>Arduino - sitio oficial.<br />
<a href="http://arduino.cc/" >http://arduino.cc/</a></li>
<li>Arduino - Introduction.<br />
<a href="http://arduino.cc/en/Guide/Introduction" >http://arduino.cc/en/Guide/Introduction</a></li>
<li>Getting started with Arduino.<br />
<a href="http://oreilly.com/catalog/9780596155513/" >http://oreilly.com/catalog/9780596155513/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/06/una-primera-mirada-a-arduino/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

