Comunicación por Infrarrojo entre dos Arduino
En este tutorial, se va a realizar una comunicación por infrarrojo entre dos placas Arduino. La primera placa cumple la función de transmitir datos ingresados mediante el monitor serial del Arduino IDE, la segunda laca cumple la función de recibir los datos y visualizarlos en el monitor serial del Arduino IDE.
Para que el sketch compile se debe instalar la librería IRremote, la cual puedes descargarla dando clic aquí, o en los enlaces de descarga que se encuentran al final de este post.
Materiales
- 2x Placa Arduino (Nano o Uno).
- 1x Diodo emisor de infrarrojo.
- 1x Diodo receptor de infrarrojo.
- 1x Resistor 180 Ohm.
- 1x Resistor 100 Ohm.
- 2x Protoboard.
- Cables de conexión.
- Nota: Se requiere de dos PCs que tengan instalado el Arduino IDE para ingresar y visualizar los datos mediante el monitor serial.
Circuito
Emisor
Los componentes se debe conectar de la siguiente manera:
- El Pin D3 de la placa va conectado a un extremo del resistor de 180 Ohm, el otro extremo se conecta al Cátodo (Pin Largo) del Led Infrarrojo, el Ánodo (Pin Corto) se conecta a GND.
Receptor
Los componentes se debe conectar de la siguiente manera:
- El Pin D5 de la placa va conectado al Pin 1 (Signal) del receptor infrarrojo.
- El Pin 2 (GND) del receptor infrarrojo se conecta a GND.
- Un extremo del resistor de 100 Ohm se conecta a Vcc, el otro extremo se conecta al Pin 3 (Vcc) del receptor infrarrojo.
Sketch IDE Arduino
Recuerda que se debe instalar la librería, la cual puedes descargarla dando clic aquí, o en los enlaces de descarga que se encuentran al final de este post.
Emisor
#include <IRremote.h> IRsend emisor_ir; void setup() { Serial.begin(9600); } void loop() { if (Serial.available()) { String datos = Serial.readString(); for (int i = 0; i < datos.length(); i++) { emisor_ir.sendSony(datos.charAt(i), 12); delay(20); } Serial.println("Enviado"); } }
Receptor
#include <IRremote.h> IRrecv receptor_ir(5); decode_results ir; void setup() { Serial.begin(9600); receptor_ir.enableIRIn(); } void loop() { if (receptor_ir.decode(&ir)) { Serial.print(char(ir.value)); receptor_ir.resume(); } }
¿Cómo funciona el Sketch?
Una vez cargado los sketch en cada placa Arduino correspondiente, se debe abrir el monitor serial del Arduino Emisor y del Arduino Receptor.
En el monitor serial del emisor se puede ingresar cualquier mensaje y enviarlo, este mensaje será visualizado en el monitor serial del receptor.
Se puede ir realizando pruebas de funcionamiento a diferente distancia, se recomienda comenzar desde una distancia mínima de 10 cm.
Enlaces de descarga
Puedes descargar la Librería IR dando clic aquí.