#define BLYNK_TEMPLATE_ID "TMPL6kRqWeenx"
#define BLYNK_TEMPLATE_NAME "KONTROL SENSOR"
#define BLYNK_AUTH_TOKEN "CnjRHSgFIbLgFbxMUbR4QkV3CMzuONXE"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
char auth[] = "CnjRHSgFIbLgFbxMUbR4QkV3CMzuONXE"; // Ganti dengan token autentikasi Blynk Anda
char ssid[] = "Wokwi-GUEST"; // Ganti dengan nama WiFi Anda
char pass[] = ""; // Ganti dengan kata sandi WiFi Anda
int pirPin = 4; // Pin GPIO yang terhubung ke sensor PIR
int ledPin = 2; // Pin GPIO yang terhubung ke LED
int motionCount = 0; // Variabel untuk menghitung gerakan
BlynkTimer timer;
void setup()
{
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, sendMotionCount); // Mengirim jumlah gerakan setiap 1 detik
}
void loop()
{
Blynk.run();
timer.run();
checkMotion();
}
void checkMotion()
{
int motionState = digitalRead(pirPin);
if (motionState == HIGH)
{
digitalWrite(ledPin, HIGH); // Nyalakan LED selama 0.5 detik
delay(500);
digitalWrite(ledPin, LOW); // Matikan LED
motionCount++;
Serial.println("Gerakan Terdeteksi!"); // Tampilkan pesan di konsol
Serial.println(motionCount);
}
}
void sendMotionCount()
{
Blynk.virtualWrite(V0, motionCount); // Kirim jumlah gerakan ke widget Label (V0)
}