En el año 2013 creamos un curso para los talleres KiiCS de los Museos Científicos de A Coruña. Con la base de un robot comercial relativamente económico para que quien quiera iniciarse (personas, colegios, asociaciones…) en la robótica con software y hardware libre, programamos unas librerías y creamos el curso que inicia con el montaje mecánico y acaba con la programación de tareas sencillas como moverse siguiendo una línea o evitando obstáculos.
Esa misma base sirvió para hacer nuevos cursos durante la OSHWDEM y para CFR. Ahora lo reproducimos tal cual en esta wiki, con la misma estructura. El kit original de Sparkfun ya no está disponible, pero tienen otro muy similar en lo mecánico e idéntico en la parte electrónica.
Paso 1: Montar los motores en el chasis inferior y la tercera rueda loca.
Paso 2: Montar los separadores entre los chasis inferior y superior, y los soportes para la electrónica.
Paso 3: Montar la placa electrónica y el portapilas
Una placa Arduino no puede manejar directamente un motor, necesita un circuito intermediario, controlador o driver.
La función del driver es dar potencia al motor siguiendo las órdenes del Arduino. Los de tipo puente H pueden además cambiar la dirección de giro del motor.
Los más usados son el L298N, L293D, TF6612 o L9910. La placa de Redbot tiene un driver TF6612 integrado.
En la placa de Redbot hay que conectar los motores (abajo en el centro, conector plano con indicaciones RED y BLACK).
Con esto está preparado para moverse.
En esta dirección puede descargarse e instalarse el programa (Entorno Integrado de Desarrollo o IDE) de Arduino.
Una vez instalado el programa para comprobar que todo funciona hay que conectar la placa con un cable USB. La placa de Redbot tiene dos interrruptor: POWER y MOTOR. Para esta prueba hay que encender sólo el POWER (ON).
A continuación hay que hacer l o siguiente con el IDE:
Si todo ha ido bien tendremos una luz led parpadeando en la placa.
Para manejar los motores de manera sencilla es mejor cargar la librería de funciones que hemos creado y se puede descargar aquí. Para descaregarla hay que pichar el botón Clone or Download>Download ZIP
El archivo ZIP hay que abrirlo y copiar el contenido a la carpeta de librerías de Arduino, cambiándole el nombre a la carpeta por 'mobilerobot'. Si tenemos abierto el IDE hay que cerrar y volver a abrir.
Si todo ha ido bien podremos ver las librerías y los ejemplos en Archivo>Ejemplos>mobilerobot
Para mover el robot podemos usar el programa más simple, que puede verse abajo. Podemos probar las instrucciones de movimiento de la librería
Las funciones de esa librería son
RobotMovil nombredelobjeto; / para crear el objeto que se usará luego
nombredelobjeto.forward(l,r,t); movimiento hacia adelante con r,l velocidad de las ruedas izquierda y derecha entre 0 y 255, durante t tiempo en ms nombredelobjeto.reverse(l,r,t); idem hacia atrás
nombredelobjeto.rotate(t); gira durante un tiempo t (positivo o nevativo para girar a derecha e izquierda) nombredelobjeto.brake(t); para durante un tiempo t los dos motores
Enlazando movimientos hacia delante, detrás o giros podemos hacer figuras geométricas.
También podemos probar a poner velocidades diferentes en la función forward para hacer curvas, y ajustar valores parecidos para que haga rectas (los motores nunca son exactamente iguales).
Hay que recordar que el código que esté dentro de void setup() se ejecutará una vez y el que esté en void loop() se repetirá indefinidamente.
Aquí puedes encontrar una presentación en PDF y en ODP para la iniciación al mundo de los robots móviles con RedBot. Eres libre de utilizarla y modificarla a tu gusto.