// ==========================================
// PASTE YOUR BLYNK CREDENTIALS HERE
#define BLYNK_TEMPLATE_ID "TMPL3_YPqoovD"
#define BLYNK_TEMPLATE_NAME "Smart home automation"
#define BLYNK_AUTH_TOKEN "k7DfdSbEcNCGVG6VcbwsUFbBFWYQwzey"
// ==========================================
// ==========================================
// ==========================================
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
const int relayLight = 26;
const int relayFan = 27;
void setup() {
Serial.begin(115200);
pinMode(relayLight, OUTPUT);
pinMode(relayFan, OUTPUT);
// Start in the OFF condition (Active-Low: HIGH = OFF)
digitalWrite(relayLight, HIGH);
digitalWrite(relayFan, HIGH);
Serial.println("Connecting to Blynk...");
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
}
void loop() {
Blynk.run();
}
// ==========================================
// BLYNK APP CONTROL LOGIC (ACTIVE-LOW MAPPED)
// ==========================================
BLYNK_WRITE(V0) {
int pinValue = param.asInt(); // Get value from app (1 for ON, 0 for OFF)
if (pinValue == 1) {
digitalWrite(relayLight, LOW); // App says ON -> Send LOW to trigger relay
Serial.println("Light turned ON via Blynk");
} else {
digitalWrite(relayLight, HIGH); // App says OFF -> Send HIGH to release relay
Serial.println("Light turned OFF via Blynk");
}
}
BLYNK_WRITE(V1) {
int pinValue = param.asInt();
if (pinValue == 1) {
digitalWrite(relayFan, LOW); // App says ON -> Send LOW to trigger relay
Serial.println("Fan turned ON via Blynk");
} else {
digitalWrite(relayFan, HIGH); // App says OFF -> Send HIGH to release relay
Serial.println("Fan turned OFF via Blynk");
}
}