Hola
Quiero hacer un puente de infrarrojos con el arduino de forma que cuando reciba señales de un mando envíe a su vez otra señal a un equipo hifi.
El diodo receptor y emisor funcionan. El receptor recoge los códigos de todos los mandos que he probado, y el diodo emisor lo compruebo con la cámara del móvil.
Dejo el código fuente que tengo
#include <IRremote.h>
#define RECV_PIN 11
#define SEND_PIN 3
#define CADENA_VOL_MAS 235376610
#define CADENA_VOL_MENOS 235376594
#define CADENA_ON_OFF 235376576
#define CADENA_NUM_BITS 88
#define NPG_VOL_MAS 1086191623
#define NPG_VOL_MENOS 1086156943
#define NPG_ON_OFF 1086169693
#define NPG_NUM_BITS 68
IRrecv irrecv(RECV_PIN);
IRsend irsend;
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop()
{
if (irrecv.decode(&results)) {
if (results.value != 4294967295) {
// es distinto de FFFFFFFF
Serial.print(results.decode_type);
Serial.print(" ");
Serial.print(results.value, DEC);
Serial.print(" [");
Serial.print(results.rawlen);
Serial.print("] ");
Serial.println(results.value, HEX);
delay(20);
switch (results.value) {
case NPG_VOL_MAS:
Serial.println("npg +vol");
irsend.sendNEC(CADENA_VOL_MAS, CADENA_NUM_BITS);
irrecv.enableIRIn();
break;
case NPG_VOL_MENOS:
Serial.println("npg -vol");
irsend.sendNEC(CADENA_VOL_MENOS, CADENA_NUM_BITS);
irrecv.enableIRIn();
break;
case NPG_ON_OFF:
Serial.println("npg on/off");
irsend.sendNEC(CADENA_ON_OFF, CADENA_NUM_BITS);
irrecv.enableIRIn();
break;
}
}
irrecv.resume(); // Receive the next value
}
}
He probado con poner el diodo emisor a 30 cm del receptor de la cadena por si fuera por potencia del diodo emisor, pero tambpoco recoge la señal.
¿Qué puede estar fallando?
Muchas gracias.