#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
// Inisialisasi LCD dengan alamat I2C 0x27 dan ukuran 16 kolom x 2 baris
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Pin di mana data DHT11 terhubung
#define DHTPIN 2
// Inisialisasi DHT11
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Memulai LCD dengan 16 kolom dan 2 baris
lcd.begin(16, 2);
lcd.backlight(); // Mengaktifkan lampu latar LCD
dht.begin(); // Memulai sensor DHT11
// Menampilkan teks awal di LCD
lcd.setCursor(0, 0);
lcd.print("DHT11 Sensor");
delay(2000);
}
void loop() {
// Membaca data suhu dan kelembaban dari DHT11
float h = dht.readHumidity();
float t = dht.readTemperature();
// Memeriksa apakah pembacaan berhasil
if (isnan(h) || isnan(t)) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Error!");
return;
}
// Menampilkan suhu dan kelembaban di LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print(" %");
delay(2000); // Memperbarui setiap 2 detik
}