#define BLYNK_TEMPLATE_ID "TMPL3a1SHSwgQ"
#define BLYNK_TEMPLATE_NAME "fire wall system"
#define BLYNK_AUTH_TOKEN "Z1_rGBnPC5km44wEGPKmkKaggEOa51eV"
#include <Wire.h>
#include <BlynkSimpleEsp32.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>
#include "ThingSpeak.h"
#include "pitches.h"
#define DHTTYPE DHT22
#define DHTPIN 16
#define BUZZER_PIN 17
LiquidCrystal_I2C lcd(0x27, 16, 2);
DHT dht(DHTPIN, DHTTYPE);
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
void setup() {
Serial.begin(115200);
pinMode(17, OUTPUT);
digitalWrite(17,LOW);
lcd.init();
lcd.backlight();
lcd.print("Temp:");
Serial.println("Hello, ESP32!");
dht.begin();
Blynk.begin(auth, ssid, pass);
}
void loop() {
delay(2000);
float humidity = dht.readHumidity();
float temp = dht.readTemperature();
if (isnan(humidity) || isnan(temp)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print("% Temp: ");
Serial.print(temp);
Serial.println(" C");
Blynk.virtualWrite(V0, temp);
Blynk.virtualWrite(V1, humidity);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temp);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(humidity);
lcd.print("%");
if (temp > 65) {
digitalWrite(BUZZER_PIN, HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temp);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Alert: Overheat!");
delay(5000);
digitalWrite(BUZZER_PIN, LOW);
} else {
digitalWrite(BUZZER_PIN, LOW);
}
Blynk.run();
}