MONOGRÁFICO: Arduinoblocks - Capítulo 5 |
EQUIPAMIENTO TECNOLÓGICO - Didáctica de la tecnología | ||||||||
Escrito por Leopoldo Mosquera | ||||||||
Mércores, 29 Decembro 2010 21:27 | ||||||||
Páxina 6 de 6
Capítulo 51) IntroducciónEn este capítulo, la propuesta final consistirá en crear un dispositivo móvil sencillo dotado con dos pequeños motores, aunque sólo giren en un sentido; pero antes experimentaré a insertar Arduino en algún juguete baratos, con luz y movimiento, modificando su funcionamiento.
2) Diseño de una placa con dos transistores y programación de un jugueteVoy a comenzar diseñando una placa con dos transistores, basada en la ampliación de la que utilizamos en el capítulo anterior y con sus características: presencia del pin 9 para crear sonidos con Amici, posibilidad de activar dos diodos led (que se encenderán con los pines de salida 6 y 11) y presencia de una clema (pinchada sobre los pines Gnd y 5 V) para la alimentación de los sensores.
Como hice en la placa antes comentada, conectaremos (mediante las pistas de cobre) las patillas denominadas "gate" a dos pines de salida digital de la tarjeta (concretamente el 7 y el 10); el motor se situará (con un conector hembra doble) entre el pin Vin de Arduino y la patilla central del transistor "drain"; por último, el circuito de cada motor se cerrará en el pin GND, a través de la tercera patilla "source" del Mosfet IRF520. Basta una placa de 7 pistas de cobre, como la de la figura, para encajar todos los componentes citados; de nuevo las líneas azules representan cables en superficie para establecer distintos caminos eléctricos y las líneas verdes representan las interrupciones necesarias en las pistas de cobre.
Una de las primeras ideas de aplicación de Arduino propuesta por sus creadores, fue utilizarla para "hackear" dispositivos electrónicos existentes, como pueden ser los juguetes baratos dotados de luces y motores. En vez de asumir por obligación el funcionamiento del dispositivo según un bucle cerrado y repetitivo, decidido por su fabricante, nosotros podemos abrirlo, analizar y modificar su conexionado para, a continuación, reprogramar su funcionamiento, poniendo a prueba las posibilidades de la tarjeta Arduino.
En el ejemplo he utilizado un pequeño muñeco motorista (que encontré en una tienda de chinos por 4 euros), cuyo funcionamiento consistía en desplazarse mediante un único motor, a la vez que encendía unos leds bicolores y generaba un sonido de alarma. Mi primer objetivo ha sido abrir el juguete para, una vez inspeccionados sus circuitos, conectar dos cables independientes al motor y otros dos cables a los dos leds bicolor, que a su vez conectaré en paralelo y prestando atención a la polaridad de sus terminales. Cabe recordar que la placa diseñada anteriormente alimenta los mosfet con 9 V y como el móvil utilizaba tres pilas de 1,5 V conectadas en serie, para proteger sus actuadores, es necesario soldar una resistencia de 10 ohmios al cable del motor y de 50 ohmios al cable de los leds bicolor, ya que sino, el motor estaría demasiado revolucionado con dicha tensión y los leds también se podrían fundir.
Voy a fijar con un velcro (que también hace de aislante eléctrico) la pila de 9V a la cara inferior de la tarjeta Arduino, y el conjunto lo voy a adaptar al juguete para sujetarlos con una goma elástica; después pincharé la placa de transistores en los pines correspondientes y llevaré los cables del motor a las conexiones de uno de los mosfet, y los cables de los leds al otro (con el cable negativo pinchado en el pin de la patilla central del transistor). Voy a incorporar al conjunto el sensor de temperatura utilizado en el capítulo anterior (conectado en la entrada analógica 5, de tal modo que cuando se caliente (simplemente presionando con los dedos), el motor se ponga en funcionamiento hasta que se enfríe, momento en el que el móvil se detendrá y los leds parpadearán a modo de luz de emergencia. 3) Construcción de un robot-bicho programable Una vez he comprobado que la placa funciona correctamente, es el momento de construir un robot-bicho, que constará de los siguientes elementos: dos motores "planos" de 3 V, un perfil de aluminio perforado de 1,5 cm de ancho y 7 cm de largo, una pila de 9 V con cable de conexión soldado en su extremo a un conector jack macho, un pequeño interruptor y cinta de velcro negro de 1,5 cm de ancho.
El montaje del conjunto comienza con el doblado del perfil, dejando 4,5 cm en la zona central del mismo, para que los extremos formen un ángulo de unos 30º con la vertical, ya que sobre ambos irán pegados (con pistola termofusible) los motores, aprovechando su forma plana; en el eje de éstos, para lograr que el móvil traccione y no patine, se insertará un trozo de funda de plástico de un cable eléctrico doméstico. La zona central del perfil de recubrirá de velcro adhesivo ya que, por un lado, en su parte superior se apoyará la tarjeta Arduino, y por otro, en su parte inferior se sostendrá la pila de 9 V. Para que la tarjeta no se incline en exceso, conviene pensar en crear un apoyo trasero para el robot-bicho, que en mi caso he resuelto con una bola de ratón ligeramente cortada para aplanar su zona de contacto con la tarjeta.
Como los programas de Arduino se repiten en un bucle sin fin, mientras se prueban y optimizan con el robot-bicho en acción, resulta necesario hacer paradas apagando la tarjeta, por lo que he cortado el cable rojo de la conexión pila-tarjeta, para soldar luego un pequeño interruptor que me permita detener los motores sin necesidad de desconectarlos de la placa con transistores.
4) Primeros programas: robot-bicho sensible a la luz Lógicamente, una vez ensamblados y conectados todos los elementos de nuestro dispositivo móvil, es obligado probar que avanza y gira hacia ambos lados, programando instrucciones sencillas que incluyan una pauta de tiempos de funcionamiento; un ejemplo podría ser la secuencia (ordenada utilizando METODOS) "avance, giroderecha, giroizquierda, stop" propuesta en la imagen anterior. Una vez verificado que la pila de 9 V revoluciona en exceso los motores planos de 3 V (hasta el punto de que podría quemarlos), pero también que los transistores Mosfet funcionan correctamente con esta tensión a través de ellos, he decido soldar una resistencia de 10 ohmios en uno de los cables de cada motor, logrando que la caída de tensión en sus bornes se reduzca para evitar una velocidad de giro excesiva. El siguiente programa que he propuesto consiste en incorporar un sensor de luz, hecho con una resistencia de tipo LDR (tal como expliqué en el capítulo 2), para provocar que el móvil se detenga tras avanzar y situarse en una zona con más luz que el resto del espacio circundante. El sensor se conectará a la clema disponible en la placa (5V y Gnd) y a una de las entradas analógicas (0) de Arduino. Por último, he programado el avance con breves giros a izquierda y derecha, creando un sugestivo movimiento zizageante.
5) Robot-bicho al completoDuplicando la presencia del sensor de luz, puedo dotar al robot-bicho de un aspecto más atractivo, al mostrar las resistencias como si fuesen sus antenas. Ahora la idea es que pueda guiar su trayectoria con la mano: al separar suficientemente las LDR, puedo ampliar el programa del apartado anterior al tener en cuenta las dos entradas digitales. He decidido cambiar el condicional IF por el de ESPERAR HASTA, de modo que el móvil avanzará recto, hasta que con mi mano cree la suficiente sombra para detener el motor que está en el mismo lado que el sensor sombreado y el robot-bicho girará apenas unos segundos, precisamente, hacia ese lado. Repitiendo el proceso varias veces, en ambas antenas, se comprobará que la dirección marcada por la mano y su sombra sobre la LDR correspondiente, será la que determine la trayectoria del móvil.
El uso de un sensor de infrarrojos ya conocido, como es el Sharp GP2D12, dota también a nuestro robot-bicho del aspecto de un insectoide, ya que emisor y receptor de este dispositivo aparentan dos ojos incrustados en una mini-cabeza. Podemos utilizar la señal variable que el sensor recibe, para que el móvil no choque contra una pared o un obstáculo (que conviene que sea de color claro para reflejar mejor la señal infrarroja) y se detenga. En el programa se ha determinado un valor umbral de 500 para las resistencias variables con la luz (conectadas a las entradas analógicas 0 y 2) y un umbral de 600 (que supone una distancia de unos 8 cm) para el sensor infrarrojo, conectado en la entrada analógica 1. El inconveniente de no tener la posibilidad de que nuestro móvil retroceda después de detenerse, abre las opciones de ampliar el programa pensando en que nuestros alumnos serán capaces de crear distintas soluciones.
6) ConclusiónConstruir un "ardobicho" como el propuesto en este capítulo, es un proceso relativamente sencillo (a excepción quizás de la placa electrónica con los mosfet, donde se necesitan ciertas destrezas añadidas) y permite seguir proponiendo soluciones de programación con distintos sensores y activando simultáneamente los leds de la placa o el piezoeléctrico. |