Você pode tentar isso
#include <IRremote.h>
const byte IR_RECEIVE_PIN = 2;
const byte IR_SEND_PIN = 13;
const byte pinoRele = 3;
const unsigned int teclaA[] = {
9150, 4450, 600, 550, 550, 550, 600, 550, 600, 500,
600, 550, 550, 550, 600, 550, 550, 550, 600, 1650,
600, 1600, 600, 500, 650, 1600, 600, 1600, 600, 1600,
650, 1600, 600, 1600, 600, 550, 600, 500, 600, 1650,
600, 500, 600, 550, 600, 500, 600, 1600, 650, 500,
600, 1600, 600, 1650, 600, 500, 600, 1600, 650, 1600,
600, 1600, 600, 550, 600, 1600, 600
};
const byte teclaALen = sizeof teclaA / sizeof teclaA[0];
void volumeUP() {
Serial.println(F("Aumentando o volume do Som"));
IrReceiver.stop();
IrSender.sendRaw(teclaA, teclaALen, 38);
IrReceiver.start();
}
void releOn() { // Ligando a Luz
Serial.println(F("Ligando a Luz"));
digitalWrite(pinoRele, HIGH);
}
void releOff() { // Desligando Lampada
Serial.println(F("Desligando Lampada"));
digitalWrite(pinoRele, LOW);
}
void setup() {
pinMode(pinoRele, OUTPUT);
digitalWrite(pinoRele, LOW);
Serial.begin(115200);
IrReceiver.begin(IR_RECEIVE_PIN);
IrSender.begin(IR_SEND_PIN, DISABLE_LED_FEEDBACK);
IrReceiver.start();
}
void loop() {
if (IrReceiver.decode()) {
if (((IrReceiver.decodedIRData.flags & IRDATA_FLAGS_IS_REPEAT) == 0) && (IrReceiver.decodedIRData.command != 0)) {
Serial.print(F("Command: 0x")); Serial.println(IrReceiver.decodedIRData.command, HEX);
switch (IrReceiver.decodedIRData.command) {
case 0xFFA857: volumeUP(); break; // Aumentando o volume do Som
case 0xFFE21D: releOn(); break; // Ligando a Luz
case 0xFFA25D: releOff(); break; // Desligando Lampada
default: break;
}
}
IrReceiver.resume();
}
}
você tem que mudar as conexões:
- IR_RECEIVE_PIN = 2
- IR_SEND_PIN = 13
- pinoRele = 3
você tem que adaptar os códigos de comando para o que você verá impresso, já que a nova API oferece algo diferente
case 0xFFA857: volumeUP(); break; // Aumentando o volume do Som
case 0xFFE21D: releOn(); break; // Ligando a Luz
case 0xFFA25D: releOff(); break; // Desligando Lampada
o monitor serial deve ser aberto em 115200 baud