#include "DHT.h"
#define DHTPIN 4 // กำหนดพินที่เซนเซอร์เชื่อมต่อ
#define DHTTYPE DHT22 // กำหนดประเภทเซนเซอร์ (DHT22)
DHT dht(DHTPIN, DHTTYPE); // สร้างออบเจ็กต์ DHT
void setup() {
Serial.begin(9600);
Serial.println(F("DHTxx test!"));
dht.begin(); // เริ่มต้นเซนเซอร์
}
void loop() {
// หน่วงเวลา 2 วินาที
delay(2000);
// อ่านค่าความชื้น
float h = dht.readHumidity();
// อ่านค่าอุณหภูมิ (Celsius)
float t = dht.readTemperature();
// อ่านค่าอุณหภูมิ (Fahrenheit)
float f = dht.readTemperature(true);
// ตรวจสอบว่าอ่านค่าไม่ได้ (NaN คือค่าไม่ถูกต้อง)
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println(F("Failed to read from DHT sensor!"));
return; // ถ้าอ่านค่าไม่ได้ ให้กลับไปเริ่มต้นใหม่
}
// คำนวณค่า Heat Index
float hif = dht.computeHeatIndex(f, h); // ใน Fahrenheit
float hic = dht.computeHeatIndex(t, h, false); // ใน Celsius
// แสดงผลลัพธ์
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print(F(" C "));
Serial.print(f);
Serial.print(F(" F Heat index: "));
Serial.print(hic);
Serial.print(F(" C "));
Serial.print(hif);
Serial.println(F(" F"));
}