#include <IRremote.h>
#include <LiquidCrystal_I2C.h>
const int irPinReceiver = 2;
const int lcdAddress = 0x27;
const int lcdColumns = 20;
const int lcdRows = 4;
int buttonValue = 0;
IRrecv irrecv(irPinReceiver);
LiquidCrystal_I2C lcd(lcdAddress, lcdColumns, lcdRows);
void setup() {
irrecv.enableIRIn();
lcd.init();
lcd.backlight();
Serial.begin(9600);
lcd.begin(lcdColumns, lcdRows);
lcd.setCursor(0, 1);
lcd.print("IR Sensor & Remote:");
}
void loop() {
if (irrecv.decode()) {
translateIR();
irrecv.resume();
}
}
void translateIR() {
buttonValue = irrecv.decodedIRData.command;
Serial.println(buttonValue);
lcd.clear();
lcd.print("Button Press: ");
if (buttonValue == 162) {
lcd.println("POWER");
} else if (buttonValue == 2) {
lcd.println("VOL+");
} else if (buttonValue == 152) {
lcd.println("VOL-");
} else if (buttonValue == 226) {
lcd.println("MENU");
} else if (buttonValue == 168) {
lcd.println("PLAY");
} else if (buttonValue == 144) {
lcd.println("NEXT");
} else if (buttonValue == 224) {
lcd.println("PREVIOUS");
} else if (buttonValue == 34) {
lcd.println("TEST");
} else if (buttonValue == 176) {
lcd.println("C");
} else if (buttonValue == 104) {
lcd.println("0");
} else if (buttonValue == 2) {
lcd.println("PLUS");
} else if (buttonValue == 194) {
lcd.println("BACK");
} else if (buttonValue == 48) {
lcd.println("1");
} else if (buttonValue == 24) {
lcd.println("2");
} else if (buttonValue == 122) {
lcd.println("3");
} else if (buttonValue == 16) {
lcd.println("4");
} else if (buttonValue == 56) {
lcd.println("5");
} else if (buttonValue == 90) {
lcd.println("6");
} else if (buttonValue == 66) {
lcd.println("7");
} else if (buttonValue == 74) {
lcd.println("8");
} else if (buttonValue == 82) {
lcd.println("9");
} else {
lcd.println("Unknown button");
}
}