#define TRIG_PIN 5
#define ECHO_PIN 18
#define GREEN_LED 17
#define ORANGE_LED 16
#define RED_LED 15
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(GREEN_LED, OUTPUT);
pinMode(ORANGE_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
Serial.begin(9600);
}
void loop() {
long duration;
int distance;
// Send a 10us pulse to trigger pin
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Read the echo pin and calculate distance
duration = pulseIn(ECHO_PIN, HIGH);
distance = duration * 0.034 / 2; // Convert to centimeters
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
if (distance > 300) {
digitalWrite(GREEN_LED, HIGH);
digitalWrite(ORANGE_LED, LOW);
digitalWrite(RED_LED, LOW);
} else if (distance > 200 && distance <= 300) {
digitalWrite(GREEN_LED, LOW);
digitalWrite(ORANGE_LED, HIGH);
digitalWrite(RED_LED, LOW);
} else if (distance <= 200) {
digitalWrite(GREEN_LED, LOW);
digitalWrite(ORANGE_LED, LOW);
digitalWrite(RED_LED, HIGH);
}
delay(500); // Delay for stability
}