#include <DHT.h>
#include <LiquidCrystal_I2C.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
lcd.init(); // Menginisialisasi layar LCD
lcd.backlight(); // Mengaktifkan pencahayaan layar LCD
Serial.begin(115200); // Inisialisasi komunikasi serial dengan kecepatan 115200 bps
dht.begin(); // Memulai komunikasi dengan sensor DHT
pinMode(12, OUTPUT); // Mengatur pin 12 sebagai OUTPUT
}
void loop() {
float t= dht.readTemperature(); // Membaca suhu dari sensor DHT
float h= dht.readHumidity(); // Membaca kelembaban dari sensor DHT
lcd.setCursor(0,0); // Mengatur kursor layar LCD ke baris 1, kolom 1
lcd.print("Temp : "); // Menampilkan teks "Temp : "
lcd.print(t); // Menampilkan suhu
lcd.print((char)223); // Menampilkan simbol derajat Celsius
lcd.print("C"); // Menampilkan karakter "C"
lcd.setCursor(0,1); // Mengatur kursor layar LCD ke baris 2, kolom 1
lcd.print("Humid : "); // Menampilkan teks "Humid : "
lcd.print(h); // Menampilkan kelembaban
lcd.print("%"); // Menampilkan karakter persen
if (t >= 38) {
digitalWrite(12, HIGH); // Mengatur lampu LED yang terhubung pin 12 menjadi HIGH (ON) jika suhu lebih besar atau sama dengan 38°C
}
if (t <= 38) {
digitalWrite(12, LOW); // Mengatur lampu LED yang terhubung pin 12 menjadi LOW (OFF) jika suhu kurang dari 38°C
}
Serial.println("Suhu : "); // Mencetak teks "Suhu : "
Serial.println(t); // Mencetak nilai suhu
delay(1000); // Menunggu selama 1 detik untuk looping data berikutnya
}