#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN 2 // Pin data DHT terhubung ke pin 2
#define DHTTYPE DHT11 // Pilih tipe DHT11 atau DHT22
#define LEDPIN 7 // Pin LED terhubung ke pin 7
#define BUZZERPIN 8 // Pin Buzzer terhubung ke pin 8
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C LCD 0x27
void setup() {
pinMode(LEDPIN, OUTPUT);
pinMode(BUZZERPIN, OUTPUT);
lcd.begin(); // Memulai LCD
lcd.backlight(); // Mengaktifkan backlight LCD
dht.begin(); // Memulai sensor DHT
lcd.setCursor(0, 0);
lcd.print("Suhu & Kelembapan");
}
void loop() {
delay(2000); // Tunggu 2 detik antar pembacaan sensor
float suhu = dht.readTemperature(); // Membaca suhu dalam Celsius
float kelembapan = dht.readHumidity(); // Membaca kelembapan
if (isnan(suhu) || isnan(kelembapan)) {
lcd.setCursor(0, 1);
lcd.print("Error membaca data");
return;
}
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Suhu: ");
lcd.print(suhu);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Kelembapan: ");
lcd.print(kelembapan);
lcd.print(" %");
if (suhu >= 25) {
digitalWrite(LEDPIN, HIGH); // Nyalakan LED
digitalWrite(BUZZERPIN, HIGH); // Nyalakan Buzzer
} else {
digitalWrite(LEDPIN, LOW); // Matikan LED
digitalWrite(BUZZERPIN, LOW); // Matikan Buzzer
}
}