#define BLYNK_TEMPLATE_ID "TMPLnyEKha1z"
#define BLYNK_DEVICE_NAME "RC Project"
#define BLYNK_AUTH_TOKEN "MqoMtDEiSxroAAb9-vrbraxtx3iCzSkv"
#define BLYNK_PRINT Serial
#include <DHT.h>
#include <Blynk.h>
#include <BlynkSimpleEsp32.h>
#include <WiFi.h>
#include <ESP32Servo.h>
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASSWORD ""
char auth[] = BLYNK_AUTH_TOKEN;
#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
Servo fan;
#define LED 2
#define ALARM 5
void sendSensor(){
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Blynk.virtualWrite(V6, h);
Blynk.virtualWrite(V5, t);
Serial.print("Temperature : ");
Serial.print(t);
Serial.print('\n');
Serial.print("Humidity : ");
Serial.println(h);
if(t > 40){
Blynk.email("[email protected]", "Alert", "Temperature over 40C!");
Blynk.logEvent("temp_alert","Temp above 40 degree");
int pos = 0;
digitalWrite(LED, HIGH);
digitalWrite(ALARM, HIGH);
for (pos = 0; pos <= 360; pos++){
fan.write(pos);
delay(15);
}
}
else{
digitalWrite(LED, LOW);
digitalWrite(ALARM, LOW);
}
}
void setup(){
pinMode(LED, OUTPUT);
pinMode(ALARM, OUTPUT);
Serial.begin(115200);
Blynk.begin(auth, WIFI_SSID, WIFI_PASSWORD);
dht.begin();
timer.setInterval(2500L, sendSensor);
fan.attach(13);
}
void loop(){
Blynk.run();
timer.run();
}