#define BLYNK_TEMPLATE_ID "TMPLwIVvKLU4"
#define BLYNK_TEMPLATE_NAME "Smart Home"
#define BLYNK_AUTH_TOKEN "xY8LGcznHN0HeWdxosra1qT43FzDdS3r"
#define BLYNK_PRINT Serial
const int sensorPIR = 2;
const int ledSensorPIR = 4;
const int ledLampu = 12;
int a = 0; //Untuk menyalakan sistem
#include <BlynkSimpleEsp32.h>
#include <PIR.h> //Llibrary untuk PIR
#include <WiFi.h>
#include <WiFiClient.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
void setup() {
pinMode(sensorPIR, INPUT);
pinMode(ledSensorPIR, OUTPUT);
pinMode(ledLampu, OUTPUT);
Blynk.begin(auth, ssid, pass);
}
void loop() {
infraRedSensor();
Blynk.run();
delay(100);
}
BLYNK_WRITE(V1){
int sistem = (param.asInt());
if (sistem == 1){
digitalWrite(ledSensorPIR, HIGH);
a = 1;
} else {
a = 0;
digitalWrite(ledSensorPIR, LOW);
}
}
BLYNK_WRITE(V3) {
int lampu = param.asInt();
Blynk.virtualWrite(V3, lampu);
if (lampu == 1 ){
digitalWrite(ledLampu, HIGH);
Blynk.virtualWrite(V4, "Lampu Menyala");
} else {
digitalWrite(ledLampu, LOW);
Blynk.virtualWrite(V4, "Lampu Padam");
}
}
void infraRedSensor() {
int pirValue = digitalRead(sensorPIR);
if (a == 1){
Blynk.virtualWrite(V2, "Sensor Aktif");
if (pirValue == HIGH) {
Blynk.virtualWrite(V0, "Ada orang");
}
if (pirValue == LOW){
Blynk.virtualWrite(V0, "Tidak ada orang");
}
delay(100);
}
if (a == 0) {
digitalWrite(pirValue, LOW);
digitalWrite(ledSensorPIR, LOW);
digitalWrite(ledLampu, LOW);
Blynk.virtualWrite(V2, "Sensor Tidak Aktif");
}
}