#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 2 // Pin yang terhubung ke DHT22
#define DHTTYPE DHT22 // Tipe sensor DHT
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C bisa 0x27 atau 0x3F
void setup() {
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Nyalakan backlight
dht.begin(); // Mulai sensor DHT
lcd.setCursor(0, 0);
lcd.print("Membaca sensor");
delay(1000); // Tunggu 1 detik
}
void loop() {
float h = dht.readHumidity(); // Baca kelembaban
float t = dht.readTemperature(); // Baca suhu dalam Celsius
// Cek jika pembacaan gagal
if (isnan(h) || isnan(t)) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Sensor Error");
delay(2000);
return;
}
// Tampilkan hasil pembacaan
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Suhu: ");
lcd.print(t, 1); // 1 angka di belakang koma
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Lembap: ");
lcd.print(h, 1);
lcd.print(" %");
delay(2000); // Update setiap 2 detik
}