#include <DHT.h>
#define DHTPIN 4 // กำหนดหมายเลขขาที่เชื่อมต่อกับ DHT22
#define DHTTYPE DHT22 // เลือกชนิดของเซ็นเซอร์ (DHT11, DHT21, DHT22)
#define RELAY_PIN 14 // กำหนดหมายเลขขาที่เชื่อมต่อกับรีเลย์
DHT dht(DHTPIN, DHTTYPE); // สร้างอ็อบเจ็กต์ DHT
void setup() {
Serial.begin(9600);
pinMode(RELAY_PIN, OUTPUT); // กำหนดหมายเลขขาที่เชื่อมต่อกับรีเลย์เป็น Output
dht.begin(); // เริ่มต้นการใช้งานเซ็นเซอร์ DHT
}
void loop() {
// อ่านค่าอุณหภูมิและความชื้น
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// ตรวจสอบว่าอ่านค่าได้หรือไม่
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// พิมพ์ค่าอุณหภูมิและความชื้นที่อ่านได้
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" *C");
// ตรวจสอบค่าอุณหภูมิ หากอุณหภูมิมากกว่าหรือเท่ากับ 25 องศาเซลเซียส เปิดรีเลย์
if (temperature >= 25) {
digitalWrite(RELAY_PIN, HIGH); // เปิดรีเลย์
Serial.println("Relay is ON");
} else {
digitalWrite(RELAY_PIN, LOW); // ปิดรีเลย์
Serial.println("Relay is OFF");
}
delay(2000); // หน่วงเวลาเพื่อให้ระบบทำงานไม่เร็วเกินไป
}