#define BLYNK_TEMPLATE_ID "TMPL6zkT1S-fg"
#define BLYNK_TEMPLATE_NAME "Humidity Temp Sensor"
#define BLYNK_AUTH_TOKEN "w6OkAzNhFWsa5u4dAfpKsQoZH5NaT3_H"
#include <BlynkSimpleEsp32.h>
#include <LiquidCrystal_I2C.h>
#include <ESP32Servo.h>
#define alert_light 19
#define humidifier 5
#define I2C_ADDR 0x27
#define LCD_COLUMNS 20
#define LCD_LINES 4
#define buzzer 14
Servo servo;
LiquidCrystal_I2C lcd(I2C_ADDR, LCD_COLUMNS, LCD_LINES);
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
void setup() {
pinMode(alert_light, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(humidifier, OUTPUT);
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
servo.attach(2);
lcd.init();
lcd.backlight();
}
BLYNK_WRITE(V3) {
int buttonState = param.asInt();
if (buttonState == 1) {
digitalWrite(alert_light, HIGH);
tone(buzzer, 1000);
} else {
digitalWrite(alert_light, LOW);
noTone(buzzer);
}
}
BLYNK_WRITE(V4) {
int servoState = param.asInt();
if (servoState == 1) {
servo.write(180);
} else {
servo.write(0);
}
}
BLYNK_WRITE(V5) {
int buttonState = param.asInt();
if (buttonState == 1) {
digitalWrite(humidifier, HIGH);
} else {
digitalWrite(humidifier, LOW);
}
}
// void sendDHTData() {
// float temp = dht.getTemperature();
// float humid = dht.getHumidity();
// if (isnan(humid) || isnan(temp)) {
// Serial.println("Failed to read from DHT sensor!");
// return;
// }
// Blynk.virtualWrite(V1, temp);
// Blynk.virtualWrite(V2, humid);
// Serial.print("Humidity: ");
// Serial.print(humid);
// Serial.print("%\t");
// Serial.print("Temperature: ");
// Serial.print(temp);
// Serial.println(" °C");
// }
void loop() {
Blynk.run();
timer.run();
delay(1000);
}