#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL3flNEGhkD"
#define BLYNK_TEMPLATE_NAME "virtual reality navigation assistant"
#define BLYNK_AUTH_TOKEN "tNqV7WOLxdTfW5-I_t1CZaVD-IkNFgZC"
// Obstacle Detection IoT Project with ESP32, Ultrasonic Sensor, and Buzzer
#include <Arduino.h>
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
// Blynk authentication token (get it from the Blynk app)
char auth[] = "tNqV7WOLxdTfW5-I_t1CZaVD-IkNFgZC";
// Pin definitions
const int TRIG_PIN = 26;
const int ECHO_PIN = 25;
const int BUZZER_PIN = 17;
const int DISTANCE_THRESHOLD = 40;
void setup() {
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(BUZZER_PIN, OUTPUT);
// Connect to Wi-Fi
WiFi.begin("Wokwi-GUEST","");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
// Initialize Blynk
Blynk.begin(auth, WiFi.SSID().c_str(), WiFi.psk().c_str());
}
void loop() {
Blynk.run();
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
unsigned long duration_us = pulseIn(ECHO_PIN, HIGH);
float distance_cm = 0.017 * duration_us;
if (distance_cm < DISTANCE_THRESHOLD) {
digitalWrite(BUZZER_PIN, HIGH);
Serial.println("Obstacle detected! Danger!");
} else {
digitalWrite(BUZZER_PIN, LOW);
Serial.println("Clear path ahead.");
}
Serial.print("Distance: ");
Serial.print(distance_cm);
Serial.println(" cm");
delay(500);
}