#define BLYNK_TEMPLATE_ID "TMPL3fbS4LbBo"
#define BLYNK_TEMPLATE_NAME "HOME AUTOMATION"
#define BLYNK_AUTH_TOKEN "bfrxjZmU355OV-Q0qcWr-MF0Fu6ttW9H"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
#define BUTTON_PIN 26
#define RELAY_PIN 13
int relayState = 0;
#define BUTTON_VPIN V1
BlynkTimer timer;
BLYNK_CONNECTED() {
Blynk.syncVirtual(BUTTON_VPIN);
}
BLYNK_WRITE(BUTTON_VPIN) {
relayState = param.asInt();
digitalWrite(RELAY_PIN, relayState);
}
void setup() {
Serial.begin(115200);
pinMode(BUTTON_PIN, INPUT_PULLUP);
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, HIGH);
Blynk.begin(auth, ssid, pass);
}
void loop() {
Blynk.run();
timer.run();
listenPushButton();
}
void listenPushButton() {
if (digitalRead(BUTTON_PIN) == LOW) {
delay(200);
controlRelay();
Blynk.virtualWrite(BUTTON_VPIN, relayState);
}
}
void controlRelay() {
relayState = !relayState;
digitalWrite(RELAY_PIN, relayState);
Serial.print("Relay State = ");
Serial.println(relayState);
delay(50);
}