//Define the pins for the ultrasonic sensors
const int trigPin = 7; // Trigger pin
const int echoPin = 8; //Echopin
int buzzer = 12;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(trigPin, OUTPUT); // Set trigger pin as an output
pinMode(echoPin, INPUT); // Set echo pin as an INPUT
pinMode(3, OUTPUT); //Green
pinMode(4, OUTPUT); //Amber
pinMode(5, OUTPUT); //Red
pinMode(buzzer, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
//Measure the time taken for the pulse to return
long duration = pulseIn(echoPin, HIGH);
//Calculate the distance in CM
//Speed of sound is approximately 343 meters per seconds
//distance = (time * speed of sound) / 2
int distance = duration * 0.0343 / 2;
//Print the distance to the Serial Monitor
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(100);
if(distance>100)
{
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(buzzer, 0);
}
else if(distance>25)
{
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(buzzer, 1);
tone(buzzer, 500, 400);
delay(400);
digitalWrite(buzzer, 0);
tone(buzzer, 500, 400);
delay(400);
}
else
{
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(buzzer, 1);
tone(buzzer, 1000, 100);
delay(100);
digitalWrite(buzzer, 0);
tone(buzzer, 1000, 100);
delay(100);
}
}