#include <IRremote.h>
#define RECEIVER_PIN 7
#define LED_RED 13
#define LED_GREEN 12
#define LED_PURPLE 8
#define LED_BLUE 4
#define LED_CYAN 2
IRrecv receiver(RECEIVER_PIN);
decode_results results;
unsigned long key_value = 0;
void setup() {
Serial.begin(9600);
pinMode(LED_RED, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_PURPLE, OUTPUT);
pinMode(LED_BLUE, OUTPUT);
pinMode(LED_CYAN, OUTPUT);
receiver.enableIRIn();
}
void loop() {
if (receiver.decode(&results)) {
switch (results.value) {
case 0xFFFFFFFF | 0xFF: {
results.value = key_value;
}
case 0xFF45BA: {
digitalWrite(LED_RED, HIGH);
delay(100);
digitalWrite(LED_RED, LOW);
break;
}
case 0xFF47B8: {
digitalWrite(LED_GREEN, HIGH);
delay(100);
digitalWrite(LED_GREEN, LOW);
break;
}
case 0xFF44BB: {
digitalWrite(LED_PURPLE, HIGH);
delay(100);
digitalWrite(LED_PURPLE, LOW);
break;
}
case 0xFF43BC: {
digitalWrite(LED_BLUE, HIGH);
delay(100);
digitalWrite(LED_BLUE, LOW);
break;
}
case 0xFF15EA: {
digitalWrite(LED_CYAN, HIGH);
delay(100);
digitalWrite(LED_CYAN, LOW);
break;
}
}
Serial.println(results.value, HEX);
key_value = results.value;
receiver.resume();
}
}