#include <IRremote.hpp>
#define IR_RECEIVE_PIN 8
const int ledPin[] = {2, 3, 4, 5, 6, 7, 9, 10, 11, 12};
boolean stateledPin2 = false;
boolean stateledPin3 = false;
boolean stateledPin4 = false;
boolean stateledPin5 = false;
boolean stateledPin6 = false;
boolean stateledPin7 = false;
boolean stateledPin9 = false;
boolean stateledPin10 = false;
boolean stateledPin11 = false;
boolean stateledPin12 = false;
void setup() {
Serial.begin(115200); // // Establish serial communication
IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
for(int i = 0; i < 10; i++) {
pinMode(ledPin[i], OUTPUT);
}
}
void translateIR() {
switch(IrReceiver.decodedIRData.decodedRawData) {
case 0x9768FF00:
stateledPin3 = !stateledPin3;
digitalWrite(ledPin[1], stateledPin3);
break;
case 0xCF30FF00:
stateledPin4 = !stateledPin4;
digitalWrite(ledPin[2], stateledPin4);
break;
case 0xE718FF00:
stateledPin5 = !stateledPin5;
digitalWrite(ledPin[3], stateledPin5);
break;
case 0x857AFF00:
stateledPin6 = !stateledPin6;
digitalWrite(ledPin[4], stateledPin6);
break;
case 0xEF10FF00:
stateledPin7 = !stateledPin7;
digitalWrite(ledPin[5], stateledPin7);
break;
case 0xC738FF00:
stateledPin9 = !stateledPin9;
digitalWrite(ledPin[6], stateledPin9);
break;
case 0xA55AFF00:
stateledPin10 = !stateledPin10;
digitalWrite(ledPin[7], stateledPin10);
break;
case 0xBD42FF00:
stateledPin11 = !stateledPin11;
digitalWrite(ledPin[8], stateledPin11);
break;
case 0xB54AFF00:
stateledPin12 = !stateledPin12;
digitalWrite(ledPin[9], stateledPin12);
break;
case 0xAD52FF00:
stateledPin2 = !stateledPin2;
digitalWrite(ledPin[0], stateledPin2);
break;
}
}
void loop() {
if(IrReceiver.decode()) {
translateIR();
Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);
delay(1000);
IrReceiver.resume();
}
}