Progetto 4 Semaforo

1. Descrizione

Il modulo semaforo è un dispositivo utilizzato per controllare il percorso di pedoni e veicoli. Include una luce rossa, una gialla e una verde, che indicano istruzioni diverse.

Rosso per Stop: Pedoni e veicoli devono fermarsi.

Giallo per Attenzione: Pedoni e veicoli devono prepararsi a fermarsi. Se la marcia è già in corso, la velocità deve essere ridotta.

Verde per Procedere: Pedoni e veicoli possono continuare rispettando il codice della strada.

In questo progetto, puoi usare Arduino per scrivere codice che controlli i semafori. Ad esempio, impostare la durata di ogni luce e l’intervallo di tempo tra di esse. Inoltre, puoi aggiungere un timer per modificare i colori delle luci secondo una programmazione.

2. Schema di Collegamento

3. Codice di Test

/*
  keyestudio ESP32 Inventor Learning Kit 
  Project 4 Traffic Light
  http://www.keyestudio.com
*/
int greenPin = 27;   //Green LED connects to IO27
int yellowPin = 26; //Yellow LED connects to IO26
int redPin = 25;   //Red LED connects to IO25

void setup() 
{
  //Set all LED interfaces to output mode
  pinMode(greenPin, OUTPUT);
  pinMode(yellowPin, OUTPUT);
  pinMode(redPin, OUTPUT);
}

void loop() 
{
  digitalWrite(greenPin, HIGH); //Light green LED up 
  delay(5000);  //Delay 5s
  digitalWrite(greenPin, LOW); //Turn green LED off 
  for (int i = 1; i <= 3; i++) //Execute for 3 times
  {  
    digitalWrite(yellowPin, HIGH); //Light yellow LED up
    delay(500); //Delay 0.5s
    digitalWrite(yellowPin, LOW); // Turn yellow LED off
    delay(500); //Delay 0.5s
  }
  digitalWrite(redPin, HIGH); //Light red LED up 
  delay(5000);  //Delay 5s 
  digitalWrite(redPin, LOW); //Turn red LED off 

}

4. Risultato del Test

Dopo aver caricato il codice, il LED verde si accenderà per 5 secondi, il LED giallo lampeggerà 3 volte e il LED rosso si accenderà per 5 secondi, in ciclo continuo.