#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#define BLYNK_TEMPLATE_ID "TMPL6qM0ZCgPh"
#define BLYNK_TEMPLATE_NAME "4LED"
#define BLYNK_AUTH_TOKEN "irOEVKv3uPd5PW8OdsusEm6I2YFsDYwe"
#define BLYNK_PRINT Serial
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
const int ledPin = 26;
const int buttonPin = 13;
bool ledState = false;
BlynkTimer timer;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 300;
void checkButton()
{
unsigned long currentTime = millis();
if (digitalRead(buttonPin) == LOW && (currentTime - lastDebounceTime > debounceDelay)) {
ledState = !ledState;
digitalWrite(ledPin, ledState);
Blynk.virtualWrite(V1, ledState);
lastDebounceTime = currentTime;
}
}
BLYNK_WRITE(V1)
{
ledState = param.asInt();
digitalWrite(ledPin, ledState);
}
void setup()
{
Serial.begin(115200);
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
Blynk.begin(auth, ssid, pass);
timer.setInterval(100L, checkButton);
}
void loop()
{
Blynk.run();
timer.run();
}