#include <DHTesp.h>
#define DHT_PIN 5 // Pin data sensor DHT22
#define RAIN_SENSOR_PIN 4 // Pin sensor hujan
#define LIGHT_CONTROL_PIN 2 // Pin untuk menghidupkan/mematikan lampu
#define WINDOW_CONTROL_PIN 14 // Pin untuk membuka/menutup jendela
DHTesp dht; // Objek DHTesp
void setup() {
Serial.begin(115200);
pinMode(RAIN_SENSOR_PIN, INPUT);
pinMode(LIGHT_CONTROL_PIN, OUTPUT);
pinMode(WINDOW_CONTROL_PIN, OUTPUT);
dht.setup(DHT_PIN, DHTesp::DHT22); // Inisialisasi sensor DHT22
}
void loop() {
// Baca suhu dan kelembaban dari sensor DHT22
float temperature = dht.getTemperature();
float humidity = dht.getHumidity();
// Baca status sensor hujan
int rainSensorValue = digitalRead(RAIN_SENSOR_PIN);
// Tampilkan informasi suhu dan kelembaban
Serial.print("Suhu saat ini: ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Kelembaban saat ini: ");
Serial.print(humidity);
Serial.println(" %");
// Tampilkan status sensor hujan
if (rainSensorValue == HIGH) {
Serial.println("Hujan, sebaiknya jangan menjemur pakaian.");
// Tindakan saat hujan (misalnya, matikan lampu, tutup jendela)
digitalWrite(LIGHT_CONTROL_PIN, LOW);
digitalWrite(WINDOW_CONTROL_PIN, HIGH);
} else {
Serial.println("Cuaca cerah, Anda dapat menjemur pakaian.");
// Tindakan saat cuaca cerah (misalnya, hidupkan lampu, buka jendela)
digitalWrite(LIGHT_CONTROL_PIN, HIGH);
digitalWrite(WINDOW_CONTROL_PIN, LOW);
}
delay(5000); // Tunda pembacaan selama 5 detik
}