#define BLYNK_TEMPLATE_ID "TMPL6qkalULLi"
#define BLYNK_TEMPLATE_NAME "temp humidity"
#define BLYNK_AUTH_TOKEN "ZHh86QUWcl31bqpVWjocPrMggnHaV8Hp"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include <Wire.h>
#define DHTPIN 32
#define Red_Led 19
#define Yellow_Led 5
#define Green_Led 18
#define DHTTYPE DHT22
#define VIRTUAL_PIN_TEMP V3
#define VIRTUAL_PIN_HUMIDITY V4
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16,2);
void setup () {
Blynk.begin(auth, ssid, pass);
pinMode(Red_Led, OUTPUT);
pinMode(Yellow_Led, OUTPUT);
pinMode(Green_Led, OUTPUT);
lcd.init();
lcd.backlight();
dht.begin();
}
void loop() {
Blynk.run();
float temperature = dht.readTemperature();
float humidity = dht.readHumidity();
lcd.setCursor(0,0);
lcd.print("Temp : ");
lcd.print(temperature);
lcd.setCursor(0,1);
lcd.print("Humidity : ");
lcd.print(humidity);
lcd.print("%");
// อัปเดตข้อมูลไปยัง Blynk
if (!isnan(temperature)) {
Blynk.virtualWrite(VIRTUAL_PIN_TEMP, temperature); // ส่งค่าของ Temperature ไปยัง Virtual Pin V3
}
if (!isnan(humidity)) {
Blynk.virtualWrite(VIRTUAL_PIN_HUMIDITY, humidity); // ส่งค่าของ Humidity ไปยัง Virtual Pin V4
}
// ควบคุมหลอด LED ตามเงื่อนไข
if (humidity >= 60 && temperature >= 40) {
digitalWrite(Green_Led, HIGH);
digitalWrite(Red_Led, HIGH);
digitalWrite(Yellow_Led, HIGH);
} else {
digitalWrite(Green_Led, LOW);
digitalWrite(Red_Led, LOW);
digitalWrite(Yellow_Led, LOW);
}
delay(2000); // หน่วงเวลาเพื่อไม่ให้อัปเดตบ่อยเกินไป
}