codigo de semaforo en tinterkad
const int ledRojo = 2;
const int ledAmarillo = 3;
const int ledVerde = 4;
const int trigPin = 5;
const int echoPin = 6;
const int buzzer = 7;
void setup() {
pinMode(ledRojo, OUTPUT);
pinMode(ledAmarillo, OUTPUT);
pinMode(ledVerde, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
long duracion, distancia;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duracion = pulseIn(echoPin, HIGH);
distancia = duracion * 0.034 / 2;
Serial.print("Distancia: ");
Serial.print(distancia);
Serial.println(" cm");
if (distancia > 0 && distancia < 60) {
digitalWrite(ledRojo, LOW);
for (int i = 0; i < 3; i++) {
digitalWrite(ledAmarillo, HIGH);
delay(300);
digitalWrite(ledAmarillo, LOW);
delay(300);
}
digitalWrite(ledVerde, HIGH);
digitalWrite(buzzer, HIGH);
while (distancia < 60 && distancia > 0) {
delay(500);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duracion = pulseIn(echoPin, HIGH);
distancia = duracion * 0.034 / 2;
}
digitalWrite(ledVerde, LOW);
digitalWrite(buzzer, LOW);
digitalWrite(ledRojo, HIGH);
} else {
digitalWrite(ledVerde, LOW);
digitalWrite(ledAmarillo, LOW);
digitalWrite(ledRojo, HIGH);
digitalWrite(buzzer, LOW);
}
delay(200);
}

Comentarios
Publicar un comentario