#include int voltage[12]; unsigned int i = 0; IRrecv irrecv(12); decode_results results; unsigned long key_value = 0; //--------------------setup void setup(){ Serial.begin(9600); SetUpPins(); irrecv.enableIRIn(); irrecv.blink13(true); } //--------------------loop void loop(){ TranslateIR(); } //--------------------functions //-----ToggleLED----- void ToggleLED(int pin) { if (voltage[pin]) { Serial.print("LED "); Serial.print(pin - 2); Serial.println(" was turned off"); digitalWrite(pin, LOW); voltage[pin] = 0; } else { Serial.print("LED "); Serial.print(pin - 2); Serial.println(" was turned on"); digitalWrite(pin, HIGH); voltage[pin] = 1; } } //-----SetUpPins----- void SetUpPins() { pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); digitalWrite(10, LOW); digitalWrite(11, LOW); digitalWrite(2, LOW); digitalWrite(3, LOW); digitalWrite(4, LOW); digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); } //-----TranslateIR----- void TranslateIR() { if (irrecv.decode(&results)){ if (results.value == 0XFFFFFFFF) results.value = key_value; switch(results.value){ case 0xFD00FF://power break; case 0xFD807F://vol+ break; case 0xFD40BF://func/stop break; case 0xFD20DF://|<< break; case 0xFDA05F://>|| break ; case 0xFD609F://>>| break ; case 0xFD10EF://down arrow break ; case 0xFD906F://vol- break ; case 0xFD50AF://up arrow break ; case 0xFD30CF://0 ToggleLED(2); break ; case 0xFDB04F://eq break ; case 0xFD708F://st/rept break ; case 0xFD08F7://1 ToggleLED(3); break ; case 0xFD8877://2 ToggleLED(4); break ; case 0xFD48B7://3 ToggleLED(5); break ; case 0xFD28D7://4 ToggleLED(6); break ; case 0xFDA857://5 ToggleLED(7); break ; case 0xFD6897://6 ToggleLED(8); break ; case 0xFD18E7://7 ToggleLED(9); break ; case 0xFD9867://8 ToggleLED(10); break ; case 0xFD58A7://9 ToggleLED(11); break ; } key_value = results.value; irrecv.resume(); } }