#define speaker 10
#define LedRed 11
#define LedGreen 12
const int pingPin = 2; // Trigger Pin of Ultrasonic Sensor
const int echoPin = 3; // Echo Pin of Ultrasonic Sensor
const int pingPin2 = 4; // Trigger Pin of Ultrasonic Sensor
const int echoPin2 = 5; // Echo Pin of Ultrasonic Sensor
const int pingPin3 = 6; // Trigger Pin of Ultrasonic Sensor
const int echoPin3 = 7; // Echo Pin of Ultrasonic Sensor
const int pingPin4 = 8; // Trigger Pin of Ultrasonic Sensor
const int echoPin4 = 9;
void setup() {
// pin setting
pinMode(pingPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(pingPin2, OUTPUT);
pinMode(echoPin2, INPUT);
pinMode(pingPin3, OUTPUT);
pinMode(echoPin3, INPUT);
pinMode(pingPin4, OUTPUT);
pinMode(echoPin4, INPUT);
pinMode(speaker, OUTPUT); // Initialize buzzer pin
pinMode(LedRed , OUTPUT);
pinMode(LedGreen, OUTPUT);
digitalWrite(LedRed, HIGH);
digitalWrite(LedGreen , HIGH);
Serial.begin(9600); // Starting Serial Terminal
delay(250);
digitalWrite(LedRed, LOW);
digitalWrite(LedGreen , LOW);
Serial.println("starting ...");
}
void loop() {
long duration, inches, cm, duration2, cm2, duration3, cm3, duration4, cm4;
digitalWrite(2,1); //enables the 1rd set of signals
digitalWrite(7,1);
digitalWrite(4,0);
digitalWrite(6,0);
delay(4000);
digitalWrite(3,1); //enables the yellow lights
digitalWrite(7,1);
digitalWrite(2,0);
delay(1000);
digitalWrite(4,1); //enables the 2nd set of signals
digitalWrite(5,1);
digitalWrite(2,0);
digitalWrite(3,0);
digitalWrite(7,0);
delay(4000);
digitalWrite(6,1); //enables the yellow lights
digitalWrite(4,1);
digitalWrite(5,0);
delay(1000);
// generate pulse __|^^^^^|______________
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin, LOW);
duration = pulseIn(echoPin, HIGH);
cm = microsecondsToCentimeters(duration);
Serial.print(cm);
Serial.print("cm");
Serial.println();
digitalWrite(pingPin2, LOW);
delayMicroseconds(2);
digitalWrite(pingPin2, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin2, LOW);
duration2 = pulseIn(echoPin2, HIGH);
cm2 = microsecondsToCentimeters(duration2);
Serial.print(cm2);
Serial.print("cm");
Serial.println();
digitalWrite(pingPin3, LOW);
delayMicroseconds(2);
digitalWrite(pingPin3, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin3, LOW);
duration3 = pulseIn(echoPin3, HIGH);
cm3 = microsecondsToCentimeters(duration3);
Serial.print(cm3);
Serial.print("cm");
Serial.println();
digitalWrite(pingPin4, LOW);
delayMicroseconds(2);
digitalWrite(pingPin4, HIGH);
delayMicroseconds(10);
digitalWrite(pingPin4, LOW);
duration4 = pulseIn(echoPin4, HIGH);
cm4 = microsecondsToCentimeters(duration4);
Serial.print(cm4);
Serial.print("cm");
Serial.println();
if(cm > 200 && cm2 > 200 && cm3 > 200 && cm4 > 200){
digitalWrite(LedRed, LOW);
digitalWrite(LedGreen, HIGH);
noTone(speaker);
}
else{
digitalWrite(LedRed ,HIGH);
digitalWrite(LedGreen, LOW);
tone(speaker, 1000); // You can adjust the frequency of the tone
}
delay(200);
}
long microsecondsToCentimeters(long microseconds) {
return (microseconds / 29 / 2);
}