#include <IRremote.hpp>
#define IR_RECEIVE_PIN 10
int relayPinB = 3;
int relayPinG = 4;
int relayPinR = 5;
int key;
int state;
int state1;
int state2;
void setup() {
IrReceiver.begin(IR_RECEIVE_PIN);
Serial.begin(9600);
pinMode(relayPinB, OUTPUT);
pinMode(relayPinR, OUTPUT);
pinMode(relayPinG, OUTPUT);
}
void loop() {
if (IrReceiver.decode()) {
Serial.println(IrReceiver.decodedIRData.command);
key = IrReceiver.decodedIRData.command;
if ((key == 48) && (state == 0)){
digitalWrite(relayPinR, HIGH);
state = 1;
}
else if ((key == 48) && (state == 1)){
digitalWrite(relayPinR, LOW);
state = 0;
}
if ((key == 24) && (state2 == 0)){
digitalWrite(relayPinG, HIGH);
state2 = 1;
}
else if ((key == 24) && (state2 == 1)){
digitalWrite(relayPinG, LOW);
state2 = 0;
}
if ((key == 122) && (state1 == 0)){
digitalWrite(relayPinB, HIGH);
state1 = 1;
}
else if ((key == 122) && (state1 == 1)){
digitalWrite(relayPinB, LOW);
state1 = 0;
}
IrReceiver.resume();
}
}