const int trigPin1 = 27; // Ultrasonic sensor 1 trigger pin
const int echoPin1 = 26; // Ultrasonic sensor 1 echo pin
const int ledPin1 = 14; // LED 1 connected to GPIO 13 on ESP32
const int trigPin2 = 2; // Ultrasonic sensor 2 trigger pin
const int echoPin2 = 15; // Ultrasonic sensor 2 echo pin
const int ledPin2 = 12; // LED 2 connected to GPIO 12 on ESP32
const int trigPin3 = 18; // Ultrasonic sensor 3 trigger pin
const int echoPin3 = 5; // Ultrasonic sensor 3 echo pin
const int ledPin3 = 13; // LED 3 connected to GPIO 14 on ESP32
void setup() {
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(ledPin1, OUTPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
pinMode(ledPin2, OUTPUT);
pinMode(trigPin3, OUTPUT);
pinMode(echoPin3, INPUT);
pinMode(ledPin3, OUTPUT);
Serial.begin(115200);
}
void loop() {
long duration1, distance1;
long duration2, distance2;
long duration3, distance3;
// Measure distance for sensor 1
digitalWrite(trigPin1, LOW);
delayMicroseconds(2);
digitalWrite(trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin1, LOW);
duration1 = pulseIn(echoPin1, HIGH);
distance1 = (duration1 / 2) / 29.1;
// Measure distance for sensor 2
digitalWrite(trigPin2, LOW);
delayMicroseconds(2);
digitalWrite(trigPin2, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin2, LOW);
duration2 = pulseIn(echoPin2, HIGH);
distance2 = (duration2 / 2) / 29.1;
// Measure distance for sensor 3
digitalWrite(trigPin3, LOW);
delayMicroseconds(2);
digitalWrite(trigPin3, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin3, LOW);
duration3 = pulseIn(echoPin3, HIGH);
distance3 = (duration3 / 2) / 29.1;
Serial.print("Distance 1: ");
Serial.print(distance1);
Serial.println(" cm");
Serial.print("Distance 2: ");
Serial.print(distance2);
Serial.println(" cm");
Serial.print("Distance 3: ");
Serial.print(distance3);
Serial.println(" cm");
// Control LEDs based on the distances
if (distance1 < 200) { // Adjust this threshold as needed
digitalWrite(ledPin1, HIGH); // Turn on LED 1
} else {
digitalWrite(ledPin1, LOW); // Turn off LED 1
}
if (distance2 < 200) { // Adjust this threshold as needed
digitalWrite(ledPin2, HIGH); // Turn on LED 2
} else {
digitalWrite(ledPin2, LOW); // Turn off LED 2
}
if (distance3 < 200) { // Adjust this threshold as needed
digitalWrite(ledPin3, HIGH); // Turn on LED 3
} else {
digitalWrite(ledPin3, LOW); // Turn off LED 3
}
delay(500); // Wait for a while before taking the next measurements
}