#define BLYNK_TEMPLATE_ID "TMPL6q8k08Nb5"
#define BLYNK_TEMPLATE_NAME "sending data"
#define BLYNK_AUTH_TOKEN "HfYLJFDjDYwPgtK-a5ig2XCJxLzVaFwX"
#include <BlynkSimpleEsp32.h>
#define LED_PIN 15
#define PIR_PIN 19
#define BUZZER_PIN 23
bool isActivated = false;
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
void setup() {
pinMode(LED_PIN, OUTPUT);
pinMode(PIR_PIN, INPUT);
pinMode(BUZZER_PIN, OUTPUT);
Blynk.begin(auth, ssid, pass); // replace with your WiFi SSID and password
timer.setInterval(1000L, checkSensors);
}
void loop() {
Blynk.run();
timer.run();
}
void checkSensors() {
if (isActivated && digitalRead(PIR_PIN) == HIGH) {
digitalWrite(BUZZER_PIN, HIGH);
tone(BUZZER_PIN, 500);
delay(1000);
noTone(BUZZER_PIN);
Blynk.virtualWrite(V0, 255); // Turn on virtual LED in Blynk app
} else {
digitalWrite(BUZZER_PIN, LOW);
Blynk.virtualWrite(V0, 0); // Turn off virtual LED in Blynk app
}
}
BLYNK_WRITE(V1) { // assuming V1 is the virtual pin assigned to the button in the Blynk app
int pinValue = param.asInt();
if (pinValue == 1) {
isActivated = !isActivated;
digitalWrite(LED_PIN, isActivated ? HIGH : LOW);
digitalWrite(LED_PIN, isActivated ? HIGH : LOW);
Blynk.virtualWrite(V0, isActivated ? 255 : 0); // Update virtual LED in Blynk app
Blynk.virtualWrite(V2, isActivated ? 255 : 0);
}
}
BLYNK_WRITE(V2) { // assuming V2 is the virtual pin assigned to the button in the Blynk app
int pinValue = param.asInt();
if (pinValue == 1) {
digitalWrite(BUZZER_PIN, LOW);
}
}