- Componentes requeridos
- ¿Cómo funciona la comunicación por infrarrojos?
- Diagrama de circuito
- Programación para decodificador remoto IR Arduino
- Guardar los datos del decodificador remoto por infrarrojos en una hoja de Excel
La comunicación IR (infrarroja) es una tecnología de comunicación inalámbrica simple, de bajo costo y ampliamente utilizada. La luz IR es algo similar a la luz visible, excepto que la longitud de onda es un poco más larga. Esta propiedad de los infrarrojos lo hace indetectable para el ojo humano y perfecto para la comunicación inalámbrica.
Hay muchas aplicaciones en las que necesita decodificar las señales IR para operar algunos dispositivos con control remoto IR. Entonces, en este tutorial, usaremos el receptor de infrarrojos TSOP1838 para construir un decodificador remoto de infrarrojos usando Arduino. El código hexadecimal de cada botón se registrará en la hoja de Microsoft Excel. Este sencillo decodificador de control remoto por infrarrojos se puede utilizar en proyectos como el robot de control remoto por infrarrojos, la automatización del hogar y otros proyectos controlados por infrarrojos.
Anteriormente utilizamos el control remoto IR y el receptor TSOP para crear muchas aplicaciones útiles como:
- Circuito atenuador TRIAC controlado por infrarrojos
- Automatización del hogar con control remoto por infrarrojos con Arduino
- Automatización del hogar con control remoto por infrarrojos con microcontrolador PIC
- CA controlada por teléfono celular usando Arduino y Bluetooth
Componentes requeridos
- Arduino Uno / Arduino Nano
- Receptor de infrarrojos (TSOP1838)
- Cables de puente
- Tablero de circuitos
¿Cómo funciona la comunicación por infrarrojos?
Como otros sistemas de comunicación, la comunicación por infrarrojos también tiene un transmisor y un receptor. El transmisor se parece a un LED, pero produce luz en el espectro IR en lugar del espectro visible. Mientras que el receptor de infrarrojos es un fotodiodo integrado con un preamplificador que convierte la luz de infrarrojos en una señal eléctrica. Para la comunicación por infrarrojos, tanto el transmisor como el receptor deben apuntar entre sí. Para obtener más información sobre el circuito del transmisor y receptor de infrarrojos, siga el enlace.
Cuando se presiona un botón del control remoto, el LED de infrarrojos (transmisor) emite luz infrarroja. Esta luz es recibida por el receptor que normalmente es un fotodiodo o fototransistor. Pero la luz IR también es emitida por el sol, las bombillas y cualquier otra cosa que produzca calor. Esto puede interferir en la señal del transmisor, por lo que para evitarlo, la señal del transmisor se modula utilizando una frecuencia portadora entre 36 kHz y 46 kHz. Al recibir la señal, el receptor de infrarrojos demodula la señal y la convierte a binaria antes de enviarla al microcontrolador.
Aquí estamos usando un control remoto de TV para enviar señales IR y TSOP1838 con Arduino para recibirlas.
Además, verifique aquí varias aplicaciones basadas en IR, incluido el circuito de bloqueo de control remoto de TV y el circuito de prueba de infrarrojos.
Diagrama de circuito
El diagrama de circuito para el decodificador remoto por infrarrojos con Arduino se muestra a continuación:
Las conexiones son muy simples ya que el sensor del receptor de infrarrojos solo tiene tres pines, Vs, GND y Data. Conecte el pin Vs y GND del receptor de infrarrojos al pin GND de 3,3 V de Arduino y el pin de datos al pin digital 2 de Arduino.
Programación para decodificador remoto IR Arduino
El código completo para el decodificador de infrarrojos Arduino se proporciona al final de la página.
Para decodificar el control remoto IR, primero, necesitamos descargar y agregar una biblioteca IR al IDE de Arduino. Puede descargar la biblioteca IR Remote desde aquí. Después de descargar el archivo, abra su IDE de Arduino y vaya a Sketch> Incluir biblioteca> Agregar biblioteca ZIP . Seleccione el archivo de la biblioteca y haga clic en 'Abrir'.
Inicie su código incluyendo el archivo de la biblioteca IR Remote.
#incluir
Después de eso, defina el pin Arduino donde conectó el pin de datos del receptor IR. En mi caso, está conectado al pin D2 de Arduino.
int IRPIN = 2;
Después de eso, cree una instancia para el pin del receptor de infrarrojos.
IRrecv irrecv (IRPIN);
En la siguiente línea, defina un objeto para la clase decode_results , el receptor de infrarrojos lo utilizará para enviar la información decodificada.
resultado de decode_results;
Dentro de la configuración () función, iniciar la comunicación en serie, e iniciar el receptor IR llamando al IRrecv función enableIRIn ().
configuración vacía () {Serial.begin (9600); Serial.println ("Habilitación de IRin"); irrecv.enableIRIn (); Serial.println ("IRin habilitado"); Initialize_streamer (); }
En la función loop () , irrecv.decode comprueba constantemente si hay nueva señal y si se recibe una nueva señal, el código de señal recibido se almacenará en una función result.value .
void loop () {if (irrecv.decode (& result)) {Serial.print ("Valor:"); Serial.println (valor.resultado, HEX); Write_streamer (); irrecv.resume (); } retraso (500); }
Para enviar datos a una hoja de Excel desde Arduino, usamos PLX-DAQ. Usando la función Write_streamer () , estamos enviando los datos en serie en un patrón específico al igual que mostrar el valor en el monitor en serie. Las líneas clave se explican a continuación:
void Write_streamer () {Serial.print ("DATOS"); // escribir siempre "DATA" para indicar lo siguiente como Data Serial.print (","); // Pasar a la siguiente columna usando "," Serial.print (result.value, HEX); // Almacenar la fecha en Excel Serial.print (","); // Pasar a la siguiente columna usando "," Serial.println (); // El final de la fila pasa a la siguiente fila}
Una vez que el hardware y el programa estén listos, es hora de cargar el programa en su placa Arduino Nano. Después de cargar el código, apunte el control remoto hacia el receptor de infrarrojos y presione los botones del control remoto. El código hexadecimal de cada botón se imprimirá en el monitor de serie.
Guardar los datos del decodificador remoto por infrarrojos en una hoja de Excel
Ahora, para enviar datos a una hoja de Excel, usaremos PLX-DAQ. Es un software de complemento de Excel que le ayuda a escribir valores desde Arduino directamente en una hoja de Excel en su computadora portátil o PC. Utilice el enlace para descargar el archivo. Después de la descarga, extraiga el archivo y haga clic en el archivo.exe para instalarlo. Creará una carpeta llamada PLX-DAQ en su escritorio.
Ahora abra el archivo ' PLX-DAQ spreadsheet' de la carpeta del escritorio. Si las macros están deshabilitadas en su Excel, verá un bloque de seguridad como se muestra en la siguiente imagen:
Haga clic en Opciones-> Habilitar el contenido -> Finalizar -> Aceptar para habilitar las macros. Después de esto, obtendrá la siguiente pantalla:
Ahora seleccione la velocidad en baudios como "9600" y el puerto al que está conectado su Arduino y luego haga clic en Conectar para iniciar la transmisión de datos. Sus valores deberían comenzar a registrarse como se muestra en la siguiente imagen.
Así es como se puede construir fácilmente un decodificador remoto IR Arduino para convertir las señales remotas IR en código HEX equivalente.
El código completo de Arduino con un video de demostración se muestra a continuación.