// Declaración de variables y constantes
#define ledRojo 13 // Pin en el que se conectará el LED rojo
#define ledAmarillo 12 // Pin en el que se conectará el LED amarillo
#define ledVerde 11 // Pin en el que se conectará el LED verde
#define zumbadorPiezo 10 // Pin en el que se conectará el zumbador piezoelectrico
#define tiempoLedRojo 8000 // Tiempo que permanece el LED rojo encendido en ms (10000 ms = 10 s)
#define tiempoLedAmarillo 1000 // Tiempo que permanece el LED amarillo intermitente en ms (1000 ms = 1 s)
#define tiempoLedVerde 10000 // Tiempo que permanece el LED amarillo intermitente en ms (20000 ms = 20 s)
// La función setup solo se ejecuta una vez al inicio del programa
void setup()
{
// Con pinMode inicializamos los 4 pines 13,12 11 y 10 como salida (OUTPUT) digital
pinMode(ledRojo, OUTPUT);
pinMode(ledVerde, OUTPUT);
pinMode(ledAmarillo, OUTPUT);
pinMode(zumbadorPiezo, OUTPUT);
}
// La función loop se ejecuta de manera indefinida y solo se detiene su ejecución con la funcion delay
void loop()
{
// En primer lugar se enciende el LED rojo durante 8 segundos
digitalWrite(ledRojo, HIGH); // Envia 5 V al pin definido (HIGH equivale al nivel de voltaje) por lo que enciende el LED
delay(tiempoLedRojo); // Se mantiene encendido durante 8 segundos (8000 ms)
digitalWrite(ledRojo, LOW); // Apaga el LED mandando 0 V al pin definido
// Ahora parpadea el LED amarillo durante 5 ocasiones
// Para ello usaremos un bucle for que se repita cinco veces
for (int i=0; i <5; i++)
{
digitalWrite(ledAmarillo, HIGH); // Envia 5 V al pin definido (HIGH) por lo que enciende el LED
digitalWrite(zumbadorPiezo, HIGH); // Envia 5 V al pin definido (HIGH) por lo que enciende el zumbador
delay(tiempoLedAmarillo); // Se mantiene encendido durante 1 segundo (1000 ms)
digitalWrite(ledAmarillo, LOW); // Apaga el LED mandando 0 V al pin definido
digitalWrite(zumbadorPiezo, LOW); // Apaga el zumbador mandando 0 V al pin definido
delay(tiempoLedAmarillo); // Espera un segundo
}
// Se enciende el LED verde durante 10 segundos
digitalWrite(ledVerde, HIGH); // Envia 5 V al pin definido (HIGH) por lo que enciende el LED
delay(tiempoLedVerde); // Se mantiene encendido durante 10 segundos (10000 ms)
digitalWrite(ledVerde, LOW); // Apaga el LED mandando 0 V al pin definido
// Otra vez parpadea el LED amarillo durante 5 ocasiones
// Para ello usaremos un bucle for que se repita cinco veces
for (int i=0; i <5; i++)
{
digitalWrite(ledAmarillo, HIGH); // Envia 5 V al pin definido (HIGH) por lo que enciende el LED
digitalWrite(zumbadorPiezo, HIGH); // Envia 5 V al pin definido (HIGH) por lo que enciende el zumbador
delay(tiempoLedAmarillo); // Se mantiene encendido durante 1 segundo (1000 ms)
digitalWrite(ledAmarillo, LOW); // Apaga el LED mandando 0 V al pin definido
digitalWrite(zumbadorPiezo, LOW); // Apaga el zumbador mandando 0 V al pin definido
delay(tiempoLedAmarillo); // Espera un segundo
}
}