#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHTesp.h>
#define LCD_ADDRESS 0x27 // Alamat I2C LCD
#define LCD_COLS 16 // Jumlah kolom LCD
#define LCD_ROWS 2 // Jumlah baris LCD
#define DHTType DHTesp::DHT22
const int DHTPIN = 13; // Pin yang terhubung ke sensor DHT22
DHTesp dht;
LiquidCrystal_I2C lcd(LCD_ADDRESS, LCD_COLS, LCD_ROWS);
void setup() {
Serial.begin(115200);
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Nyalakan backlight LCD
dht.setup(DHTPIN, DHTType);
lcd.setCursor(0, 0);
lcd.print("Kejuruan ioT");
lcd.setCursor(0, 1);
lcd.print("UPT BLK Surabaya");
}
void loop() {
delay(dht.getMinimumSamplingPeriod());
float humidity = dht.getHumidity();
float temperature = dht.getTemperature();
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Gagal membaca data dari sensor DHT!");
return;
}
Serial.print("Suhu: ");
Serial.print(temperature);
Serial.print("°C\tKelembaban: ");
Serial.print(humidity);
Serial.println("%");
lcd.clear(); // Bersihkan tampilan LCD
lcd.setCursor(0, 0);
lcd.print("Suhu: ");
lcd.print(temperature);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Kelembaban: ");
lcd.print(humidity);
lcd.print("%");
delay(2000);
}