Está en la página 1de 3

GUIA PRÁCTICA DE ARDUINO

RECEPTOR INFRARROJO (IR)

MARCO TEÓRICO
El receptor de infrarrojos 1838 es un componente que incorpora un diodo IR, amplificador,
demodulador y comparador, siendo capaz de recibir señales de luz infrarroja con datos digitales.
Es comúnmente usado como receptor en sistema de control remoto, como los que existen en
televisores o equipos de música, y puede ser fácilmente implementado junto a
microcontroladores como Arduino.
Especificaciones:
• Tensión de Alimentación: 2.7 a 5.5 Volts DC
• Frecuencia de Operación Central: 38 kHz
• Longitud de Onda de Recepción: 940 nm
• Ángulo de Detección Máximo: 45°
• Temperatura de Operación: -20 a 65 °C
• Alcance: 18 metros en posición frontal (8 metros en ángulo de 45°)
• Número de pines: 3

DESCRIPCIÓN DE EJEMPLO
Se conectan 5 LED a la placa Arduino en los pines digitales 2, 3, 4, 5 y 6, a un lado en el pin
digital 7 se conecta la salida de señal del receptor IR, es de suma importancia agregar la librería
IRremote.h, se crea el objeto IRrecv irrecv(PIN), se habilita el receptor mediante la función
enableIRIn(), se obtiene la lectura del receptor con la función irrecv.decode(&results),
posteriormente se imprime el valor numérico con results.value y se libera el receptor con
resume().
De acuerdo a los valores numéricos de los botones del control IR, decodificados en valores
decimales se compara mediante una estructura de control condicional para encender y apagar
el LED correspondiente con la asignación de código numérico.
LIBRERÍA
https://www.arduinolibraries.info/libraries/i-rremote
GUÍA PRÁCTICA DE ARDUINO

MATERIAL A UTILIZAR
• Arduino UNO
• Protoboard
• Cables
• Receptor IR 1838
• Control IR
• 5 LED de colores
DIAGRAMA DE CONEXIÓN

CÓDIGO FUENTE
#include "IRremote.h" //LIBRERÍA IR
int receiver = 7; // PIN RECEPTOR IR
IRrecv irrecv(receiver); //SE CREAR OBJETO IR
decode_results results; //SE CREAR VARIABLE PARA GUARDAR VALOR
//SE CREA VARIABLES BOOLEANAS PARA LEDS
boolean l1=false,l2=false,l3=false,l4=false,l5=false;
int v;
void setup(){
Serial.begin(9600);
Serial.println("IR FUNCIONANDO");
irrecv.enableIRIn(); //SE HABILITA RECEPTOR
//SE INICIALIZA PINES COMO SALIDA
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
}

void loop() {
if (irrecv.decode(&results)){//SE LEE VALOR DEL RECEPTOR
v=results.value;// SE OBTIENE VALOR NUMERICO DE LA LECTURA
Serial.print("BOTÓN: ");
Serial.println(results.value);//SE IMPRIME VALOR EN MONITOR SERIE
irrecv.resume(); //SE LIBERA RECEPTOR
}
// DE ACUERDO AL VALOR RECIBIDO SE PRENDE O SE APAGA LED SEGUN EL VALOR
switch(v){
case 3772784863:
l1=!l1;
if(l1){
digitalWrite(2,HIGH);
}else{
digitalWrite(2,LOW);
GUÍA PRÁCTICA DE ARDUINO

}
break;
case 3772817503:
l2=!l2;
if(l2){
digitalWrite(3,HIGH);
}else{
digitalWrite(3,LOW);
}
break;
case 3772801183:
l3=!l3;
if(l3){
digitalWrite(4,HIGH);
}else{
digitalWrite(4,LOW);
}
break;
case 3772780783:
l4=!l4;
if(l4){
digitalWrite(5,HIGH);
}else{
digitalWrite(5,LOW);
}
break;
case 3772813423:
l5=!l5;
if(l5){
digitalWrite(6,HIGH);
}else{
digitalWrite(6,LOW);
}
break;
}
}

RESULTADO

También podría gustarte