Arduino y el Robot Asuro(*)
(traducción de http://www.arduino.cc/playground/Learning/Asuro)
Construcción del Robot
Por el momento sólo es necesario montar la placa principal (la placa grande); Las instrucciones sobre el montaje, las encontrarás en el siguiente manual manual de Asuro o en el CD que viene con el Asuro).
El Manual viene en Inglés, pero siguiendo los gráficos que aparecen en él no tendrás ningún problema para su montaje. Si aún así no te aclaras, en el siguiente enlace encontrarás la información básica y en Castellano!.
Unas notas:
El oscilador (Q1:el pequeño componente marrón de tres patas) no tiene polaridad; así que se puede poner de cualquier forma.
Una vez montada, el Atmega8 que viene con el Robot, contiene un programa que realiza una comprobación o TEST de todos sus componentes y funcionalidades, de forma que se pueda detectar si se ha producido algún error durante el proceso de montaje. En el siguiente enlace se describe todo el proceso de comprobación y la resolución de problemas en Castellano!.
Nota(*) Si no puedes disponer de un Asuro, te lo puedes montar tú mismo, sólo tienes que comprar los componentes (Componentes-Asuro), y seguir el diagrama de conexión del Apéndice B del manual , o bien, seguir los esquemas obtenidos de la siguiente Wiki sobre el Asuro : Asuro Wiki. Está en alemán, pero los esquemas te pueden resultar útiles para el ensamblado.
Para la construcción del chasis o tomar nuevas ideas, puedes aprender de los robots de bajo coste construidos por Juan Carlos Alonso de Mena, en su guía para profesores de secundaria
(Ver más fotos)
Reemplazando el ATmega8
El ATmega8 que viene con el robot usa un protocolo para la descarga de los programas (vía transmisión IR) que no está documentado o que no es Standard, por lo que no puede modificarse, y de este modo, tampoco se puede utilizar Arduino para dicha descarga. Afortunadamente, en lugar de ello se puede usar el ATmega8 de la placa de Arduino como se indica a continuación.
Saca el ATmega8 de la placa del Asuro (guárdalo, ya que está programado con el TEST que hemos utilizado para comprobar su correcto ensamblado). Entonces coloca el ATmega8 de la placa de Arduino, en la placa del Asuro (Asegúrate que en la forma correcta).
Cambiando los ficheros en Arduino
Como el robot Asuro funciona a mitad de la velocidad de la placa Arduino (8 MHz en lugar de 16 MHz), es necesario cambiar un par de líneas en el fichero de preferencias de Arduino (es recomendable hacer una copia del fichero original, antes de hacer dicha modificación):
La ubicación de los ficheros depende del sistema operativo que utilices:
• c:\Documents and Settings\USERNAME\Application Data\Arduino\preferences.txt (Windows)
• /Home/USERNAME/Library/Arduino/preferences.txt (Mac OS X)
• ~/.arduino/preferences.txt or something similar (Linux)
Las líneas a cambiar son las siguientes:
serial.download_rate: desde 19200 (antiguo valor) a 9600 (nuevo valor)
build.f_cpu: desde 16000000L(antiguo valor) a 8000000L (nuevo valor)
Conexión y programación de Asuro con Arduino:
Para poder programar el Asuro con Arduino, también será necesario soldar algunos cables extras sobre la placa del Asuro.
Como se muestra en la foto, los cables deben ser soldados a los pines 2 (RX) y 3 (TX) del ATmega8 que se encuentra en el Asuro, de forma que puedan ser conectados a los pines digital pin 0 (RX) y digital pin 1 (TX) de la placa Arduino. El otro cable saldrá del pin de tierra o GND (pin 8) e irá al correspondiente pin de tierra de Arduino.
A continuación se muestra la relación de correspondencia (Mapping o mapeo) que hay entre los pines definidos en el ATmega8 y los pines definidos en Arduino y Asuro respectivamente.
De este modo, se puede establecer la siguiente correspondencia entre los componentes del Asuroy los pines de Arduino, información necesaria para su posterior programación con Arduino:
librerías oficiales para controlar al Asuro
Una vez conectados los cables a los pines indicados en la placa Arduino, hay que conectar la placa Arduino al PC, vía cable USB (u RS232). De esta forma se podrá descargar programas dede el entorno de Arduino. Sólo hay que tener en cuenta que el ATmega8 está en el Asuro, no en la placa Arduino, así que será necesario utilizar el switch o interruptor de encendido/apagado del robot, en lugar del pulsador de reset de la placa Arduino. Para ello hay que encender el robot Asuro justo antes de pulsar el botón de "upload" en el entorno de programación de Arduino. Si no funciona, comprueba la conexión de los cables que van a los pines 0 y 1 sobre la placa Arduino.
Los comandos Arduino, para la comunicación serie (referencia), deberían de funcionar sin ningún problema.
A continuación se muestran algunos códigos de ejemplo en Arduino, para controlar al Asuro.
-Código control de motores?
-Código control de sigue líneas?
-Código control de odómetros?
-Código control de Led de estatus?
-Código control de pulsadores?
-Código control de Leds traseros?
Todos estos códigos están contenidos en el siguiente fichero: simplecontrols.zip
Puedes encontrar más código realizado en lenguaje C, para el control del Asuro en:
sourceforge.net
arexx.com
Y de información en general (modificaciones, ampliaciones, etc.), en la Wiki de Asuro (en alemán):
Asuro Wiki
Por último comentar que este proyecto es resultado del taller impartido en Ars electrónica 2006
por Dam Mellis.