#define BLYNK_TEMPLATE_ID "TMPL6Sc9v5AnK"
#define BLYNK_TEMPLATE_NAME "hhhh"
#define BLYNK_AUTH_TOKEN "zMbErU5jw__3vh5bTNGcvz6CW10aqnQj"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include "DHTesp.h"
#include <LiquidCrystal_I2C.h>
#define Buzzer 26
BlynkTimer timer;
char auth[] = "zMbErU5jw__3vh5bTNGcvz6CW10aqnQj"; // ใส่ Auth Token ของ Blynk ที่ได้รับจากแอปพลิเคชัน Blynk
char ssid[] = "Wokwi-GUEST"; // ใส่ชื่อ WiFi ที่ต้องการเชื่อมต่อ
char pass[] = ""; // ใส่รหัสผ่าน WiFi ที่ต้องการเชื่อมต่อ
int pinLED1 = 2; //ใส่หมายเลขของพิน GPIO ที่เชื่อมกับ LED 1
int pinLED2 = 4;
const int DHT_PIN = 25;
void myTimerEvent()
{
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V2, random(1000));
}
DHTesp dhtSensor;
LiquidCrystal_I2C lcd(0x27, 20, 4);
void setup()
{
Serial.begin(115200);
dhtSensor.setup(DHT_PIN, DHTesp::DHT22); //เซ็นเซอร์ตรวจจับวัดอุณหภูมิและความชื้น
Blynk.begin(auth, ssid, pass); //ทำงานใน Blynk
pinMode(pinLED1, OUTPUT);
pinMode(pinLED2, OUTPUT);
timer.setInterval(50, myTimerEvent);
pinMode(Buzzer, OUTPUT); //เซ็นเซอร์เสียง
lcd.init();
lcd.backlight();
}
void loop()
{
Blynk.run();
TempAndHumidity data = dhtSensor.getTempAndHumidity();
Serial.println("Temp: " + String(data.temperature, 2) + "°C");
Serial.println("Humidity: " + String(data.humidity, 1) + "%");
Serial.println("---");
lcd.setCursor(1,0);lcd.print(data.temperature,1);lcd.print(" C");
lcd.setCursor(1,1);lcd.print(data.humidity,1);lcd.print(" %");
lcd.setCursor(1,2);lcd.print("652021058");
lcd.setCursor(1,3);lcd.print("652021061");
delay(1000);
}
//คำสั่งเสียง
BLYNK_WRITE(V0)
{
int soundState = param.asInt();
if (soundState == 1) {
// เปิดเสียง
tone(Buzzer, 150);
} else {
// ปิดเสียง
noTone(Buzzer);
}
}
//คำสั่งหลอดไฟ
BLYNK_WRITE(V1)
{
int ledState = param.asInt();
if (ledState == 1 || ledState == 2) {
digitalWrite(pinLED1, HIGH);
digitalWrite(pinLED2, HIGH);
} else {
digitalWrite(pinLED1, LOW);
digitalWrite(pinLED2, LOW);
}
}