SEMÁFORO PARA PEATONES Y COCHES


  int boton = 9; // declaro variable del botón

int rojocoche = 10; // variables del SEMÁFORO de coches

int amarillocoche = 11;

int verdecoche = 12;

int rojopeaton = 7; // variables del SEMÁFORO de peatones

int verdepeaton = 5;


void setup() // le digo  a las variables cuáles van a estar activas en el momento inicial y cuáles no


{

  pinMode(boton, INPUT);

  pinMode(rojocoche, OUTPUT);

  pinMode(amarillocoche, OUTPUT);

 pinMode(verdecoche, OUTPUT);

  pinMode(rojopeaton, OUTPUT);

  pinMode(verdepeaton, OUTPUT);

 Serial.begin(9600);// para ver que funciones se producen en el programa de arduino


}


void loop() {  

  // estado inicial del semáforo

  digitalWrite(verdecoche, HIGH);

  digitalWrite(rojopeaton, HIGH);

  int estado_boton = digitalRead(boton);// esta función programa al botón para que funcione

  Serial.println(estado_boton);

  if (estado_boton == true)   // cuando el botón está activado se realizan otras funciones

  {

    digitalWrite(rojopeaton, HIGH);

    digitalWrite(verdecoche, LOW);

  

    for (int i = 0; i < 10; i++) // para que el semáforo amarillo de coches parpadee durante un tiempo

    

    {

      digitalWrite(amarillocoche, HIGH);  // parpadeo del amarillo

      delay(100);

      digitalWrite(amarillocoche, LOW);

      delay(100);

    }


    // que ocurre después del parpadeo


    digitalWrite(verdecoche, LOW);

    digitalWrite(rojocoche, HIGH);

    digitalWrite(verdepeaton, HIGH);

    digitalWrite(rojopeaton, LOW);

    delay(2000);

  

    

  for (int i = 0; i < 10; i++) // para que el semáforo verde de peatones parpadee durante un tiempo

  {

    digitalWrite(verdepeaton, HIGH);  // parpadeo del verde

    delay(100);

    digitalWrite(verdepeaton, LOW);

    delay(100);

  }

  // que ocurre después del parpadeo

  digitalWrite(verdecoche, HIGH);

  digitalWrite(rojocoche, LOW);

  digitalWrite(verdepeaton, LOW);

  digitalWrite(rojopeaton, HIGH);

  delay(2000);


}



}  

Comentarios