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
Publicar un comentario