Construir un coche con Arduino que pueda ser dirigido con un mando a distancia por infrarrojos.
Funcionamiento
El coche lleva instalado un Módulo TSOP que recibe las señales que envía el emisor infrarrojo del mando a distancia. Este módulo pasa la señal a Arduino, que se encargará de procesarla y generar el movimiento correspondiente en el vehículo.
Lista de materiales
8 Bulones de plástico LOG S220P
2 Soportes para micro reductora LOG 3D16
1 Plataforma móvil LOG DM8080
Construcción de la plataforma y conexión de los motores
Conexión del módulo tsop
El módulo TSOP esta formado por 3 pines que conectaremos a:
– 5V de Arduino
– GND
– Señal 11 PWM
Cuando realizamos una lectura de los datos, la lectura del pin 11 nos devolverá un valor numérico. El modelo de mando a distancia con el que hemos hecho este ejemplo asocia cada botón a los siguientes códigos numéricos:
– Flecha arriba : 24
– Flecha abajo : 82
– Flecha derecha : 90
– Flecha izquierda : 8
– Botón central OK: 28
Programación
Para programar este modelo de coche es necesario instalar en Arduino IDE la librería IRremote.
- Pulsa en el menú Herramientas > gestionar bibliotecas
- En el buscador introduce IRremote. Selecciona «IRremote by shirriff» y pulsa en Instalar.
Ya podemos empezar a programar.
Es posible que los códigos que recibe el coche del mando varíen con respecto al programa de esta documentación. Es recomendable revisar los códigos realizando lecturas y visualizaciones a través del monitor del puerto serie.
El siguiente programa lee los códigos recibidos por el TSOP conectado al pin 11 y los muestra en el puerto serie:
Sube el código a tu placa Arduino y accede al monitor serie (en el menú herramientas). A continuación pulsa cada botón del mando a distancia y anota el código que se muestra en el monitor serie para cada botón. Necesitarás esos códigos para controlar el coche.
En el siguiente programa, el TSOP lee los códigos que recibe del mando a distancia. Utilizando un conjunto de condicionales, se comprueba qué código se ha recibido, y en función de su valor se opta por mover los motores para que el coche avance o gire. Utiliza los códigos que viste en el monitor serie para adaptar el siguiente programa a tu proyecto:
Calibración
En los programas el control de los motores se realiza a través del envío de señales analógicas a los pares de salidas 5-6 y 9-10. Cada motor está controlado por dos pines de la tarjeta controladora, y cada pin determinará el sentido de giro del motor, permitiendo que el robot circule de frente o marcha atrás. Estos pines serán tratados como señales analógicas, enviándoles datos de 0 a 255 para poder controlar la velocidad del motor.
Si en ambas salidas enviamos un 0, el coche se parará.
La lógica nos dice que para que el coche circule en línea recta habrá que enviar a ambas salidas el mismo dato (mayor que 0). Si hacemos la prueba observamos que el coche tiende a girar en un determinado sentido. Esto es debido a la imprecisión de este tipo de motores. La mejor solución es regular la velocidad por programación enviando a un motor una señal ligeramente inferior con respecto al otro motor.
Para que el coche gire en un sentido, disminuiremos notablemente la velocidad de uno de los motores (enviando un dato de valor inferior a su salida de Arduino) provocando el giro gracias a la diferencia de velocidad entre ambos motores.
En cuanto al sentido de giro de los motores, éste viene controlado por las conexiones al puente H. Si observamos que cada rueda gira en un sentido, tendremos que modificar el cableado. Por ejemplo si tenemos los motores conectados a las salidas 1 y 3 del puente H y cada motor gira en un sentido, tendremos que cambiar uno de los motores y, o bien pasarle de la salida 1 a la 2, o sino de la salida 3 a la 4.
Detalles de tipo práctico
Necesita 4 pilas R6 de 1,5 V, 1 pila 6F22 de 9 V y 1 pila botón CR2025.
Tiempo de construcción: 6 H.
Nivel: Difícil
Pruebas
– Aumentar o disminuir la velocidad de los motores