#include <IRremote.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// IR setup
const int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
// LCD setup (I2C address may be 0x27 or 0x3F)
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup() {
Serial.begin(9600);
irrecv.begin(RECV_PIN);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("IR Receiver Ready");
}
void loop() {
if (irrecv.decode()) {
unsigned long code = irrecv.decodedIRData.decodedRawData;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("IR Code:");
lcd.setCursor(0, 1);
lcd.print(code, HEX); // Use DEC for decimal if you want
Serial.print("IR Code: ");
Serial.println(code, HEX);
delay(1000); // Avoid rapid refresh
irrecv.resume(); // Ready to receive next
}
}