#define BLYNK_TEMPLATE_ID "TMPL6xQHpAnXx"
#define BLYNK_TEMPLATE_NAME "TGS AKHIR PLE RAMOS 01"
#define BLYNK_AUTH_TOKEN "QwDt4nYYLl5_J8C8V1FWkdd3jxgELVdT"
//**********BLYNK, library**************************************
#include <BlynkSimpleEsp32.h>
#include <WiFi.h>
#include <WiFiClient.h>
//***********SERVO, library************************************
#include <ESP32Servo.h>
Servo servo;
int pos = 0;
//**********BLYNK, ssid, pass, token****************************
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
//**********ULTRASONIC, library*********************************
#define trigPin1 2 // Ubah pin sesuai dengan koneksi perangkat keras Anda
#define echoPin1 3 // Ubah pin sesuai dengan koneksi perangkat keras Anda
#define trigPin2 1 // Ubah pin sesuai dengan koneksi perangkat keras Anda
#define echoPin2 0 // Ubah pin sesuai dengan koneksi perangkat keras Anda
void setup() {
//********SERVO, setting pin*********************************
servo.attach(5);
//********BLYNK, mulai koneksi ke blynk***********************
Blynk.begin(auth, ssid, pass);
//********ULTRASONIC, setting pin*****************************
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
//********BLYNK, menambahkan widget Label************************
Blynk.virtualWrite(V1, "Jarak Sensor 1: ");
Blynk.virtualWrite(V2, "Jarak Sensor 2: ");
}
void loop() {
//********BLYNK, menjalankan blynk****************************
Blynk.run();
//********ULTRASONIC, membaca jarak****************************
long duration1, distance1, duration2, distance2;
// Sensor 1
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
duration1 = pulseIn(echoPin1, HIGH);
distance1 = (duration1 / 2) * 0.0343;
// Sensor 2
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
duration2 = pulseIn(echoPin2, HIGH);
distance2 = (duration2 / 2) * 0.0343;
// Tampilkan hasil di Blynk
Blynk.virtualWrite(V1, "Jarak Sensor 1: " + String(distance1) + " cm");
if (distance2 <= 50 && distance2 >= 0) {
Blynk.virtualWrite(V2, "Ada kendaraan dalam garasi");
} else {
Blynk.virtualWrite(V2, "Tidak ada kendaraan dalam garasi");
}
delay(1000); // Tunggu sebentar sebelum mengukur lagi
}