//
// Semaforo pedonale
//
const int Verde = 10; // Pin per il LED verde del semaforo pedonale
const int Giallo = 11; // Pin per il LED giallo del semaforo pedonale
const int Rosso = 12; // Pin per il LED rosso del semaforo pedonale
const int Pulsante = 2; // Pin per il pulsante del semaforo pedonale
const int Verde2 = 7; // Pin per il LED verde del semaforo dei veicoli
const int Giallo2 = 8; // Pin per il LED giallo del semaforo dei veicoli
const int Rosso2 = 9; // Pin per il LED rosso del semaforo dei veicoli
void setup() {
pinMode(Verde, OUTPUT); // Imposta il pin del LED verde come output
pinMode(Giallo, OUTPUT); // Imposta il pin del LED giallo come output
pinMode(Rosso, OUTPUT); // Imposta il pin del LED rosso come output
pinMode(Pulsante, INPUT_PULLUP); // Imposta il pin del pulsante come input con pull-up
pinMode(Verde2, OUTPUT); // Imposta il pin del LED verde dei veicoli come output
pinMode(Giallo2, OUTPUT); // Imposta il pin del LED giallo dei veicoli come output
pinMode(Rosso2, OUTPUT); // Imposta il pin del LED rosso dei veicoli come output
}
void loop() {
bool statoPulsante = digitalRead(Pulsante); // Legge lo stato del pulsante
digitalWrite(Verde, HIGH); // Accende il LED verde del semaforo pedonale
digitalWrite(Rosso2, HIGH); // Accende il LED rosso del semaforo dei veicoli
if (statoPulsante == LOW) { // Se il pulsante è premuto
digitalWrite(Verde, LOW); // Spegne il LED verde del semaforo pedonale
delay(2200); // Attende per 2.2 secondi
digitalWrite(Giallo, HIGH); // Accende il LED giallo del semaforo pedonale
delay(4000); // Attende per 4 secondi
digitalWrite(Giallo, LOW); // Spegne il LED giallo del semaforo pedonale
digitalWrite(Rosso2, LOW); // Spegne il LED rosso del semaforo dei veicoli
digitalWrite(Rosso, HIGH); // Accende il LED rosso del semaforo pedonale
delay(1000); // Attende per 1 secondo
digitalWrite(Verde2, HIGH); // Accende il LED verde del semaforo dei veicoli
delay(5000); // Attende per 5 secondi
digitalWrite(Rosso, LOW); // Spegne il LED rosso del semaforo pedonale
digitalWrite(Verde2, LOW); // Spegne il LED verde del semaforo dei veicoli
}
}