#define BLYNK_TEMPLATE_ID "TMPL6tDc_WYHI"
#define BLYNK_TEMPLATE_NAME "Keamanan Pintu"
#define BLYNK_AUTH_TOKEN "_EkIC6enYr4p8pnQkorm8vpqRxGjtgcU"
#define TRIGGER_PIN 5
#define ECHO_PIN 4
#define tombol_1 18
#define relay 19
#define buzzer 15
#include <BlynkSimpleEsp32.h>
#include <WiFi.h>
#include <WiFiClient.h>
int SW_relay = 0;
int SW_buzzer = 0;
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BLYNK_WRITE(V0)
{
SW_relay = param.asInt();
if (SW_relay ==1){
digitalWrite(19, HIGH);
Serial.println("Terbuka");
Blynk.virtualWrite(V0, HIGH);
delay(1000);
}
else{
digitalWrite(19, LOW);
Serial.println("Terkunci");
Blynk.virtualWrite(V0, LOW);
delay(1000);
}
}
BLYNK_CONNECTED() {
Blynk.syncAll();
}
void setup() {
Blynk.begin(auth, ssid, pass);
Serial.begin(115200);
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(tombol_1, INPUT);
pinMode(relay, OUTPUT);
}
void loop() {
digitalWrite(TRIGGER_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH);
float distance = (duration * 0.0343) / 2;
if(distance<10){
Serial.print("Ada orang ");
Blynk.logEvent("ultrasonik","Ada orang didepan pintu.....");
digitalWrite(buzzer, HIGH);
tone(buzzer, 200);
}
else if(distance>=10){
digitalWrite(buzzer, LOW);
noTone(buzzer);
}
if(digitalRead(tombol_1)==HIGH ) {
SW_relay ++ ;
Blynk.virtualWrite(V0, HIGH);
digitalWrite(19, HIGH);
Serial.println("Terbuka");
delay(1000);
}
else {}
if (digitalRead(tombol_1)==HIGH ) {
SW_relay -- ;
Blynk.virtualWrite(V0, LOW);
digitalWrite(19, LOW);
Serial.println("Terkunci");
delay(1000);
}
else{}
delay(1000);
Blynk.run();
}