#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#define DHTPIN A0
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); // Alamat I2C LCD 16x2
const int relayPin = 8; // Pin digital untuk relay
const int fanLED = 9; // Pin LED untuk menampilkan kipas
const int mistLED = 10; // Pin LED untuk menampilkan sensor mist spray
void setup() {
Serial.begin(9600);
dht.begin();
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // Aktifkan backlight LCD
pinMode(relayPin, OUTPUT); // Atur pin relay sebagai OUTPUT
pinMode(fanLED, OUTPUT); // Atur pin LED kipas sebagai OUTPUT
pinMode(mistLED, OUTPUT); // Atur pin LED sensor mist sebagai OUTPUT
}
void loop() {
delay(2000); // Tunda 2 detik untuk membaca data baru
// Baca data suhu dan kelembaban dari sensor DHT22
float h = dht.readHumidity();
float t = dht.readTemperature();
// Periksa apakah pembacaan suhu dan kelembaban berhasil
if (isnan(h) || isnan(t)) {
Serial.println("Gagal membaca dari sensor DHT22");
return;
}
// Tampilkan data suhu dan kelembaban pada LCD
lcd.clear(); // Bersihkan layar sebelum menampilkan data baru
lcd.setCursor(0, 0); // Atur posisi kursor ke baris pertama, kolom pertama
lcd.print("Suhu: ");
lcd.print(t);
lcd.print(" C");
lcd.setCursor(0, 1); // Atur posisi kursor ke baris kedua, kolom pertama
lcd.print("Kelembaban: ");
lcd.print(h);
lcd.print("%");
// Tampilkan data suhu dan kelembaban juga di Serial Monitor
Serial.print("Suhu: ");
Serial.print(t);
Serial.print(" C, Kelembaban: ");
Serial.print(h);
Serial.println("%");
// Kontrol kipas berdasarkan suhu
if (t > 25) {
digitalWrite(fanLED, HIGH); // Nyalakan LED kipas
} else {
digitalWrite(fanLED, LOW); // Matikan LED kipas
}
// Kontrol LED sensor mist spray
if (t > 27) {
static unsigned long previousMillis = 0;
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= 10000) {
digitalWrite(mistLED, !digitalRead(mistLED)); // Nyalakan atau matikan LED sensor mist spray
previousMillis = currentMillis;
}
} else {
digitalWrite(mistLED, LOW); // Matikan LED sensor mist spray
}
}