#include <IRremote.h>
#include <LiquidCrystal_I2C.h>
 LiquidCrystal_I2C LCD(0x27,20,4);
#define IR_RECEIVE_PIN 6

decode_results results;
const int redPin =2 ;


void setup(){
    IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
  Serial.begin(9600);
    pinMode(redPin, OUTPUT);
    LCD.init();
  LCD.backlight();
  LCD.begin(16,2);
}

void loop(){
    if (IrReceiver.decode()) 
    {
      translateIR();
    IrReceiver.resume();
     }
     }



     void translateIR()
{
  // Takes command based on IR code received
  switch (IrReceiver.decodedIRData.command) {
    case 162:
      LCD.print("POWER");
      break;
    case 226:
      LCD.print("MENU");
      break;
    case 34:
      LCD.print("TEST");
      break;
    case 2:
      LCD.print("PLUS");
      break;
    case 194:
      LCD.print("BACK");
      break;
    case 224:
      LCD.print("PREV.");
      break;
    case 168:
      LCD.print("PLAY");
      break;
    case 144:
      LCD.print("NEXT");
      break;
    case 104:
      LCD.print("num: 0");
      break;
    case 152:
      LCD.print("MINUS");
      break;
    case 176:
      LCD.print("key: C");
      break;
    case 48:
      LCD.print("num: 1");
      break;
    case 24:
      LCD.print("num: 2");
      break;
    case 122:
      LCD.print("num: 3");
      break;
    case 16:
      LCD.print("num: 4");
      break;
    case 56:
      LCD.print("num: 5");
      break;
    case 90:
      LCD.print("num: 6");
      break;
    case 66:
      LCD.print("num: 7");
      break;
    case 74:
      LCD.print("num: 8");
      break;
    case 82:
      LCD.print("num: 9");
      break;
    default:
      LCD.clear();
      LCD.print(IrReceiver.decodedIRData.command);
      LCD.print(" other button");
  }}