const int trigPin1 = 13; // First ultrasonic sensor trigger pin
const int echoPin1 = 12; // First ultrasonic sensor echo pin
const int trigPin2 = 9; // Second ultrasonic sensor trigger pin
const int echoPin2 = 8; // Second ultrasonic sensor echo pin
const int trigPin3 = 5; // Third ultrasonic sensor trigger pin
const int echoPin3 = 4; // Third ultrasonic sensor echo pin
const int trigPin4 = 1 ; // Fourth ultrasonic sensor trigger pin
const int echoPin4 = 0; // Fourth ultrasonic sensor echo pin
const int led1 = 11; // First LED pin (Red)
const int led2 = 10; // Second LED pin (Green)
const int led3 = 7; // Third LED pin (Red)
const int led4 = 6; // Fourth LED pin (Green)
const int led5 = 2; // Fifth LED pin (Green)
const int led6 = 3; // Sixth LED pin (Red)
const int led7 = A5; // Seventh LED pin (Green)
const int led8 = A4; // Eighth LED pin (Red)
void setup() {
pinMode(trigPin1, OUTPUT);
pinMode(echoPin1, INPUT);
pinMode(trigPin2, OUTPUT);
pinMode(echoPin2, INPUT);
pinMode(trigPin3, OUTPUT);
pinMode(echoPin3, INPUT);
pinMode(trigPin4, OUTPUT); // New ultrasonic sensor trigger pin
pinMode(echoPin4, INPUT); // New ultrasonic sensor echo pin
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT); // New LED pin (Green)
pinMode(led8, OUTPUT); // New LED pin (Red)
Serial.begin(9600);
}
void loop() {
// Measure distance using the first ultrasonic sensor
int distance1 = getDistance(trigPin1, echoPin1);
// Measure distance using the second ultrasonic sensor
int distance2 = getDistance(trigPin2, echoPin2);
// Measure distance using the third ultrasonic sensor
int distance3 = getDistance(trigPin3, echoPin3);
// Measure distance using the fourth ultrasonic sensor
int distance4 = getDistance(trigPin4, echoPin4);
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");
Serial.print("Distance 4: ");
Serial.print(distance4);
Serial.println(" cm");
// Control LEDs based on the smallest distance among all sensors
int smallestDistance = min(min(distance1, distance2), min(distance3, distance4));
// Turn off all LEDs first
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
// Turn on the corresponding LEDs based on the smallest distance
if (smallestDistance == distance1) {
digitalWrite(led2, HIGH); // Turn on First Green LED
} else if (smallestDistance == distance2) {
digitalWrite(led4, HIGH); // Turn on Second Green LED
} else if (smallestDistance == distance3) {
digitalWrite(led5, HIGH); // Turn on Third Green LED
} else if (smallestDistance == distance4) {
digitalWrite(led7, HIGH); // Turn on Seventh Green LED
}
// Turn on Red LEDs for other sensors
if (smallestDistance != distance1) {
digitalWrite(led1, HIGH); // Turn on First Red LED
}
if (smallestDistance != distance2) {
digitalWrite(led3, HIGH); // Turn on Second Red LED
}
if (smallestDistance != distance3) {
digitalWrite(led6, HIGH); // Turn on Third Red LED
}
if (smallestDistance != distance4) {
digitalWrite(led8, HIGH); // Turn on Eighth Red LED
}
delay(500); // Add a delay to avoid rapid switching
}
int getDistance(int trigPin, int echoPin) {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
return pulseIn(echoPin, HIGH) * 0.034 / 2;
}