#include "DHTesp.h"
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27 // Alamat I2C dari LCD
#define LCD_COLUMNS 20 // Jumlah kolom LCD
#define LCD_LINES 4 // Jumlah baris LCD
const int DHT_PIN = 13; // Pin untuk sensor DHT11 (ubah sesuai pin yang digunakan)
DHTesp dhtSensor; // Membuat objek DHTesp
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
void setup() {
Serial.begin(115200); // Memulai komunikasi serial
dhtSensor.setup(DHT_PIN, DHTesp::DHT11); // Konfigurasi DHT11 pada pin yang dipilih
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Mengaktifkan lampu latar LCD
}
void loop() {
// Membaca data suhu dan kelembaban dari sensor
TempAndHumidity data = dhtSensor.getTempAndHumidity();
// Menampilkan data di Serial Monitor
Serial.println("Temp: " + String(data.temperature, 1) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
Serial.println("---");
// Menampilkan data pada LCD
lcd.setCursor(0, 0); // Baris pertama, kolom pertama
lcd.print(" Suhu: " + String(data.temperature, 1) + "\xDF" + "C ");
lcd.setCursor(0, 1); // Baris kedua, kolom pertama
lcd.print(" Kelembaban: " + String(data.humidity, 1) + "% ");
lcd.setCursor(0, 2); // Baris ketiga, kolom pertama
lcd.print("Wokwi Online IoT"); // Pesan tambahan (opsional)
delay(2000); // Delay 2 detik sebelum pembacaan berikutnya
}