#define BLYNK_TEMPLATE_ID "TMPL6zmXfKaHK"
#define BLYNK_TEMPLATE_NAME "My Project"
#define BLYNK_AUTH_TOKEN "-Suu9pGlY3Kw9uNTWdM726riQP9Ww_jn"
#define BLYNK_PRINT Serial
#include <WiFi.h> // Include the WiFi library for ESP32
#include <BlynkSimpleEsp32.h> // Include the Blynk library for ESP32
// #include <Servo.h> // Include the Servo library
#include <ESP32Servo.h>
#define trigPin 4 // GPIO4 on ESP32
#define echoPin 2 // GPIO5 on ESP32
#define trigPin_1 12 // GPIO12 on ESP32
#define echoPin_1 13 // GPIO14 on ESP32
#define servoPin 18 // GPIO13 on ESP32 for servo signal pin
char auth[] = "-Suu9pGlY3Kw9uNTWdM726riQP9Ww_jn";
char ssid[] = "Wokwi-GUEST"; // Enter your WiFi name
char pass[] = ""; // Enter your WiFi password
long duration;
int distance;
long duration_1;
int distance_1;
Servo myServo; // Create a Servo object
BlynkTimer timer;
void readD() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Distance: ");
Serial.println(distance);
delay(20);
Blynk.virtualWrite(V0, distance);
// Rotate the servo if distance is less than 40cm
if (distance < 40) {
myServo.write(90); // Rotate servo to 90 degrees
} else {
myServo.write(0); // Rotate servo to 0 degrees
}
}
void readD_1() {
digitalWrite(trigPin_1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin_1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin_1, LOW);
duration_1 = pulseIn(echoPin_1, HIGH);
distance_1 = duration_1 * 0.034 / 2;
Serial.print("Distance_1: ");
Serial.println(distance_1);
delay(20);
Blynk.virtualWrite(V1, distance_1);
}
void setup() {
Serial.begin(9600);
Serial.println("Hello");
pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
pinMode(echoPin, INPUT); // Sets the echoPin as an Input
pinMode(trigPin_1, OUTPUT); // Sets the trigPin_1 as an Output
pinMode(echoPin_1, INPUT); // Sets the echoPin_1 as an Input
myServo.attach(servoPin); // Attach the servo to the specified GPIO pin
myServo.write(0); // Initialize servo at 0 degrees
Blynk.begin(auth, ssid, pass);
timer.setInterval(100L, readD);
timer.setInterval(100L, readD_1);
}
void loop() {
Blynk.run();
timer.run();
}