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

Entradas populares