Decodifica cualquier control remoto IR utilizando un receptor IR y Arduino Uno

En este artículo, aprenderás cómo utilizar un receptor de infrarrojos (IR) y un Arduino Uno para decodificar señales IR. Comprenderás cómo funcionan los controles remotos y cómo interpretar los datos que recibes del receptor IR. También verás cómo enviar señales IR desde el Arduino Uno para controlar dispositivos como televisores, reproductores de DVD y aires acondicionados.
Este tutorial será útil para aquellos que quieran experimentar más con la programación de Arduino y el control de dispositivos a través de señales infrarrojas.
Materiales
- Arduino Uno
- Módulo receptor de infrarrojos (IR)
- Control remoto IR (de cualquier dispositivo)
- Protoboard
- Cables
Conexión del módulo receptor de infrarrojos
Antes de comenzar a trabajar con el Arduino Uno, deberás conectar el módulo receptor de infrarrojos. La conexión es simple y solo requerirás una protoboard para hacerlo. La conexión es la siguiente:
- Conecta el pin GND del módulo IR al GND de la protoboard.
- Conecta el pin VCC del módulo IR al 5V de la protoboard.
- Conecta el pin SIG del módulo IR al pin digital 11 del Arduino.
Recibiendo señales IR
Ahora que has conectado el módulo receptor de infrarrojos, es momento de comenzar a recibir señales. Comienza subiendo el programa de ejemplo de la librería IRremote a tu Arduino Uno. Asegúrate de tener la librería instalada en tu entorno de programación. El código puede ser descargado desde https://github.com/z3t0/Arduino-IRremote.
Una vez que hayas subido el programa de ejemplo, abre el Monitor de Serie y dirige el control remoto IR hacia el módulo receptor de infrarrojos.
Presiona cualquier botón en el control remoto, y deberías ver una serie de números y letras aparecer en la pantalla del Monitor de Serie. Esta es la señal IR que el control remoto ha enviado al módulo receptor.
Interpretando señales IR
Ahora que puedes recibir señales IR, es tiempo de entender lo que realmente significan. Cada botón del control remoto envía una señal IR único con un patrón de código específico. Necesitarás descifrar ese patrón de código para entender qué botón has presionado en el control remoto.
Para hacer eso, necesitarás tomar los datos que aparecieron en el Monitor de Serie y agregarlos al programa decodificador de la librería IRremote. Después de agregar los datos, ejecuta el programa y deberías ver el patrón de código impreso en la consola del Monitor de Serie, con detalles sobre el fabricante del control remoto y el botón que presionaste.
Enviando señales IR
Ahora que sabes cómo interpretar las señales IR, es momento de aprender cómo enviarlas. Enviar señales IR es tan fácil como recibir señales, pero necesitarás un emisor IR para hacerlo. El funcionamiento es similar, solo que en lugar de leer los datos de un control remoto, leerás los datos de un programa en tu Arduino.
El emisor IR enviará los mismos datos que un control remoto enviaría, lo que te permitirá controlar cualquier dispositivo que use señales IR. El código utilizado para la transmisión es similar al utilizado para la recepción, solo que escribe los datos en lugar de leerlos. Revisa la documentación de la librería IRremote para obtener más información sobre la transmisión de señales IR.
Ejemplos de código relevantes
Aquí se muestran algunos fragmentos de código relevantes para ayudarte en el proceso de decodificación e interpretación de señales IR:
Configuración del receptor de infrarrojos:
#include <IRremote.h>
int receiver_pin = 11;
IRrecv irrecv(receiver_pin);
decode_results results;
void setup(){
Serial.begin(9600);
irrecv.enableIRIn();
}
Leyendo datos desde el receptor de infrarrojos:
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); //Prepara el receptor para recibir el siguiente código
}
Configurando el emisor de infrarrojos:
#include <IRremote.h>
int emitter_pin = 3;
IRsend irsend(emitter_pin);
Enviando una señal IR:
irsend.sendNEC(0x20DF10EF, 32);
Conclusión
Ahora que conoces los fundamentos del trabajo con infrarrojos y Arduino Uno, puedes experimentar con los dispositivos IR de tu hogar. Prueba a controlar dispositivos de manera programada, entender cómo funcionan tanto los receptores como los emisores, y personalizar el control remoto creando un programa personalizado. ¡Las posibilidades son infinitas!
Preguntas frecuentes
¿Existen otros tipos de señales aparte de NEC Ir protocol?
Sí, NEC es solo uno de los protocolos más comunes. También hay otros protocolos, tales como Sony SIRC, RC5, RC6, etc.
¿Es posible enviar señales IR a través de un Arduino Nano?
Sí, puedes utilizar un Arduino Nano en lugar de un Arduino Uno para enviar y recibir señales IR. La configuración y el código serán los mismos.
¿Cómo puedo determinar el código IR que un control remoto está enviando?
Puedes utilizar el programa de ejemplo de la librería IRremote para detectar los códigos. Simplemente carga el programa en tu Arduino, apunta el control remoto hacia el módulo receptor, y presiona el botón que quieres detectar. Los códigos se mostrarán en la consola del Monitor de Serie.
[nekopost slugs="funcion-arduino-sscanf,funcion-de-lectura-en-serie-bytes-arduino,comparacion-arduino-nano-y-uno,corrige-un-error-de-compilacion-de-compilar-cpu-bad-cpu-arduino,parpadea-sin-demora-arduino,fotorresistor-ldr-con-arduino-uno,lectura-digital-arduino,cuantos-control-del-motor-paso-a-paso-arduino-control,arduino"]

Deja una respuesta