int trigPin = 5;
int echoPin = 18;
int ledVerde = 15;
int ledAmarillo = 13;
int ledRojo = 4;
int buzzer = 21;
long duracion;
float distancia;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledVerde, OUTPUT);
pinMode(ledAmarillo, OUTPUT);
pinMode(ledRojo, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duracion = pulseIn(echoPin, HIGH);
distancia = duracion * 0.034 / 2;
if (distancia > 0 && distancia <= 20) {
digitalWrite(ledVerde, HIGH);
digitalWrite(ledAmarillo, LOW);
digitalWrite(ledRojo, LOW);
digitalWrite(buzzer, LOW);
}
else if (distancia > 20 && distancia <= 30) {
digitalWrite(ledVerde, LOW);
digitalWrite(ledAmarillo, HIGH);
digitalWrite(ledRojo, LOW);
digitalWrite(buzzer, LOW);
}
else if (distancia > 30) {
digitalWrite(ledVerde, LOW);
digitalWrite(ledAmarillo, LOW);
digitalWrite(ledRojo, HIGH);
digitalWrite(buzzer, HIGH);
} else {
digitalWrite(ledVerde, LOW);
digitalWrite(ledAmarillo, LOW);
digitalWrite(ledRojo, LOW);
digitalWrite(buzzer, LOW);
}
delay(200);
}