Control remoto IR con Arduino

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.