#3Principiante

Semaforo

4.8(122)
302 completato
Semaforo
Progetto che simula un vero semaforo con LED rossi, gialli e verdi. Insegna la temporizzazione e la logica di controllo sequenziale.

Video

Schema circuito

Semaforo - Circuit

Codice sorgente

Arduino (C++)
1void setup() {
2  pinMode(2,OUTPUT);
3  pinMode(3,OUTPUT);
4  pinMode(4,OUTPUT);
5}
6void loop() {
7  digitalWrite(2,HIGH);
8  digitalWrite(3,LOW); 
9  digitalWrite(4,LOW);  
10  delay(2000);
11  digitalWrite(2,LOW);  
12  digitalWrite(3,HIGH);
13  digitalWrite(4,LOW);  
14  delay(300);
15  digitalWrite(2,LOW);  
16  digitalWrite(3,LOW);  
17  digitalWrite(4,HIGH);
18  delay(2000);
19  digitalWrite(2,LOW);
20  digitalWrite(3,HIGH);
21  digitalWrite(4,LOW); 
22  delay(300);
23}

FAQ

Per quanto tempo deve rimanere accesa la luce gialla del semaforo?▾

Nei semafori reali, la luce gialla rimane accesa in genere per 3–4 secondi. Nel progetto, questa durata viene impostata tramite la funzione delay(); se si impostano tempi più lunghi per il rosso e il verde e più brevi per il giallo, si ottiene un ciclo simile a quello reale.

Perché si utilizza una resistenza da 330 Ω invece che da 220 Ω?▾

Una resistenza da 330 Ω riduce leggermente la corrente (circa 9–10 mA); i LED rimangono comunque ben visibili e la corrente totale assorbita dai pin è inferiore. Funziona anche con una resistenza da 220 Ω, ma in questo caso i LED risultano leggermente più luminosi.

Posso aggiungere un pulsante per i pedoni?▾

Sì. Puoi aggiungere un pulsante e una resistenza pull-down da 10 kΩ e leggere il valore con digitalRead. Quando si preme il pulsante, puoi far passare il ciclo al rosso e accendere un LED verde separato per i pedoni; in questo caso, l'uso di millis() al posto di delay garantisce che il pulsante venga rilevato immediatamente.

L'ordine dei LED è scombussolato, cosa devo fare?▾

Confronta una per una le definizioni dei pin nel codice (rosso, giallo, verde) con i cavi del circuito. Il modo più semplice è accendere ogni LED con un codice di test separato e verificare a quale pin è collegato.

Semaforo | BlueGrays