#include <IRremote.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int recv = 2; // signal pin of IR receiver
IRrecv receiver(recv);
void setup() {
receiver.enableIRIn(); // to start the receiver
// receiver.begin(recv); we can use any of these two commands
lcd.init();
lcd.backlight();
lcd.print("Press a button");
// put your setup code here, to run once:
}
void loop() {
if (receiver.decode())
{
check();
receiver.resume(); // receive the next value
}
}
void check()
{
switch (receiver.decodedIRData.command)
{
case 162:
lcdprint("POWER");
break;
case 226:
lcdprint("MENU");
break;
case 34:
lcdprint("Test");
break;
case 2:
lcdprint("Plus");
break;
case 194:
lcdprint("Back");
break;
case 224:
lcdprint("preview");
break;
case 168:
lcdprint("Play");
break;
case 144:
lcdprint("Next");
break;
case 104:
lcdprint("Num : 0");
break;
case 152:
lcdprint("Minus");
break;
case 176:
lcdprint("Key : C");
break;
case 48:
lcdprint("Num : 1");
break;
case 24:
lcdprint("Num : 2");
break;
case 122:
lcdprint("Num : 3");
break;
case 16:
lcdprint("Num : 4");
break;
case 56:
lcdprint("Num : 5");
break;
case 90:
lcdprint("Num : 6");
break;
case 66:
lcdprint("Num : 7");
break;
case 74:
lcdprint("Num : 8");
break;
default:
lcd.clear();
lcd.print(receiver.decodedIRData.command);
lcd.print("Other Button");
}
}
void lcdprint(char* text)
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Button pressed :");
lcd.setCursor(0,1);
lcd.print(text);
lcd.print(" Code: ");
lcd.print(receiver.decodedIRData.command);
}
// put your main code here, to run repeatedly: