Hoy descubrí una librería llamada IRLib que permite decodificar y utilizar controles remotos IR, los mismos que usamos para comandar un TV o equipo de audio.
Al momento de escribir esta nota es posible manejar los siguientes protocolos: NEC, NECx, Sony, RC5, RC6, Panasonic_Old y JVC.
Para poder utilizar el control remoto es necesario conectar a nuestro Arduino un sensor de infrarrojos. Se pueden comprar o recuperar de algún equipo en desuso. Yo tenía un TSOP1738 que se encuentra generalmente en reproductores de DVD. La conexión es muy sencilla: el pin 1 del sensor a GND, el pin 2 a +5V y el pin 3 a un pin de entrada del Arduino. En mi ejemplo está conectado a la patita 11.
Para capturar una señal y analizarla mediante el Monitor Serie del IDE Arduino podemos utilizar el siguiente código de ejemplo que nos brinda el autor de la librería:
/* USANDO LA LIBRERIA "IRLIB" PARA RECIBIR UNA SEÑAL IR
* Y VOLCAR EL CONTENIDO PARA SU ANALISIS.
* 14/03/2013 +++ www.automatismos-mdq.com.ar
*/
//incluimos la libreria IRLib
#include
//creamos el objeto receptor con el pin11 como entrada de datos
IRrecv My_Receiver(11);
//creamos el objeto decodificador
IRdecode My_Decoder;
void setup()
{
Serial.begin(9600);//iniciamos el monitor serie
My_Receiver.enableIRIn(); //iniciamos el receptor
}
void loop() {
//lazo que captura la señal, decodifica y envía al monitor serie
if (My_Receiver.GetResults(&My_Decoder)) {
My_Decoder.decode();//decoficacion de la señal
My_Decoder.DumpResults();//volcado de resultados al monitor serie
My_Receiver.resume(); //reinicio del receptor
}
}
+ IRLib Tutorial part 1: Hardware set up
+ Código de ejemplo, datasheet y librería.