#define TRIG 9
#define ECHO 10
#define GREEN 2
#define YELLOW 3
#define RED 4
#define BUZZER 5
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(GREEN, OUTPUT);
pinMode(YELLOW, OUTPUT);
pinMode(RED, OUTPUT);
pinMode(BUZZER, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
long t = pulseIn(ECHO, HIGH, 30000); // timeout safety
long cm = t * 0.034 / 2;
Serial.println(cm);
// reset everything
digitalWrite(GREEN, LOW);
digitalWrite(YELLOW, LOW);
digitalWrite(RED, LOW);
digitalWrite(BUZZER, LOW);
if (cm > 25) {
digitalWrite(GREEN, HIGH);
}
else if (cm > 10 && cm <= 25) {
digitalWrite(YELLOW, HIGH);
}
else {
digitalWrite(RED, HIGH);
digitalWrite(BUZZER, HIGH);
}
delay(100);
}