Controlando LEDS con un mando a distancia y un receptor IR

Publicado el 02 marzo 2016 por Villalba2006

Hoy en día estamos muy acostumbrados a manejar mandos a distancia infrarrojos (IR) para realizar tareas, como por ejemplo, cambiar el canal del televisor, subir el volumen de nuestro equipo HI-FI o encender el aire acondicionado sin tener que levantarnos del sofá, pero esto no ha sido siempre así, es más, es relativamente reciente el uso de este tipo de mandos.


Mando a distancia universal IR


El principio de funcionamiento de estos mandos IR se basa en enviar un tren de ondas estable (la portadora), que es mezclado con la señal que contiene la información que queremos enviar en un proceso denominado modulación, para evitar interferencias con otras señales IR que haya en el ambiente, ya que a pesar de que las radiaciones infrarrojas no son perceptibles a simple vista por el ojo humano, son emitidas por cualquier cuerpo cuya temperatura sea mayor que cero grados absolutos lo que supone un problema de interferencias si la señal no fuese modulada. Este mando internamente está formado por un emisor que es un sencillo transistor que gobierna un LED infrarrojo, además de un pequeño procesador encargado de generar la señal y de modularla, es decir, de mezclarla con la portadora para garantizar que la comunicación se realice correctamente.


Proceso de emisión IR

El receptor IR, que es el encargado de realizar el proceso contrario, es decir, extraer la información recibida de la señal IR anteriormente modulada en un proceso denominado demodulación, tiene un poco más de complejidad que el mando IR porque, las normas de emisión de IR para mandos a distancia, aparecieron muy rápidamente en los 90 y muchos de los fabricantes presentaron su propia norma, aunque al final la industria acabo diseñando unos receptores capaces de recibir y demodular casi cualquier cosa a un precio insignificante.

Proceso de recepción IR


Nosotros vamos a trabajar con el receptor IRmodelo VS 1838B montado en un pequeño PCB que contiene un LED que se ilumina siempre que le llegue una señal al receptor IR. Este receptor IR incluye principalmente el propio receptor y un amplificador demodulador, además de gran cantidad de pequeños componentes electrónicos que no os voy a describir ahora, todo ello encapsulado y listo para usarse. El esquema de conexión es muy simple, pues el VS 1838B solo tiene 3 pines: VCC, GND y señal (S). Como vamos a usar la interrupción “0” para leer la señal es imprescindible, que llevéis el pin de señal (S) al pin digital 2 de Arduino (INT0).
 

Receptor IRmodelo VS 1838B

 
En este POST os muestro un sistema muy simple de comunicación IR, donde al pulsar el botón “-“ del mando IR se enciende el LED de color rojo, si pulsamos el botón “+” se enciende el LED de color azul y por último al pulsar el botón EQ se apagarán ambos LEDS. A continuación se muestran los comandos en formato hexadecimal que “mi mando” a distancia tiene asignado a cada uno de los botones que vamos a utilizar:

Tabla con los comandos de los botones de “mi mando”

 A través del monitor serie del IDE de Arduino podremos ver el protocolo de comunicación IR que utiliza el mando, aunque la librería “IRLremote.h” que estamos utilizando solo reconoce los siguientes protocolos: IR_NO_PROTOCOL (0), IR_USER (1), IR_ALL (2), IR_NEC (3), IR_PANASONIC (4). Además también se muestra la dirección física del mando, diferente para cada uno, que nos sirve para diferenciarlos si utilizamos varios mandos en un mismo sistema. Por último se muestra el comando que tiene asignado cada botón del mando IR que vayamos presionando, también diferente para cada botón, y es la parte que vamos a utilizar en el código del programa para que los LEDS se enciendan o apaguen en función del botón pulsado. 

Monitor serie

 
Lista de Materiales:
·   Arduino UNO Rev.3.·   Cable USB tipo A-B.·   Mando a distancia universal IR (marca KEYES).·   Módulo receptor IR (VS 1838B).·   2 LEDS de 3mm (Rojo y Azul).·   2 Resistencias de 220Ω.·   Protoboard.·   Cables de conexión.
Programa:
  Descarga del Programa
Video: