#define BLYNK_TEMPLATE_ID "TMPL6nWyx-s0F"
#define BLYNK_TEMPLATE_NAME "c6lab2"
#define BLYNK_AUTH_TOKEN "xmIv8wQ4ep05C8xipL1wLlf--vI_gDRO"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <string.h>
#include "DHT.h"
// DHT define
#define DHTTYPE DHT22
#define DHTPIN 14
DHT dht(DHTPIN, DHTTYPE);
// Define LOA
#define BUZZER 27
WidgetLED LOA(V1);
int btn;
char auth[] = BLYNK_AUTH_TOKEN;
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
void setup()
{
// Debug console
pinMode(BUZZER, OUTPUT);
digitalWrite(BUZZER, LOW);
LOA.off();
Serial.begin(115200);
dht.begin();
Blynk.begin(auth,ssid,pass);
}
BLYNK_WRITE(V0)
{
btn = param.asInt();
if(btn == 1)
{
digitalWrite(BUZZER, HIGH);
LOA.on();
}
else
{
digitalWrite(BUZZER, LOW);
LOA.off();
}
}
void loop()
{
Blynk.run();
// Read Temp
float t = dht.readTemperature();
// Read Humi
float h = dht.readHumidity();
// Check isRead ?
if(isnan(h) || isnan(t))
{
delay(500);
Serial.println("Failed to read from DHT sensor!\n");
return;
}
if(t > 40)
{
digitalWrite(BUZZER, HIGH);
LOA.on();
delay(5000);
digitalWrite(BUZZER, LOW);
LOA.off();
}
Blynk.virtualWrite(V2,t);
Blynk.virtualWrite(V3,h);
Serial.print("\n");
Serial.print("NHIET DO: " + String(t) + "C");
Serial.print("\t");
Serial.print("DO AM: " + String(h) + "%");
delay(2000);
}