/// Blynk Template Info
#define BLYNK_TEMPLATE_ID "TMPLelH8pItB"
#define BLYNK_TEMPLATE_NAME "1025queen"
#define BLYNK_AUTH_TOKEN "_vON8XTgvqS_A0xRPcPRnmTdFSjA48iu"
#define BLYNK_PRINT Serial
#include <BlynkSimpleEsp32.h>
/// Wi-Fi Configuration
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
/// Ultrasonic Sensor Pins
#define TRIG_PIN_1 2
#define ECHO_PIN_1 4
#define TRIG_PIN_2 5
#define ECHO_PIN_2 18
#define TRIG_PIN_3 19
#define ECHO_PIN_3 21
#define TRIG_PIN_4 22
#define ECHO_PIN_4 23
void setup() {
Serial.begin(115200);
pinMode(TRIG_PIN_1, OUTPUT);
pinMode(ECHO_PIN_1, INPUT);
pinMode(TRIG_PIN_2, OUTPUT);
pinMode(ECHO_PIN_2, INPUT);
pinMode(TRIG_PIN_3, OUTPUT);
pinMode(ECHO_PIN_3, INPUT);
pinMode(TRIG_PIN_4, OUTPUT);
pinMode(ECHO_PIN_4, INPUT);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
}
float readDistance(int trigPin, int echoPin) {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
float duration = pulseIn(echoPin, HIGH);
float distance = (duration * 0.0343) / 2; // Calculate distance in cm
return distance;
}
void loop() {
//Blynk.run();
float distance1 = readDistance(TRIG_PIN_1, ECHO_PIN_1);
float distance2 = readDistance(TRIG_PIN_2, ECHO_PIN_2);
float distance3 = readDistance(TRIG_PIN_3, ECHO_PIN_3);
float distance4 = readDistance(TRIG_PIN_4, ECHO_PIN_4);
float avgDistance = (distance1 + distance2 + distance3 + distance4) / 4.0;
Serial.println(avgDistance);
int ContainInPercent = map(avgDistance, 0, 400, 100, 0);
Serial.println(ContainInPercent);
Blynk.virtualWrite(V0, ContainInPercent); // Send average distance to Blynk
delay(1000);
}