#define BLYNK_TEMPLATE_ID "TMPL6g5YI0XIr"
#define BLYNK_TEMPLATE_NAME "IOT Simulator 5"
#define BLYNK_AUTH_TOKEN "sPvjNLypZvP_9JrS2u2OWAz5CG2qa6yv"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <DHT.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
DHT dht(2, DHT22);
int pinled = 33;
int buzzerpin = 12;
int switchbuzz = 0;
int switchled = 0;
void myTone(int pin){
ledcAttachPin(pin,0);
ledcWriteNote(0, NOTE_F, 4);
}
void myNoTone(int pin){
ledcDetachPin(pin);
}
BLYNK_WRITE(V1){
int pin_value = param.asInt();
Serial.println(pin_value);
if(pin_value == 1){
switchled = 1;
}else{
switchled = 0;
}
}
BLYNK_WRITE(V3) {
int pinData = param.asInt();
Serial.println(pinData);
if(pinData == 1){
switchbuzz = 1;
}else{
switchbuzz = 0;
}
}
void sendSensor(){
float temp = dht.readTemperature();
float hum = dht.readHumidity();
if(temp >= 40 || hum <= 20){
if(switchbuzz == 1){
myTone(buzzerpin);
delay(1000);
}else{
myNoTone(buzzerpin);
delay(1000);
}
if(switchled == 1){
digitalWrite(pinled, HIGH);
Blynk.virtualWrite(V2, "LED IS ON");
}else{
digitalWrite(pinled, LOW);
Blynk.virtualWrite(V2, "LED IS OFF");
}
}else{
digitalWrite(pinled, LOW);
myNoTone(buzzerpin);
delay(1000);
}
Blynk.virtualWrite(V4, temp);
Blynk.virtualWrite(V5, hum);
Serial.print("Temperature : ");
Serial.println(temp);
Serial.print("Humidity : ");
Serial.println(hum);
}
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(buzzerpin, OUTPUT);
pinMode(pinled, OUTPUT);
dht.begin();
Blynk.begin(auth, ssid, pass);
}
void loop() {
delay(10);
sendSensor();
Blynk.run();
timer.run();
}