#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;
  }
}
$abcdeabcde151015202530354045505560fghijfghij
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