#include <DHT.h>
#define DHTPIN 26 // ขาเชื่อมต่อเซ็นเซอร์ DHT (ใน Wokwi, เลือกเป็น GPIO 15)
#define DHTTYPE DHT22 // กำหนดชนิดเซ็นเซอร์เป็น DHT22
DHT dht(DHTPIN, DHTTYPE);
#define VENT_PIN 18 // ขาเชื่อมต่อรีเลย์พัดลม
#define AC_PIN 19 // ขาเชื่อมต่อรีเลย์แอร์
void setup() {
Serial.begin(115200);
dht.begin();
pinMode(VENT_PIN, OUTPUT);
pinMode(AC_PIN, OUTPUT);
// เริ่มต้นปิดรีเลย์
digitalWrite(VENT_PIN, LOW);
digitalWrite(AC_PIN, LOW);
}
void loop() {
float temperature = dht.readTemperature();
if (isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println("°C");
// ควบคุมรีเลย์ตามค่าอุณหภูมิที่อ่านได้
if (temperature >= 40) {
digitalWrite(VENT_PIN, LOW); // ปิดพัดลม
digitalWrite(AC_PIN, HIGH); // เปิดแอร์
Serial.println("AC ON, Ventilation OFF");
} else if (temperature >= 30) {
digitalWrite(VENT_PIN, HIGH); // เปิดพัดลม
digitalWrite(AC_PIN, LOW); // ปิดแอร์
Serial.println("Ventilation ON, AC OFF");
} else if (temperature <= 25) {
digitalWrite(VENT_PIN, LOW); // ปิดพัดลม
digitalWrite(AC_PIN, LOW); // ปิดแอร์
Serial.println("AC and Ventilation OFF");
}
delay(2000); // อัปเดตทุกๆ 2 วินาที
}