Arduino: leer códigos de mando a distancia (Read remote control)

Buenasa todos!!!
Hace un tiempo que quería hacer este ejemplo ya que considero que puede tener muchas posibilidades. Aunque en este ejemplo solo vamos a leer los códigos de un mando a distancia, lo bueno es que puede ser casi cualquier mando a distancia tanto de TV, DVD, etc. Con esto que podemos hacer, podemos por ejemplo encender luces conectadas a reles, subir y bajar unas persianas, abrir una puerta... en fin lo que se os pueda ocurrir.

Solo vamos a necesitar una librería llamada IRremote.h

AVISO: esta librería me ha dado problemas ya que se supone que ya viene incluida en el IDE de Arduino, pero no se por que no funciono, leyendo en foros descrubrí que la mejor solución es reinstalar la librería. Para esto lo primero que tenemos que hacer es eliminar estos archivos que están alojados en libraries\RobotIRremote\IRremoteTools.cpp y libraries\RobotIRremote\IRremoteTools.h

Estos archivos están alojados en la carpeta de librerías de ArduinoIDE que no es la misma que la carpeta donde se alojan las librerías que cargamos nosotros al añadir una libreria.

Dicho esto, solo nos queda conectar el receptor de infrarojos en Arduino y comenzar a recibir datos de nuestro mando. Para conectarlo hay que mirar que tipo de IR tenemos, en nuestro caso es el VS1838B cuyo patillaje es: 1-OUT, 2-GND, 3-VSS.



A la hora de crear el ejemplo en Fritzing solo me deja este tipo de sensor IR que en lo único que se diferencia es en la posición de las conexiones.
Una vez tenemos esto empezamos con este sencillo programa:

#include "IRremote.h"

Declarar Constantes
const int receiver = 11; //Declaramos que el pin de recepcion es el 11

Declarar objetos
IRrecv irrecv(receiver); //Creamos una instancia para irrecv
decode_results results; //Creamos una instancia para decode_results

void setup() SETUP: solo se lee una vez
{
Serial.begin(9600);
Serial.println("Lector de infrarojos Infotronikblog ");
irrecv.enableIRIn(); //Activar el receptor
}

void loop() LOOP: se ejecuta constantemente
{
if (irrecv.decode(&results)) //Cuando recibe una señal IR

{
Serial.println(results.value, HEX); // Imprime el codigo de cada boton
irrecv.resume(); //Recibe el siguiente valor
delay(100);
}
}
//FIN

Descargar: Ejemplo Leer códigos mando a distancia IR



Fuente: este post proviene de InfotronikBlog, donde puedes consultar el contenido original.
¿Vulnera este post tus derechos? Pincha aquí.
Creado:
¿Qué te ha parecido esta idea?

Esta idea proviene de:

Y estas son sus últimas ideas publicadas:

Buenas a todos!!! Esta publicación va con un poco de retraso... ya tenía la Raspberry Pi 2 desde hacia bastante tiempo, pero como la tenia en otros usos y no he podido hacerle una entrada en condicion ...

Etiquetas: ArduinoEjemplos

Recomendamos

Relacionado

analógico Arduino i2C ...

Buenas Ardublogeros!!! La primera versión del software ya esta lista así que en esta entrada voy a explicar el código ya que esta vez he optado por estructurar el software por pestañas como vimos en la entrada anterior: Ejemplos Arduino: Trabajando con pestañas en el Sketch. Es algo que ya había visto en algún proyecto y no le había hecho mucho caso, pero en programas donde hay muchas lineas creo ...

Aplicaciones Arduino Ejemplos ...

Buenas a todos otra vez!!! Esta semana he estado trasteando con la comunicación infrarroja o IR (Infra Red). Este tipo de comunicación es unidireccional, es decir, la comunicación se efectúa en un solo sentido. Casi todos los controles remoto de TV, reproductores de DVD, incluso el mando del aire acondicionado funcionan con este sistema. ¿Que es la luz infrarroja? La luz infrarroja o radiación inf ...