Hace unos días compre un receptor de infrarrojos. Modelo "SM3384" , la cosa era entender como funcionaba.
Para luego aplicarlo a mis proyectos lo típico encender un led a distancia o cambiar el canal de la tele .

Después de estar investigando unas horas me descargue la librería IRemote MEGA
una vez descargada la descomprimí y le cambie el nombre por (IRemot) listo para incluir en las librerías de Arduino
Lo siguiente fue montar como en el esquema

2 resistencia 220 ohm un led rojo y receptor SM3384.. una vez montado
Abrí el Arduino /ejemplos/IRemot/IRrecvDump

cargue el Sketch en el arduino y abrí el monitor serial .. me puse a disparar con el primer mando que pille ..
y bingo ..

ahora ya puedo usar el Arduino para Encender leds y cambiar canales xD .. bueno la cosa es que cuando capturas el código de los mandos están en Hexadecimal y hay que pasarlo a decimal.
Entonces subir volumen me dio este código FF7887
Bajar volumen FF6897
Con la calculadora de Linux o Windows en modo programador pasamos el Hexadecimal a decimal.
Subir volumen FF7887 lo paso a decimal 16742535
Bajar volumen FF6897 lo paso a decimal 16738455
Ahora puedes cargar este Sketch. Modificando el valor por el que te de a ti ![]()
#include <IRremote.h>
int led = 6;
int RECV_PIN = 11; // Pin del receptor infrarrojo
IRsend irsend;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
pinMode(led, OUTPUT);
}
void loop() {
if (irrecv.decode(&results)) {
if(results.value == 16742535) // Modifica por tu valor
digitalWrite(led, HIGH);
else
if(results.value == 16738455) //Modifica por tu valor
digitalWrite(led, LOW);
irrecv.enableIRIn();
}
}
Ahora con el mando puedes apagar y encender el led .