#include <IRremote.hpp>
const int receiverPin = 8;
IRrecv irrecv(receiverPin);
const int ledPin[] = {3, 4, 5, 6, 7, 9, 10, 11, 12, 2};
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;
boolean stateledPin13 = false;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
IrReceiver.begin(receiverPin, ENABLE_LED_FEEDBACK);
for(int i = 0; i < 10; i++) {
pinMode(ledPin[i], OUTPUT);
}
}
void translateIR() {
case 0x9768FF00:
stateledPin3 = !stateledPin3;
digitalWrite(ledPin[0], stateledPin3);
break;
case 0xCF30FF00:
stateledPin4 = !stateledPin4;
digitalWrite(ledPin[1], stateledPin4);
break;
case 0xE718FF00:
stateledPin5 = !stateledPin5;
digitalWrite(ledPin[2], stateledPin5);
break;
case 0x857AFF00:
stateledPin6 = !stateledPin6;
digitalWrite(ledPin[3], stateledPin6);
break;
case 0xEF10FF00:
stateledPin7 = !stateledPin7;
digitalWrite(ledPin[4], stateledPin7);
break;
case 0xC738FF00:
stateledPin9 = !stateledPin9;
digitalWrite(ledPin[5], stateledPin9);
break;
case 0xA55AFF00:
stateledPin10 = !stateledPin10;
digitalWrite(ledPin[6], stateledPin10);
break;
case 0xBD42FF00:
stateledPin11 = !stateledPin11;
digitalWrite(ledPin[7], stateledPin11);
break;
case 0xB54AFF00:
stateledPin12 = !stateledPin12;
digitalWrite(ledPin[8], stateledPin12);
break;
case 0xAD52FF00:
stateledPin13 = !stateledPin13;
digitalWrite(ledPin[9], stateledPin13);
break;
}
void loop() {
// put your main code here, to run repeatedly:
if(IrReceiver.decode()) {
translateIR();
Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX);
delay(1000);
IrReceiver.resume();
}
}