Paso 2: Aprender a comunicarse con el IR remote
Vamos a aprender cómo podemos recibir comandos de control remoto IR. El objetivo es obtener y recordar códigos de señal de su control remoto. Utilizamos en bosquejo de Ringo de escarabajo.
Tome un Arduino Uno, un protoboard (su tamaño no importa en este paso), saltar los cables y un receptor de infrarrojos. Hacer un circuito que ves en las fotos.
¡ ADVERTENCIA! Este circuito está hecho para el receptor de IR TSOP2136. Ustedes pueden diferir. Compruebe primero la hoja de datos para su receptor.
Ahora sigue el enlace y descargar el código fuente. Si usted trabajó con repositorios Git antes puede horquilla o clon de éste. Si no lo has hecho entonces te puede descargar el archivo ZIP del directorio de fuentes y descomprimirlo en algún lugar en tu disco local.
Inicie el IDE de Arduino y abra el proyecto /ir_receiver/ir_receiver.ino. Echa un vistazo en el código. La primera línea de código es
#include "IRremote.h"
Significa que el bosquejo utiliza una especial biblioteca IRremote.h que implementa la funcionalidad de la recepción y envío (no usamos) señales de infrarrojos. Esta biblioteca no es una parte del IDE de Arduino y tenemos que instalarlo. Es un proyecto abierto con licencia GNU para que podamos usar para Ringo. Leer las instrucciones e instalar la biblioteca. No olvide reiniciar el IDE de Arduino y ir_receiver.ino a abrir.
Ahora estamos listos para subir el dibujo. Conecte la computadora y el Arduino Uno mediante un cable USB.
Compruebe el menú Tools⇒Board en el IDE de Arduino. Debe establecerse en "Arduino Uno".
Consulte menú artículo Tools⇒Serial puerto. Debe establecerse en el puerto a que su controlador está conectado.
Compilar y subir el boceto (File⇒Upload).
Luego abrir el Serial Monitor (Tools⇒Serial Monitor) y comprobar la velocidad en baudios. Configurarlo a 9600.
Tomar control remoto IR y empezar a pulsar botones. Todo funciona bien si ves códigos en el Monitor serie.
Sobre estos códigos... Como ya he dicho que vamos a utilizar en el bosquejo que controlan el robot. Varios vendedores utilizan protocolos de comunicación diferentes. Así los códigos y secuencias de código pueden variar para diferentes mandos a distancia IR. Y será difícil entenderlos todos. Pero quiero simplificar el problema. Al pulsar un botón puedes ver que varios códigos aparecen en la ventana del Monitor serie. Algunos de ellos se repiten, otros son únicos. Necesitamos solamente estos códigos únicos. Y vamos a ignorar los códigos que se repiten. Algunos proveedores utilizan protocolos donde hay un único código para cada botón. Otros proveedores utilizan protocolos con dos códigos únicos entrelazados por un solo botón. Me refiero a que cuando usted presiona el botón por primera vez se obtiene un código, cuando pulsas por segunda vez que tienes otro código. Cuando se pulsa por tercera vez lo recibirá el primer código otra vez. Y así sucesivamente.
Nuestro robot puede ejecutar 13 comandos:
- Mueva hacia adelante.
- Moverse hacia atrás.
- A la izquierda.
- A la derecha.
- Avanzar con giro a la izquierda.
- Avanzar a la derecha.
- Hacia atrás con giro a la izquierda.
- Hacia atrás con giro a la derecha.
- Parada.
- Ajustar la velocidad 1 (el más lenta).
- Ajustar la velocidad 2.
- Ajustar la velocidad 3.
- Ajustar la velocidad 4 (el más rápida).
Seleccione botones en el IR remote para estos comandos. Usé botones 1 a 9 para los nueve primeros comandos y botones de colores (rojos, verdes, amarillo y azules) para los últimos cuatro.
Ahora Presione cada botón varias veces y escribir todos los códigos únicos a la tabla con dos columnas: botón y códigos. Utilizará estos códigos en el bosquejo que controla el robot.