// Pin definition
const int trigPin = 2;
const int echoPin = 3;
const int led_red = 4;
const int led_green = 5;
const int led_white = 6;
const int buzzer = 7;
//Distance Threshold (in cm)
const int distanceThreshold = 25;
void setup() {
// Initialize Serial Monitor
Serial.begin(9600);
//Set Pin Modes
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(led_red, OUTPUT);
pinMode(led_green, OUTPUT);
pinMode(led_white, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
// Measure Distance
long duration;
float distance;
// Read Echo Pulse
duration = pulseIn(echoPin, HIGH);
distance = (duration * 0.0343) / 2; // Convert to cm
Serial.print("Distance: ");
Serial.print(distance);
Serial.print(" cm");
// Check Distance and Control LEDs/Buzzer
if (distance > 0 && distance <= distanceThreshold) {
digitalWrite(led_red, HIGH);
digitalWrite(led_green, HIGH);
digitalWrite(led_white, HIGH);
digitalWrite(buzzer, HIGH);
} else {
digitalWrite(led_red, LOW);
digitalWrite(led_green, LOW);
digitalWrite(led_white, LOW);
digitalWrite(buzzer, LOW);
}
// Short delay for stable readings
delay(200); }