#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 2 // Pin dimana DHT11 terhubung
#define DHTTYPE DHT11 // Tipe sensor DHT11
#define LDRPIN A0 // Pin dimana LDR terhubung
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C dari LCD biasanya 0x27 atau 0x3F, dengan 16 kolom dan 2 baris
void setup() {
lcd.begin(16, 2); // Menginisialisasi LCD dengan 16 kolom dan 2 baris
lcd.backlight(); // Menyalakan backlight LCD
dht.begin(); // Menginisialisasi sensor DHT11
Serial.begin(9600); // Memulai komunikasi serial dengan baud rate 9600
}
void loop() {
float h = dht.readHumidity(); // Membaca kelembaban dari sensor DHT11
float t = dht.readTemperature(); // Membaca suhu dari sensor DHT11
int ldrValue = analogRead(LDRPIN); // Membaca nilai dari sensor LDR
lcd.setCursor(0, 0); // Mengatur kursor LCD di baris pertama
lcd.print("Temp: "); // Menampilkan teks "Temp: "
lcd.print(t); // Menampilkan nilai suhu
lcd.print(" C"); // Menampilkan teks " C"
lcd.setCursor(0, 1); // Mengatur kursor LCD di baris kedua
lcd.print("Hum: "); // Menampilkan teks "Hum: "
lcd.print(h); // Menampilkan nilai kelembaban
lcd.print(" %"); // Menampilkan teks " %"
delay(2000); // Menunggu selama 2 detik
lcd.clear(); // Membersihkan layar LCD
lcd.setCursor(0, 0); // Mengatur kursor LCD di baris pertama
lcd.print("Light: "); // Menampilkan teks "Light: "
lcd.print(ldrValue); // Menampilkan nilai dari sensor LDR
delay(2000); // Menunggu selama 2 detik
}