// Define pins
const int TRIG_PIN = 7;
const int ECHO_PIN = 6;
const int LED1_PIN = 3; // Close range
const int LED2_PIN = 4; // Medium range
const int LED3_PIN = 5; // Far range
float duration_us, distance_cm;
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
pinMode(LED3_PIN, OUTPUT);
}
void loop() {
// Trigger the ultrasonic sensor
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Read the echo pulse
duration_us = pulseIn(ECHO_PIN, HIGH);
// Calculate distance (cm)
distance_cm = 0.0343 * duration_us / 2;
// Turn on LEDs based on distance
if (distance_cm < 50) {
digitalWrite(LED1_PIN, HIGH); // Very close
digitalWrite(LED2_PIN, LOW);
digitalWrite(LED3_PIN, LOW);
} else if (distance_cm >= 50 && distance_cm < 100) {
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, HIGH); // Medium
digitalWrite(LED3_PIN, LOW);
} else {
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, LOW);
digitalWrite(LED3_PIN, HIGH); // Far
}
delay(300); // Small delay for stability
}