#include <Wire.h>
#include <LiquidCrystal_I2C.h>
const int holdButtonPin = 2; // Pin untuk tombol "hold"
const int resetButtonPin = 3; // Pin untuk tombol reset
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C untuk LCD
int measuredValue = 0; // Nilai yang diukur
int holdValue = 0; // Nilai yang akan ditahan
bool isHoldActive = false; // Status "hold" aktif atau tidak
int a = 0;
void setup() {
pinMode(holdButtonPin, INPUT);
pinMode(resetButtonPin, INPUT);
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Aktifkan pencahayaan belakang LCD
}
void loop() {
// Baca tombol "hold"
int holdButtonState = digitalRead(holdButtonPin);
if (holdButtonState == HIGH) {
// Tombol "hold" ditekan
holdValue = measuredValue; // Simpan nilai yang akan ditampilkan
isHoldActive = true;
}
// Baca tombol reset
int resetButtonState = digitalRead(resetButtonPin);
if (resetButtonState == HIGH) {
// Tombol reset ditekan
measuredValue = 0; // Reset nilai yang diukur
a = 0; // Reset variabel a
isHoldActive = false; // Nonaktifkan "hold"
}
// Simulasikan pengukuran nilai (misalnya, dari sensor)
a++; // Tambah 1 ke variabel a
measuredValue = a;
// Tampilkan nilai di LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.setCursor(0, 1);
if (isHoldActive) {
lcd.print("HOLD: ");
lcd.print(holdValue);
} else {
lcd.print("Value: ");
lcd.print(measuredValue);
}
delay(100);
}