
Video
Schema circuito

Codice sorgente
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.
