// Ejemplo - Semaforo coches sencillo
// https://wokwi.com/projects/375294648710055937
const int ledPin_rojo = 23; // GPIO del led rojo
const int ledPin_amarillo = 22; // GPIO del led amarillo
const int ledPin_verde = 21; // GPIO del led verde
// se llama una única vez al inicio del programa antes de comenzar el bule "loop"
void setup()
{
//mode: INPUT, OUTPUT, or INPUT_PULLUP
pinMode(ledPin_rojo, OUTPUT);
pinMode(ledPin_amarillo, OUTPUT);
pinMode(ledPin_verde, OUTPUT);
Serial.begin(115200);
delay(1000);
Serial.println("Simulador de Semaforo");
}
// funcion de código que se repite indefinidamente
void loop()
{
Serial.println("Semáforo en rojo... 5 segundos");
digitalWrite(ledPin_rojo, HIGH);
digitalWrite(ledPin_amarillo, LOW);
digitalWrite(ledPin_verde, LOW);
delay(5000);
Serial.println("Semáforo se va a poner en verde... ");
digitalWrite(ledPin_rojo, HIGH);
digitalWrite(ledPin_amarillo, LOW);
digitalWrite(ledPin_verde, LOW);
delay(2000);
Serial.println("Semáforo en verde... ");
digitalWrite(ledPin_rojo, LOW);
digitalWrite(ledPin_amarillo,LOW);
digitalWrite(ledPin_verde, HIGH);
delay(5000);
Serial.println("Semáforo se va a poner en rojo... ");
digitalWrite(ledPin_rojo, LOW);
digitalWrite(ledPin_amarillo, HIGH);
digitalWrite(ledPin_verde, HIGH);
delay(2000);
// se vuelve a llamar a loop => arriba de la función
}