<?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>It should work... &#187; AVR</title>
	<atom:link href="http://vierito.es/wordpress/tag/avr/feed/" rel="self" type="application/rss+xml" />
	<link>http://vierito.es/wordpress</link>
	<description>Cuando cualquier trasto es útil</description>
	<lastBuildDate>Sun, 20 May 2012 15:59:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Arduino MEGA y módulo XBee &#8211; Instalación en gentoo</title>
		<link>http://vierito.es/wordpress/2009/09/19/arduino-mega-y-modulo-xbee-instalacion-en-gentoo/</link>
		<comments>http://vierito.es/wordpress/2009/09/19/arduino-mega-y-modulo-xbee-instalacion-en-gentoo/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 23:37:13 +0000</pubDate>
		<dc:creator>vierito5</dc:creator>
				<category><![CDATA[electronics]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[Arduino Mega]]></category>
		<category><![CDATA[Arduino XBee Shield]]></category>
		<category><![CDATA[ATMEL]]></category>
		<category><![CDATA[AVR]]></category>
		<category><![CDATA[avr-gcc]]></category>
		<category><![CDATA[crossdev]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[microcontrolador]]></category>

		<guid isPermaLink="false">http://vierito.es/wordpress/?p=675</guid>
		<description><![CDATA[Mageles, Jaime y Bea me regalaron una Arduino MEGA! Fue una gran sorpresa y además la acompañaron del módulo wireless XBee Shield que usa tecnología Zigbee, que proporciona comunicación inalámbrica entre placas de este tipo u otros dispositivos Zigbee. Para quien no lo conozca, las Arduino son una plataforma de desarrollo electrónico enfocada al prototipado [...]]]></description>
			<content:encoded><![CDATA[<p><a title=\"Mageles\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL21hZ2VsZXMud29yZHByZXNzLmNvbQ==">Mageles</a>, Jaime y <a title=\"Kuasar\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2t1YXNhci5lcy9ibG9n">Bea</a> me regalaron una Arduino MEGA! Fue una gran sorpresa y además la acompañaron del módulo wireless XBee Shield que usa tecnología Zigbee, que proporciona comunicación inalámbrica entre placas de este tipo u otros dispositivos Zigbee.</p>
<p style="text-align: center;"><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA5L0FyZHVpbm9NZWdhLmpwZw=="><img class="size-medium wp-image-677  aligncenter" title="ArduinoMega" src="http://vierito.es/wordpress/wp-content/uploads/2009/09/ArduinoMega-480x249.jpg" alt="ArduinoMega" width="480" height="249" /></a><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA5L3hiZWUuanBn"><img class="size-full wp-image-680  aligncenter" title="xbee" src="http://vierito.es/wordpress/wp-content/uploads/2009/09/xbee.jpg" alt="xbee" width="300" height="300" /></a></p>
<p>Para quien no lo conozca, las <strong>Arduino</strong> son una plataforma de desarrollo electrónico enfocada al prototipado rápido <strong>cuyas especificaciones son totalmente libres</strong>. Existen varios modelos de placas para los diseños con características más o menos avanzadas y podremos trabajar con ellas tanto en Windows, Mac OS X ó GNU/Linux, sin tener que usar compiladores y/o herramientas de desarrollo de pago.</p>
<p>La mía es una <strong>Arduino MEGA</strong>, que es una mejora de la Duemilanove y la Diecimila gracias a su mayor I/O y capacidad de memoria, entre otras cosas. Las specs principales son:</p>
<ul>
<li>Microcontrolador Atmel AVR 8-bit MEGA1280 @16MHz</li>
<li>128kB FLASH MEM (4kB usados por el bootloader incluído, usado para poder cargar cógido directamente)</li>
<li>8kB SRAM</li>
<li>4kB EEPROM</li>
<li>54 pines digitales (soportan hasta 40mA): I/O, comunicación serie, interrupciones, 8-bit PWM, SPI, I2C, &#8230;</li>
<li>16 pines de entrada analógica con una resolución de 10bits, útil para todo tipo de sensores.</li>
</ul>
<p>Lo primero que tenemos que hacer para empezar a jugar es instalar las herramientas necesarias. En el árbol de paquete de Gentoo hay bastante para microcontroladores AVR (<em>$ eix -S avr</em> ) pero si además queremos afinar e ir a por el kit completo para Arduino tampoco tendremos problemas.</p>
<p><span id="more-675"></span></p>
<p>Necesitaremos una versión de Java (yo uso <em>sun-jdk-1.6</em>) además de los siguiente paquetes:</p>
<p><code># emerge crossdev jikes uisp rxtx</code></p>
<p>Yo, de antes, ya tenía instalado <em>avra</em> (AVR Assembler) y <em>avrdude</em> (para subir y bajar código a las microcontroladoras) que había usado para trastear con las <em>AVR Tiny2313</em>, <em>ATmega32</em> y <em>ATmega64</em> aunque en realidad casi siempre usé el IDE que te proporciona ATMEL de forma gratuita para Windows y alguna vez Bascom-AVR.</p>
<p>Una vez tengamos los paquetes básicos instalados <strong>necesitamos generar el <em>toolchain</em></strong> con el que vamos a trabajar para generar código compatible con la arquitectura AVR. Para ello nos ayudaremos de la herramienta crossdev:</p>
<p><code># crossdev -t avr -s4 --without-headers</code></p>
<p>Tardará un ratillo pero una vez termine ya dispondremos de nuestro flamante compilador <strong><em>avr-gcc</em>.</strong> Ahora nos bajamos el IDE que nos proporciona Arduino en <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5hcmR1aW5vLmNjL2VuL01haW4vU29mdHdhcmU=">http://www.arduino.cc/en/Main/Software</a>, lo descomprimimos y lo dejamos por ahora ahí. Dependiendo de versiones puede que algunos tengan que hacer un enlace (por supuesto respetando <em>paths</em> y versiones de tu sistema):</p>
<p><code>$ ln -s /usr/lib/binutils/avr/2.19.1/ldscripts/ ~/programs/arduino-0017/ldscripts</code></p>
<p>Dependiendo de distribuciones o la configuración será necesario estar en los grupos <em>tty</em> y <em>uucp</em>, pero para ahorrarte problemas añade el usuario a esos grupos.</p>
<p>Mmmm ¿qué mas necesitamos? Arduino se conecta por USB a nuestro ordenador y el kernel de linux nos proporciona el driver, yo ya lo tenía instalado pero si no:</p>
<p><code>Device Drivers -&gt; USB support -&gt; USB Serial Converter support -&gt; USB FTDI Single Port Serial Driver (EXPERIMENTAL)</code></p>
<p>Lo ponemos como módulo, compilamos y lo cargamos:</p>
<p><code># make &amp;&amp; make modules_install<br />
# modprobe ftdi_sio</code></p>
<p>Conectamos la Arduino y podremos ver si todo funciona:</p>
<p><code># dmesg<br />
usb 4-2: new full speed USB device using uhci_hcd and address 5<br />
usb 4-2: configuration #1 chosen from 1 choice<br />
ftdi_sio 4-2:1.0: FTDI USB Serial Device converter detected<br />
usb 4-2: Detected FT232RL<br />
usb 4-2: FTDI USB Serial Device converter now attached to ttyUSB0</code></p>
<p>OK! <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Volvemos al IDE que ya tenemos descomprimido y lo ejectuamos</p>
<p><code>$ ./arduino<br />
Experimental:  JNI_OnLoad called.<br />
Stable Library<br />
=========================================<br />
Native lib Version = RXTX-2.1-7<br />
Java lib Version   = RXTX-2.1-7</code></p>
<p><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDA5LzA5L2FyZHVpbm8wMS5wbmc="><img class="aligncenter size-full wp-image-678" title="arduino01" src="http://vierito.es/wordpress/wp-content/uploads/2009/09/arduino01.png" alt="arduino01" width="480" height="574" /></a></p>
<p>Ahora sólo nos faltará elegir en la configuración que queremos el <em>/dev/ttyUSB0</em> y que estamos usando una placa Arduino MEGA, et voilà!</p>
<p>Para probar el funcionamiento haremos un &#8220;Hello Word&#8221; al estilo electrónica, es decir, hacer parpadear un LED <img src='http://vierito.es/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Hay ejemplos por ahí pero el código sería:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">const</span> <span style="color: #993333;">int</span> ledPin <span style="color: #339933;">=</span>  <span style="color: #0000dd;">13</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// LED connected to digital pin 13</span>
&nbsp;
<span style="color: #993333;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	pinMode<span style="color: #009900;">&#40;</span>ledPin<span style="color: #339933;">,</span> OUTPUT<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// set pin 13 as output</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #993333;">void</span> loop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	digitalWrite<span style="color: #009900;">&#40;</span>ledPin<span style="color: #339933;">,</span> HIGH<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>   <span style="color: #666666; font-style: italic;">// set the LED on</span>
	delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                  <span style="color: #666666; font-style: italic;">// wait for a second</span>
	digitalWrite<span style="color: #009900;">&#40;</span>ledPin<span style="color: #339933;">,</span> LOW<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">// set the LED off</span>
	delay<span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>                  <span style="color: #666666; font-style: italic;">// wait for a second</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>A ver si busco ratos y hago algo interesante con mi nuevo juguete, ya no hay excusa. Si quieres saber por donde empezar acude a <a title=\"Arduino\" href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2FyZHVpbm8uY2M=">http://arduino.cc</a><br/><br/><i>&#8211;<br/>Fuente original en <a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNz">http://vierito.es/wordpress</a></i><br/><br/><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDgvMTAvMzAvZnByaW50LWxhLWltcGxlbWV0YWNpb24tZGVsLWRyaXZlci8=" rel=\"bookmark\" title=\"October 30, 2008\">[Fprint] La implemetación del driver</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDgvMDkvMjgvaG93LXRvLWNvbW8tcmVjdXBlcmFyLWdydWIv" rel=\"bookmark\" title=\"September 28, 2008\">[HOW TO] Cómo recuperar GRUB</a></li>
<li><a href="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3ZpZXJpdG8uZXMvd29yZHByZXNzLzIwMDgvMTEvMjEvcGFyYS1sb3MtYW1hbnRlcy1kZS14a2NkLWxsZWdhLw==" rel=\"bookmark\" title=\"November 21, 2008\">Para los amantes de XKCD llega&#8230;</a></li>
</ul>
<p><!-- Similar Posts took 5.770 ms --></p>
 <img src="http://vierito.es/wordpress/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=675" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://vierito.es/wordpress/2009/09/19/arduino-mega-y-modulo-xbee-instalacion-en-gentoo/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

