#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
// Pin sensor DHT22
#define DHTPIN 12
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// Alamat I2C LCD biasanya 0x27, ukuran 16 kolom x 2 baris
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
Serial.begin(9600);
dht.begin();
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Nyalakan backlight LCD
lcd.setCursor(0,0);
lcd.print("Stasiun Cuaca");
lcd.setCursor(0,1);
lcd.print("Mini I2C LCD");
delay(2000);
lcd.clear();
}
void loop() {
delay(2000);
float kelembapan = dht.readHumidity();
float suhu = dht.readTemperature();
if (isnan(kelembapan) || isnan(suhu)) {
lcd.clear();
lcd.print("Gagal baca");
lcd.setCursor(0,1);
lcd.print("sensor DHT22");
Serial.println("Gagal membaca sensor DHT22!");
return;
}
Serial.print("Suhu: ");
Serial.print(suhu);
Serial.print(" C ");
Serial.print("Kelembapan: ");
Serial.print(kelembapan);
Serial.println(" %");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Suhu: ");
lcd.print(suhu);
lcd.print(" C");
lcd.setCursor(0,1);
lcd.print("Kelemb: ");
lcd.print(kelembapan);
lcd.print(" %");
}