#define BLYNK_TEMPLATE_ID "TMPL3QmX0Lhwg"
#define BLYNK_TEMPLATE_NAME "project1"
#define BLYNK_AUTH_TOKEN "seZEu5jyUUULVq01ED3jAKWyhABUpwie"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#define TRIG_PIN 18 // ESP32 pin GIOP23 connected to Ultrasonic Sensor's TRIG pin
#define ECHO_PIN 5 // ESP32 pin GIOP22 connected to Ultrasonic Sensor's ECHO pin
char auth[] = "seZEu5jyUUULVq01ED3jAKWyhABUpwie";
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
float duration_us, distance_cm;
BlynkTimer timer;
void sendSensorData()
{
// generate 10-microsecond pulse to TRIG pin
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// measure duration of pulse from ECHO pin
duration_us = pulseIn(ECHO_PIN, HIGH);
// calculate the distance
distance_cm = 0.017 * duration_us;
// ligt up led if distance under limit
//if (distance_cm < 30) {digitalWrite(LED, HIGH);
//}else{digitalWrite(LED, LOW);
//}
// print the value to Serial Monitor
Serial.print("distanceA: ");
Serial.print(distance_cm);
Serial.println(" cm ");
Blynk.virtualWrite(V0, distance_cm); // Virtual Pin V1 for temperature
// Blynk.virtualWrite(V1, humidity); // Virtual Pin V2 for humidity
}
void setup()
{
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
// configure the trigger pin to output mode
pinMode(TRIG_PIN, OUTPUT);
// configure the echo pin to input mode
pinMode(ECHO_PIN, INPUT);
timer.setInterval(1000L, sendSensorData); // Send sensor data every 5 seconds
}
void loop()
{
Blynk.run();
timer.run();
}