#include "DHT.h" //เรียกไลบรารี่ของเซนเซอร์วัดอุณหภูมิ
#define DHTPIN 13 //กำหนดค่าคงที่ขาดาต้าเซนเซอร์วัดอุณหภูมิขา13
#define DHTTYPE DHT22 //กำหนดค่าตามชนิดDHTที่ใช้งาน
DHT dht(DHTPIN, DHTTYPE); //ให้รู้จักDHTPIN และDHTTYPE DHT
#define ledR 5 //กำหนดขาledR
#define ledY 4 //กำหนดขาledY
#define ledO 3 //กำหนดขาledO
#define ledG 2 //กำหนดขาledG
void setup() {
Serial.begin(115200); //อัตราส่งข้อมูล
dht.begin(); //เริ่มใช้งานเซนเซอร์
pinMode(ledR, OUTPUT); //กำหนดทำงานของขาledR
pinMode(ledY, OUTPUT); //กำหนดทำงานของขาledY
pinMode(ledO, OUTPUT); //กำหนดทำงานของขาledO
pinMode(ledG, OUTPUT); //กำหนดทำงานของขาledG
}
void loop() {
float temperature = dht.readTemperature(); //สร้างตัวแปรtemperature เพื่ออ่านค่าTemperature
Serial.print(temperature); //ให้แสดงข้อมูลTemprature
Serial.println(F("°C "));
delay(2000); //หน่วงเวลา
if(temperature >=0 && temperature <= 25){ //ถ้าtemperature >=0 และ temperature <= 25 ไฟแดงจะติด
digitalWrite(ledR, HIGH);
digitalWrite(ledY, LOW);
digitalWrite(ledO, LOW);
digitalWrite(ledG, LOW);
}else if(temperature >=26 && temperature <= 30){ //ถ้าtemperature >=26 และ temperature <= 30
digitalWrite(ledY, HIGH); //ไฟแดงและไฟเหลืองจะติด
digitalWrite(ledR, HIGH);
digitalWrite(ledO, LOW);
digitalWrite(ledG, LOW);
}else if(temperature >=31 && temperature <= 35){ //ถ้าtemperature >=31 และ temperature <= 35
digitalWrite(ledO, HIGH); //ไฟแดง ไฟเหลือง และไฟส้มจะติด
digitalWrite(ledR, HIGH);
digitalWrite(ledY, HIGH);
digitalWrite(ledG, LOW);
}else if(temperature >=36 && temperature <= 50){ //ถ้าtemperature >=36 และ temperature <= 50
digitalWrite(ledG, HIGH); //ไฟแดง ไฟเหลือง ไฟส้ม และไฟเขียวจะติด
digitalWrite(ledR, HIGH);
digitalWrite(ledY, HIGH);
digitalWrite(ledO, HIGH);
}else{ //ถ้านอกเหนือที่กำหนดไว้ไฟจะไม่ติดสักดวง
digitalWrite(ledR, LOW);
digitalWrite(ledY, LOW);
digitalWrite(ledO, LOW);
digitalWrite(ledG, LOW);
}
}