#define BLYNK_TEMPLATE_ID "TMPL6WcgzySEw"
#define BLYNK_TEMPLATE_NAME "Project UAS"
#define BLYNK_AUTH_TOKEN "3EGVpIkdkhKv8GnYI07TGb8zcTZIF6bz"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#define TRIG_PIN 2 // Pin trigger sensor ultrasonik
#define ECHO_PIN 15 // Pin echo sensor ultrasonik
#define BUZZER_PIN 4 // Pin untuk buzzer
BlynkTimer timer;
void setupLEDC() {
ledcSetup(0, 2000, 8); // Channel 0, 2000 Hz, 8-bit resolution
ledcAttachPin(BUZZER_PIN, 0); // Attach BUZZER_PIN to channel 0
}
void checkDistance() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration * 0.0343 / 2;
Blynk.virtualWrite(V1, distance); // Kirim jarak ke Blynk gauge
if (distance <= 50.0) {
ledcWrite(0, 125); // Mengaktifkan buzzer
Blynk.virtualWrite(V4, 255);
Blynk.virtualWrite(V3, 0);
Serial.println("Mobil sudah dekat dengan dinding");
} else {
ledcWrite(0, 0); // Mematikan buzzer
Blynk.virtualWrite(V3, 255);
Blynk.virtualWrite(V4, 0);
Serial.println("Mobil masih bisa mundur");
}
}
void setup() {
Serial.begin(9600);
setupLEDC(); // Setup LEDC untuk buzzer
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
Blynk.begin(BLYNK_AUTH_TOKEN, "Wokwi-GUEST", ""); // Sesuaikan dengan SSID dan password WiFi Anda
timer.setInterval(1000L, checkDistance);
}
void loop() {
Blynk.run();
timer.run();
}