#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
// กำหนดพินและประเภทของ DHT sensor
#define DHTPIN 5 // กำหนดขาที่เชื่อมต่อกับ DHT11
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// กำหนดค่า Blynk
char auth[] = "BLYNK_AUTH_TOKEN"; // ใส่ Auth Token จาก Blynk
char ssid[] = "IoTWiFi"; // ใส่ชื่อ Wi-Fi
char pass[] = ""; // ใส่รหัสผ่าน Wi-Fi
void setup()
{
// เริ่มต้นการสื่อสารแบบ serial สำหรับการ debug
Serial.begin(115200);
// เริ่มต้นการเชื่อมต่อกับ Blynk
Blynk.begin(auth, ssid, pass);
// เริ่มต้นการทำงานของ DHT sensor
dht.begin();
}
void loop()
{
// เริ่มต้นการทำงานของ Blynk
Blynk.run();
// อ่านค่าอุณหภูมิและความชื้นจาก DHT11
float h = dht.readHumidity(); // ค่าความชื้น
float t = dht.readTemperature(); // ค่าอุณหภูมิเป็นเซลเซียส
// ตรวจสอบว่าการอ่านค่าจากเซ็นเซอร์สำเร็จหรือไม่
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// ส่งค่าที่อ่านได้ไปยัง Blynk
Blynk.virtualWrite(V5, t); // ส่งค่าอุณหภูมิไปที่ Virtual Pin 5
Blynk.virtualWrite(V6, h); // ส่งค่าความชื้นไปที่ Virtual Pin 6
// แสดงค่าที่อ่านได้ใน Serial Monitor
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" °C ");
Serial.print("Humidity: ");
Serial.print(h);
Serial.println(" %");
// หน่วงเวลาการอ่านค่าครั้งต่อไป 2 วินาที
delay(2000);
}