#define BLYNK_TEMPLATE_ID "TMPL60vbnEJUB"
#define BLYNK_TEMPLATE_NAME "Motion Sensor Template"
#define BLYNK_AUTH_TOKEN "jm9oj5Ahcj_PdGjexAlFX8yFZVOanW_R"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char ssid[] = "Wokwi-GUEST"; //nama hotspot yang digunakan
char pass[] = "";
int led =17; // led is connected to esp32 D17
int pirdata =1 ; // pir D is connected to D1
int pirdata2 =2 ; // pir D is connected to D2
int pirstate=LOW; // assuming no motion
int pirstate2=LOW; // assuming no motion
int value =0; // to read pin status
BlynkTimer timer;
//int flag=0;
BLYNK_CONNECTED()
{
Blynk.syncVirtual(V0);
Blynk.syncVirtual(V1);
}
void setup() {
pinMode(led, OUTPUT); // Led as output
pinMode(pirdata, INPUT); // PIR sensor as input
pinMode(pirdata2, INPUT); // PIR sensor as input
Serial.begin(9600);
Serial.println("SAFE ZONE");
Serial.print("Connecting to WiFi");
WiFi.begin("Wokwi-GUEST", "", 6);
while (WiFi.status() != WL_CONNECTED)
{
delay(100);
Serial.print(".");
}
Serial.println(" Connected!");
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
//dht.begin();
}
void loop() {
pirstate2 = pirstate;
pirstate = digitalRead(pirdata);
value = digitalRead(pirdata);
if (value == HIGH) {
digitalWrite(led, HIGH);
if (pirstate == LOW) {
Serial.println("WARNING! TOO CLOSE(FRONT)");
pirstate = HIGH;
Blynk.logEvent("monitor_distancing","WARNING! TOO CLOSE");
}
} else {
digitalWrite(led, LOW);
if (pirstate == HIGH) {
Serial.println("SAFE ZONE");
pirstate = LOW;
}
}
value = digitalRead(pirdata2);
if (value == HIGH) {
digitalWrite(led, HIGH);
if (pirstate2 == LOW) {
Serial.println("WARNING! TOO CLOSE(BACK)");
pirstate2 = HIGH;
Blynk.logEvent("monitor_distancing","WARNING! TOO CLOSE");
}
} else {
digitalWrite(led, LOW);
if (pirstate2 == HIGH) {
Serial.println("SAFE ZONE");
pirstate2 = LOW;
}
}
}