#include <LiquidCrystal.h>
#include <DHT.h>
// Inisialisasi pin untuk LCD
const int rs = PA0, en = PA1, d4 = PA2, d5 = PA3, d6 = PA4, d7 = PA5;
// Inisialisasi LCD
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// Inisialisasi pin dan tipe sensor DHT
#define DHTPIN PA7
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Memulai LCD
lcd.begin(16, 2); // 16 karakter, 2 baris pada LCD
// Memulai sensor DHT
dht.begin();
}
void loop() {
// Membaca nilai kelembaban dan suhu dari sensor DHT
float h = dht.readHumidity();
float t = dht.readTemperature();
// Cek apakah pembacaan berhasil
if (isnan(h) || isnan(t)) {
lcd.setCursor(0, 0);
lcd.print("Error membaca");
lcd.setCursor(0, 1);
lcd.print("sensor DHT!");
delay(2000); // Tampilkan pesan error selama 2 detik
return;
}
// Menampilkan nilai suhu pada baris pertama LCD
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(t);
lcd.print(" C");
// Menampilkan nilai kelembaban pada baris kedua LCD
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print(" %");
// Delay untuk memperbarui nilai setiap 2 detik
delay(2000);
}