#include <IRremote.h>
#define PIN_RECEIVER 2 // Signal Pin of IR receiver
IRrecv receiver(PIN_RECEIVER); // Create the IR receiver object
int LED1 = 8; // Define pin for LED1
int LED2 = 3;
int LED3 = 4;
int LED4 = 5;
int LED5 = 6;
int LED6 = 7;
void setup() {
Serial.begin(9600); // Start Serial Monitor
receiver.enableIRIn(); // Start the receiver
pinMode(LED1, OUTPUT); // Set LED1 pin as output
pinMode(LED2, OUTPUT); // Set LED2 pin as output
pinMode(LED3, OUTPUT); // Set LED3 pin as output
pinMode(LED4, OUTPUT); // Set LED4 pin as output
pinMode(LED5, OUTPUT); // Set LED5 pin as output
pinMode(LED6, OUTPUT); // Set LED6 pin as output
}
void loop() {
if (receiver.decode()) { // Check if an IR signal is received
Serial.println("IR signal received");
// Print the raw data from the receiver (after decoding)
Serial.print("Raw data (hex): ");
Serial.println(receiver.decodedIRData.command);
translateIR(); // Call the function to translate IR command
receiver.resume(); // Prepare to receive the next signal
}
}
void translateIR()
{
// Takes command based on IR code received
switch (receiver.decodedIRData.command) {
case 162:
digitalWrite(LED1, HIGH); // Turn on LED1 for POWER
break;
case 226:
digitalWrite(LED1, LOW); // Turn off LED1 for MENU
break;
case 34:
digitalWrite(LED2, HIGH); // Turn on LED2 for TEST
break;
case 2:
digitalWrite(LED2, LOW); // Turn off LED2 for PLUS
break;
case 194:
digitalWrite(LED3, HIGH); // Turn on LED3 for BACK
break;
case 224:
digitalWrite(LED3, LOW); // Turn off LED3 for PREV.
break;
case 168:
digitalWrite(LED4, HIGH); // Turn on LED4 for PLAY
break;
case 144:
digitalWrite(LED4, LOW); // Turn off LED4 for NEXT
break;
case 104:
digitalWrite(LED5, HIGH); // Turn on LED5 for NUM 0
break;
case 152:
digitalWrite(LED5, LOW); // Turn off LED5 for MINUS
break;
case 176:
digitalWrite(LED6, HIGH); // Turn on LED6 for KEY C
break;
case 48:
digitalWrite(LED6, LOW); // Turn off LED6 for NUM 1
break;
case 24:
digitalWrite(LED6, HIGH); // Turn on LED6 for NUM 2
break;
case 122:
digitalWrite(LED6, LOW); // Turn off LED6 for NUM 3
break;
case 16:
digitalWrite(LED6, HIGH); // Turn on LED6 for NUM 4
break;
case 56:
digitalWrite(LED6, LOW); // Turn off LED6 for NUM 5
break;
case 90:
digitalWrite(LED6, HIGH); // Turn on LED6 for NUM 6
break;
case 66:
digitalWrite(LED6, LOW); // Turn off LED6 for NUM 7
break;
case 74:
digitalWrite(LED6, HIGH); // Turn on LED6 for NUM 8
break;
case 82:
digitalWrite(LED6, LOW); // Turn off LED6 for NUM 9
break;
default:
// Handle any unrecognized buttons here, if necessary
break;
}
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
led4:A
led4:C
led5:A
led5:C
led6:A
led6:C
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2
r4:1
r4:2
r5:1
r5:2
r6:1
r6:2
ir1:GND
ir1:VCC
ir1:DAT