En este post encenderemos y apagaremos 2 led mediante el mando de una tv o cualquier otro, los materiales que necesitamos son:
Arduino uno
Sensor IR (reciclado de un tdt roto)
3 led y 3 resistencias
Mando de tv
Librería para arduino (Descargar aquí)
Esquema Eléctrico
conectamos la pata central del sensor a negativo, la pata derecha a positivo +5V, y la pata izquierda al pin numero 11 de arduino.
A la pata izquierda del IR añadiremos el negativo de un led con resistencia, y el positivo del led a +5v (con este led veremos cuando el sensor está recibiendo datos del mando)
conectamos 2 led cada una con sus respectivas resistencias uno al pin 12 y el otro al pin 13.
una vez terminado el circuito, conectamos nuestro arduino al usb y lo ponemos en monitor serie, pulsamos una tecla del mando y nos dará un código, ese es el numero hexadecimal de tu botón el cual tendrás que modificar en el código de arduino.
Código
#include <IRLib.h>
int RECV_PIN = 11;
IRrecv My_Receiver(RECV_PIN);
IRdecode My_Decoder;
unsigned int Buffer[RAWBUF];
void setup()
{
Serial.begin(9600);
//delay(2000);while(!Serial);//delay for Leonardo
My_Receiver.enableIRIn();
My_Decoder.UseExtnBuf(Buffer);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
}
void loop() {
if (My_Receiver.GetResults(&My_Decoder)) {
My_Receiver.resume();
My_Decoder.decode();
My_Decoder.DumpResults();
Serial.println(My_Decoder.value,HEX);
if(My_Decoder.value==0xFFA25D)
{
digitalWrite(13,HIGH); }
if(My_Decoder.value==0xFF22DD)
{
digitalWrite(13,LOW);
}
if(My_Decoder.value==0xFFE21D)
{
digitalWrite(12,HIGH);
}
if(My_Decoder.value==0xFFC23D)
{
digitalWrite(12,LOW);
}
}
}