#define BLYNK_TEMPLATE_ID "TMPL6v6pW2O_V"
#define BLYNK_TEMPLATE_NAME "Quickstart Device"
#define BLYNK_AUTH_TOKEN "dx_L9ulTmdDqIF8f0t03kB8uj3hTtrCC"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
#define DHTPIN 14
#define DHTTYPE DHT22
#define LED_RED 18
#define LED_GRN 19
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
// ควบคุมไฟเขียวผ่านแอป (V2)
BLYNK_WRITE(V2) {
int value = param.asInt();
digitalWrite(LED_GRN, value);
Serial.print("Green LED Status: ");
Serial.println(value);
}
// อ่านค่าเซนเซอร์และส่งไป Blynk (V1)
void sendSensor() {
float t = dht.readTemperature();
if (isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Blynk.virtualWrite(V1, t);
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" C");
if (t > 30.0) {
digitalWrite(LED_RED, HIGH);
} else {
digitalWrite(LED_RED, LOW);
}
}
void setup() {
Serial.begin(115200);
delay(1000); // รอให้บอร์ดนิ่งก่อนเริ่มรัน
pinMode(LED_RED, OUTPUT);
pinMode(LED_GRN, OUTPUT);
dht.begin();
Serial.println("Starting WiFi...");
WiFi.begin(ssid, pass);
// เชื่อมต่อ Blynk โดยไม่ให้เครื่องค้าง
Blynk.config(BLYNK_AUTH_TOKEN);
Blynk.connect();
timer.setInterval(2000L, sendSensor);
Serial.println("System Ready!");
}
void loop() {
Blynk.run();
timer.run();
}