#include <IRremote.h>
const int receiver = 3; // Signal Pin of IR receiver to Arduino Digital Pin 3
IRrecv irrecv(receiver); // create instance of 'irrecv'
decode_results results; // create instance of 'decode_results'
void setup() {
Serial.begin(9600);
Serial.println("IR Receiver Button Decode");
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) { // have we received an IR signal?
translateIR();
irrecv.resume(); // receive the next value
}
}
void translateIR() {
Serial.print("Received code: ");
Serial.print(results.value, HEX); // Print the received code in HEX
Serial.print(" (");
Serial.print(results.value);
Serial.println(")");
switch(results.value) {
case 0xFF38C7: Serial.println("OK"); break;
case 0xFF10EF: Serial.println("LEFT"); break;
case 0xFF4AB5: Serial.println("DOWN"); break;
case 0xFF5AA5: Serial.println("RIGHT");break;
case 0xFF18E7: Serial.println("UP"); break;
case 0xFF9867: Serial.println("0"); break;
case 0xFFA25D: Serial.println("1"); break;
case 0xFF629D: Serial.println("2"); break;
case 0xFFE21D: Serial.println("3"); break;
case 0xFF22DD: Serial.println("4"); break;
case 0xFF02FD: Serial.println("5"); break;
case 0xFFC23D: Serial.println("6"); break;
case 0xFFE01F: Serial.println("7"); break;
case 0xFFA857: Serial.println("8"); break;
case 0xFF906F: Serial.println("9"); break;
case 0xFF6897: Serial.println("*"); break;
case 0xFFB04F: Serial.println("#"); break;
default:
Serial.println("Other button:");
Serial.println(results.value, HEX); // Print the unknown code in HEX
} // End Case
delay(500); // Do not get immediate repeat
}