#include <Arduino.h>
#include <IRremote.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Define pin untuk receiver IR
#define IR_RECEIVE_PIN 14
// Inisialisasi objek IR
IRrecv irrecv(IR_RECEIVE_PIN);
decode_results results;
// Inisialisasi objek LCD
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// Inisialisasi Serial Monitor
Serial.begin(9600);
// Inisialisasi LCD
lcd.init();
lcd.backlight();
// Inisialisasi receiver IR
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results)) {
// Jika mendapatkan sinyal IR
unsigned long value = results.value;
// Clear hasil sebelumnya
lcd.clear();
// Menampilkan nilai yang diterima dari remote
lcd.setCursor(0, 0);
lcd.print("Nilai A: ");
lcd.print(value);
// Meminta nilai B dari pengguna melalui Serial Monitor
Serial.println("Masukkan Nilai B:");
while (!Serial.available()) {
delay(100);
}
int valueB = Serial.parseInt();
// Menampilkan nilai B di LCD
lcd.setCursor(0, 1);
lcd.print("Nilai B: ");
lcd.print(valueB);
// Menampilkan hasil penambahan di LCD
int hasil = value + valueB;
lcd.setCursor(0, 2);
lcd.print("Hasil: ");
lcd.print(hasil);
// Mengosongkan buffer Serial Monitor
while (Serial.available()) {
Serial.read();
}
// Menunggu hingga tombol di remote dilepas
irrecv.resume();
// Menunggu sebentar agar tombol remote tidak terbaca ganda
delay(500);
}
}