#include <DHTesp.h>
#include <LiquidCrystal_I2C.h>
int ldr;
DHTesp dhtSensor;
bool button1;
bool lastButton1State = HIGH;
bool showTempHumidity = true; // Awalnya menampilkan suhu dan kelembaban
LiquidCrystal_I2C lcd1(0x27, 16, 2);
void setup() {
pinMode(27, INPUT_PULLUP);
pinMode(14, INPUT);
dhtSensor.setup(26, DHTesp::DHT22);
lcd1.init();
lcd1.backlight();
}
void loop() {
ldr = analogRead(14);
button1 = digitalRead(27);
TempAndHumidity data = dhtSensor.getTempAndHumidity();
// Cek jika tombol baru saja ditekan
if (button1 == LOW && lastButton1State == HIGH) {
showTempHumidity = !showTempHumidity; // Toggle status tampilan
delay(50); // Debounce delay
}
lastButton1State = button1;
// Bersihkan layar LCD dan tampilkan nilai sesuai dengan status tampilan
lcd1.clear();
if (showTempHumidity) {
lcd1.setCursor(0, 0);
lcd1.print("Suhu: ");
lcd1.print(String(data.temperature, 2));
lcd1.print(" C");
lcd1.setCursor(0, 1);
lcd1.print("Lembab: ");
lcd1.print(String(data.humidity, 1));
lcd1.print(" %");
} else {
lcd1.setCursor(0, 0);
lcd1.print("Nilai LDR: ");
lcd1.print(ldr);
lcd1.setCursor(0, 1);
lcd1.print(" ");
}
delay(500);
}