#include <DHT.h>
#define LED 16
#define DHTPIN 4 // ກຳນົດຂາ pin ຂອງ esp32 ທີ່ເຊື່ອມຕໍ່ກັບຂາ data ຂອງ dht22
#define DHTTYPE DHT22 // ປະກາດປະເພດຂອງ dht ທີ່ໃຊ້
DHT dht(DHTPIN, DHTTYPE); //ສ້າງຊື່ object ໃຫ້ dht pin&type
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600); //ເລີ່ມຕົ້ນການສື່ສານແບບ serial ທີ່ມີອັດຕາຮັບສົ່ງຂໍ້ມູນເທົ່າກັບ 9600/s
dht.begin();//ເລີ່ມຕົ້ນການອ່ານຄ່າຂອງ dht ເຊິ່ງເປັນ function ມາຈາກ dht library
}
void loop() {
delay(2000); // ລໍຖ້າ 2 ວິກ່ອນເລີ່ມເຂົ້າການເຮັດວຽກ
float humidity = dht.readHumidity();//ໃຊ້ງານ function ສຳຫຼັບອ່ານຄ່າຄວາມຊຸ່ມ
float temperature = dht.readTemperature();// ໃຊ້ງານ function ສຳຫຼັບອ່ານຄ່າອຸນຫະພູມ
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");//ກວດສອບວ່າ sensor ອ່ານຄ່າບໍ່
return;
}
if (temperature < 10){
digitalWrite(LED, 1);// turn on
}else{
digitalWrite(LED, 0);//
}
Serial.print("Humidity: "); // print ຄ່າຂອງຄວາມຊຸ່ມໄປສະແດງທີ່ serial monitor
Serial.print(humidity);
Serial.print("%\t");
Serial.print("Temperature: "); // print ຄ່າຂອງອຸນຫະພູມໄປສະແດງທີ່ serial monitor
Serial.print(temperature);
Serial.println("°c \n");
}