#define TIME 2000
void setup() {
pinMode(2, OUTPUT); //inicializamos la salida 2 digital como salida
pinMode(3, OUTPUT); //inicializamos la salida 3 digital como salida
pinMode(4, OUTPUT); //inicializamos la salida 4 digital como salida
pinMode(8, INPUT_PULLUP); //Pull up resistor para la entrada digital 8
}
void loop() {
// verde por un rato
cambioColor(0);//Mandamos llamar la función cambia color y ademas pasamos el valor de
//switch case 0, por que solamente encendera el LED de color verde
delay(TIME); //Retraso en tiempo de 2 segundos
cambioColor(1);// Linea 15 a 24 mandamos llamar la función CambiaColor con valor 1 y lo apagmos
//con delay de 200MS como si fuera la espera de semaforo
delay(200);
allOff();
delay(200);
cambioColor(1);
delay(200);
allOff();
delay(200);
cambioColor(1);
delay(200);
allOff(); //función de apagado de todos los leds
cambioColor(2); //De nuevo llamamos a la función CambiaColor pero switch case con valor 2
delay(TIME);
}
void cambioColor(int val) { //Declaración de función CambiaColor, cuando se hace llamar espera
//la entrada de un valor que determinara la casilla en el switch case
switch (val) {//Switch case para la acción con el LED
case 0:
digitalWrite(2, HIGH); //Enciende
digitalWrite(3, LOW);
digitalWrite(4, LOW);
break;
case 1:
digitalWrite(2, LOW);
digitalWrite(3, HIGH); //Enciende
digitalWrite(4, LOW);
break;
case 2:
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
break;
}
}
void allOff() { //Función para apagar todos los LEDs. Esta función no espera un valor de entrada
//solamente apagara todos los LEDs con tan solo llamarla en el código
digitalWrite(2, LOW); //Lineas 54 a 57 apagado de LEDs
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}