<?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>Jorge Iván Meza Martínez &#187; Arduino</title>
	<atom:link href="http://blog.jorgeivanmeza.com/tag/arduino/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jorgeivanmeza.com</link>
	<description>The Fire Within Me: &#34;knowledge will set you free&#34;</description>
	<lastBuildDate>Thu, 22 Jul 2010 06:31:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4113</generator>
		<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/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=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[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Arduino]]></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 [...]]]></description>
			<content:encoded><![CDATA[<h2>Introducción.</h2>
<p>La tarjeta <a href="http://arduino.cc/" target="_parent">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" target="_parent">Serial</a> con el que es posible realizar las siguientes acciones.</p>
<ul>
<li><a href="http://arduino.cc/en/Serial/Begin" target="_parent"><span style="font-family: courier new,courier;">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" target="_parent"><span style="font-family: courier new,courier;">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" target="_parent"><span style="font-family: courier new,courier;">Serial.read</span></a>: Leer bytes del puerto serial.</li>
<li><a href="http://arduino.cc/en/Serial/Flush" target="_parent"><span style="font-family: courier new,courier;">Serial.flush</span></a>: Limpiar el <em>buffer</em> de entrada.</li>
<li><a href="http://arduino.cc/en/Serial/Flush" target="_parent"><span style="font-family: courier new,courier;">Serial.print</span></a> y <a href="http://arduino.cc/en/Serial/Println" target="_parent"><span style="font-family: courier new,courier;">Serial.println</span></a>: Enviar información a través del puerto serial.</li>
<li><a href="http://arduino.cc/en/Serial/Write" target="_parent"><span style="font-family: courier new,courier;">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 style="font-family: courier new,courier;">datos</span>) en el formato especificado (<span style="font-family: courier new,courier;">tipo</span>) a través del puerto serial.</li>
<li>El formato (<span style="font-family: courier new,courier;">tipo</span>) puede ser uno de los siguientes.
<ul>
<li><span style="font-family: courier new,courier;">DEC</span>: representación en cadena de un número decimal (<span style="font-family: courier new,courier;">79</span>).</li>
<li><span style="font-family: courier new,courier;">HEX</span>: representación en cadena de un número hexadecimal (<span style="font-family: courier new,courier;">4F</span>).</li>
<li><span style="font-family: courier new,courier;">OCT</span>: representación en cadena de un número octal (<span style="font-family: courier new,courier;">117</span>).</li>
<li><span style="font-family: courier new,courier;">BIN</span>: representación en cadena de un número binario (<span style="font-family: courier new,courier;">1</span><span style="font-family: courier new,courier;">001111</span>).</li>
<li><span style="font-family: courier new,courier;">BYTE</span>: un único byte.</li>
</ul>
</li>
<li>Si no se especifica un formato (<span style="font-family: courier new,courier;">tipo</span>), se utiliza por defecto a <span style="font-family: courier new,courier;">DEC</span>.</li>
<li>La diferencia entre <span style="font-family: courier new,courier;">print</span> y <span style="font-family: courier new,courier;">println</span> es que el segundo agrega un retorno de carro (ASCII 13 o &#8216;<span style="font-family: courier new,courier;">\r</span>&#8216;) y un salto de línea (ASCII 10 o &#8216;<span style="font-family: courier new,courier;">\n</span>&#8216;) 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 style="font-family: courier new,courier;">datos</span> a enviarse pueden ser un número o una cadena.</li>
<li>Si se desea enviar un arreglo (<span style="font-family: courier new,courier;">buffer</span>) es necesario especificar su <span style="font-family: courier new,courier;">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" style="overflow: hidden; position: absolute; left: -10000px; top: 568px; width: 1px; height: 1px;">
<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/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=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[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Arduino]]></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 [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1778" class="wp-caption aligncenter" style="width: 650px"><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/" target="_blank">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 style="font-family: courier new,courier;">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 style="font-family: courier new,courier;">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 style="text-decoration: underline;"><strong>muy importante</strong></span> tener en cuenta que la instrucción <span style="font-family: courier new,courier;">analogRead</span> retornará un número entre 0 y 1023 mientras que la instrucción <span style="font-family: courier new,courier;">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/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=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[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Arduino]]></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 [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1758" class="wp-caption aligncenter" style="width: 506px"><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/" target="_blank"><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" target="_blank">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 style="font-family: courier new,courier;">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 style="font-family: courier new,courier;">0</span>) si este excede el máximo (<span style="font-family: courier new,courier;">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 style="font-family: courier new,courier;">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 style="font-family: courier new,courier;">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 style="font-family: courier new,courier;">analogRead</span> retorna un entero entre 0 y 1023 mientras que <span style="font-family: courier new,courier;">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>1</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/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=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[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Arduino]]></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 [...]]]></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/" target="_blank">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>1</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/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=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[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Arduino]]></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 [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1742" class="wp-caption aligncenter" style="width: 535px"><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>1</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/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=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[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Arduino]]></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 [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1738" class="wp-caption aligncenter" style="width: 576px"><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/" target="_parent">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 style="font-family: courier new,courier;">LED</span>.</li>
<li>Convierte al pin <span style="font-family: courier new,courier;">LED</span> como salida (escribir información).</li>
<li>Realiza infinitamente la siguiente subrutina.
<ol>
<li>Enciende el <span style="font-family: courier new,courier;">LED</span>.</li>
<li>Espera un segundo.</li>
<li>Apaga el <span style="font-family: courier new,courier;">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 style="font-family: courier new,courier;">GND</span>) ubicado al lado izquierdo del pin 13.</li>
</ul>
<p>Este paso es opcional, si no se utiliza un LED &#8220;externo&#8221;, 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 style="font-family: courier new,courier;">Couldn&#8217;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/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=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[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<category><![CDATA[Linux]]></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 [...]]]></description>
			<content:encoded><![CDATA[<h2>Procedimiento.</h2>
<p>Instalar Java.</p>
<p><span style="font-family: courier new,courier;">$ sudo aptitude install sun-java6-jre</span></p>
<p><span style="font-family: courier new,courier;">$ sudo update-alternatives --config java<br />
</span></p>
<p>Instalar otras dependencias requeridas.</p>
<p><span style="font-family: courier new,courier;">$ 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" target="_parent">http://arduino.cc/en/Main/Software</a>.</p>
<p><span style="font-family: courier new,courier;">$ cd ~/ &amp; mkdir Arduino &amp; cd Arduino</span></p>
<p><span style="font-family: courier new,courier;">$ wget http://arduino.googlecode.com/files/arduino-<strong>0016-linux</strong>.tgz</span></p>
<p><span style="font-family: courier new,courier;">$ 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 style="font-family: courier new,courier;">$ cd arduino-0016/</span></p>
<p><span style="font-family: courier new,courier;">$ ./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 style="font-family: courier new,courier;">/dev/ttyUSB0</span>.</p>
<h2>Enlaces.</h2>
<ul>
<li>Download the Arduino software.<br />
<a href="http://arduino.cc/en/Main/Software" target="_parent">http://arduino.cc/en/Main/Software</a></li>
<li>Installing Arduino on Linux.<br />
<a href="http://www.arduino.cc/playground/Learning/Linux" target="_parent">http://www.arduino.cc/playground/Learning/Linux</a></p>
<ul>
<li>Install Arduino on Ubuntu Linux.<br />
<a href="http://www.arduino.cc/playground/Linux/Ubuntu" target="_parent"> 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/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=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[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Linux/Solaris/BSD]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Hipergalaxia]]></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 [...]]]></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" target="_blank">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/" target="_blank">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" target="_blank">lenguaje de Arduino</a> el cual se basa en <a href="http://wiring.org.co/" target="_blank">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" target="_blank">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/" target="_parent">http://arduino.cc/</a></li>
<li>Arduino - Introduction.<br />
<a href="http://arduino.cc/en/Guide/Introduction" target="_parent">http://arduino.cc/en/Guide/Introduction</a></li>
<li>Getting started with Arduino.<br />
<a href="http://oreilly.com/catalog/9780596155513/" target="_blank">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>
		<item>
		<title>Desempacando mi primer Arduino</title>
		<link>http://blog.jorgeivanmeza.com/2009/06/desempacando-mi-primer-arduino/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=desempacando-mi-primer-arduino</link>
		<comments>http://blog.jorgeivanmeza.com/2009/06/desempacando-mi-primer-arduino/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 23:03:09 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Desarrollo de hardware]]></category>
		<category><![CDATA[Desarrollo de software]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Hipergalaxia]]></category>
		<guid isPermaLink="false">http://blog.jorgeivanmeza.com/?p=1720</guid>
		<description><![CDATA[Por fin este fin de semana tuve tiempo de desempacar mi primer Arduino.  Esta es, según su propio sitio web, una plataforma opensource para la elaboración de prototipos basados en hardware y software flexible y fácil de utilizar, desarrollado para artistas, diseñadores, entusiastas y cualquiera interesado en crear objetos o ambientes interactivos. En palabras [muy] [...]]]></description>
			<content:encoded><![CDATA[<p>Por fin este fin de semana tuve tiempo de desempacar mi primer Arduino.  Esta es, según su propio sitio web, una plataforma <em>opensource</em> para la elaboración de prototipos basados en hardware y software flexible y fácil de utilizar, desarrollado para artistas, diseñadores, entusiastas y cualquiera interesado en crear objetos o ambientes interactivos.</p>
<p>En palabras [muy] informales, una tarjetica que sirve para hacer proyectos interactivos basados en software y hardware, muy interesante sobre todo para ingenieros que ya se nos olvidó la electrónica y que preferimos el desarrollo de software a la manipulación del hardware de bajo nivel.  Todo un mundo por descubrir.</p>
<div id="attachment_1722" class="wp-caption aligncenter" style="width: 650px"><a href="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/arduino1.png"><img class="size-full wp-image-1722" title="arduino1" src="http://blog.jorgeivanmeza.com/wp-content/uploads/2009/06/arduino1.png" alt="Freeduino v1.20" width="640" height="466" /></a><p class="wp-caption-text">Freeduino v1.20</p></div>
<p>El <em>kit</em> incluye los siguientes elementos.</p>
<ul>
<li>Una <a href="http://www.marlonj.com/blog/tienda/venta-freeduino/" target="_blank">tarjeta Freeduino versión 1.20</a>.</li>
<li>Un cable USB.</li>
<li>Una <a href="http://es.wikipedia.org/wiki/Protoboard" target="_blank"><em>protoboard</em></a>.</li>
<li>Resistencias.</li>
<li>Leds.</li>
<li>Leds infrarrojos (emisor y receptor).</li>
<li>Fotoresistencia.</li>
<li>Cables.</li>
</ul>
<p>Este paquete y otro hardware similar (Freeduino, iDuino, LilyPads, etc.) se pueden adquirir facilmente en Colombia a través de la <a href="http://www.marlonj.com/blog/tienda/" target="_blank">Tienda de Marlonj</a> que tiene estos productos para la venta o el alquiler a precios bastante econónicos.</p>
<h2>Enlaces.</h2>
<ul>
<li>Arduino - web oficial.<br />
<a href="http://www.arduino.cc/" target="_blank">http://www.arduino.cc/</a></p>
<ul>
<li>Introducción.<br />
<a href="http://arduino.cc/en/Guide/HomePage" target="_blank">http://arduino.cc/en/Guide/HomePage</a></li>
<li>Ejemplos.<br />
<a href="http://arduino.cc/en/Tutorial/HomePage" target="_blank">http://arduino.cc/en/Tutorial/HomePage</a></li>
<li>Referencia del lenguaje.<br />
<a href="http://arduino.cc/en/Reference/HomePage" target="_blank">http://arduino.cc/en/Reference/HomePage</a></li>
<li>Descarga del software.<br />
<a href="http://arduino.cc/en/Main/Software" target="_blank">http://arduino.cc/en/Main/Software</a></li>
</ul>
</li>
<li>Arduino en español.<br />
<a href="http://www.arduino.cc/es/" target="_blank">http://www.arduino.cc/es/</a></p>
<ul>
<li>Como montar la tarjeta.<br />
<a href="http://arduino.cc/es/Metodologia/Montaje" target="_blank">http://arduino.cc/es/Metodologia/Montaje</a></li>
<li>Guía rápida.<br />
<a href="http://arduino.cc/es/Metodologia/GuiaRapida" target="_blank">http://arduino.cc/es/Metodologia/GuiaRapida</a></li>
<li>Foro.<br />
<a href="http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=espanol" target="_blank">http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?board=espanol</a></li>
</ul>
</li>
<li>Blog de Marlonj - sección de Arduino.<br />
<a href="http://www.marlonj.com/blog/tag/arduino/" target="_blank">http://www.marlonj.com/blog/tag/arduino/</a></li>
<li>Tienda de Marlonj.<br />
<a href="http://www.marlonj.com/blog/tienda/" target="_blank">http://www.marlonj.com/blog/tienda/</a></li>
<li>Arduino tutorial - learn electronics using Arduino.<br />
<a href="http://www.ladyada.net/learn/arduino/" target="_blank">http://www.ladyada.net/learn/arduino/</a></li>
<li>Arduino Programming Notebook.<br />
<a href="http://www.lulu.com/content/1108699" target="_blank">http://www.lulu.com/content/1108699</a></li>
<li>Taller de Arduino.<br />
<a href="http://www.iua.upf.edu/~cplatero/taller_arduinos/" target="_blank">http://www.iua.upf.edu/~cplatero/taller_arduinos/</a></li>
<li>Getting started with Arduino.<br />
<a href="http://oreilly.com/catalog/9780596155513/" target="_blank">http://oreilly.com/catalog/9780596155513/</a></li>
<li>Taller Arduino &#8220;Escuela de Artes Antonio López&#8221; Tomelloso.<br />
<a href="http://groups.google.es/group/arduino-tomelloso/files" target="_blank">http://groups.google.es/group/arduino-tomelloso/files</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.jorgeivanmeza.com/2009/06/desempacando-mi-primer-arduino/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
