### Progetto 02: Semaforo
#### 1. Panoramica
In questo progetto, utilizziamo tre LED (rosso, giallo e verde), un altoparlante sulla scheda micro:bit e una matrice LED 5x5 per realizzare un modello di semaforo.
#### 2. Componenti
|  |  |  |
| :-----------------------------------------------: | :---------------------------------: | :---------------------: |
| scheda micro:bit *1 | scheda di espansione micro:bit tipo T *1 | cavo micro USB *1 |
|  |  |  |
| LED rosso *1 | LED giallo *1 | LED verde *1 |
|  |  |  |
| resistore 220Ω *3 | fili jumper | breadboard *1 |
|  |  | |
| portabatterie *1
(batterie AA auto-fornite *2)| scheda semaforo *1 | |
#### 3. Conoscenza dei Componenti
**Altoparlante**

Micro:bit è dotato di un altoparlante, che rende facile produrre suoni nel tuo progetto.
#### 4. Schema di Collegamento

**Nota:** la scheda micro:bit deve essere inserita nella scheda di espansione tipo T come mostrato sotto. La matrice LED della scheda micro:bit deve essere sullo stesso lato del logo della scheda di espansione.

#### 5. Flusso del Codice

#### 6. Codice di Test
Il file di codice è fornito nella cartella Progetto 02:Semaforo, file Project-02-Traffic-Lights\.py.

**Codice completo:**
```python
'''
Function: traffic lights with countdowns and buzzes
Compiling IDE: MU 1.2.0
Author: https://docs.keyestudio.com
'''
# import microbit related libraries
from microbit import *
pin1.write_digital(0) # set P1 pin to low
pin2.write_digital(0) # set P2 pin to low
pin8.write_digital(0) # set P8 pin to low
import music # import music libraries
while True:
pin1.write_digital(1) # P1 pin to high
display.show('6') # LED matrixs shows 6
sleep(1000) # delay 1s
display.show('5')
sleep(1000)
display.show('4')
sleep(1000)
display.show('3')
sleep(1000)
display.show('2')
sleep(1000)
display.show('1')
sleep(1000)
display.show('0')
sleep(1000)
pin1.write_digital(0)
pin2.write_digital(1)
music.play("C4:4") # speaker plays C4 tone
display.show('2')
sleep(500)
pin2.write_digital(0)
music.reset() # no tone
sleep(500)
pin2.write_digital(1)
music.play("C4:4")
display.show('1')
sleep(500)
pin2.write_digital(0)
music.reset()
sleep(500)
pin2.write_digital(1)
music.play("C4:4")
display.show('0')
sleep(500)
pin2.write_digital(0)
music.reset()
sleep(500)
pin8.write_digital(1)
display.show('6')
sleep(1000)
display.show('5')
sleep(1000)
display.show('4')
sleep(1000)
display.show('3')
sleep(1000)
display.show('2')
sleep(1000)
display.show('1')
sleep(1000)
display.show('0')
sleep(1000)
pin8.write_digital(0)
```
#### 7. Risultato del Test
Clicca su “Flash” per caricare il codice sulla scheda micro:bit.

Dopo aver scaricato il codice sulla scheda, **accendi tramite cavo micro USB o alimentatore esterno (imposta l'interruttore DIP su ON)**, e premi il pulsante di reset sulla scheda.

Il LED verde si accende e la matrice LED 5×5 conta alla rovescia 6 secondi. Dopo che il LED verde si spegne, il LED giallo lampeggia e la matrice conta 3 secondi con suono dall'altoparlante. Infine, il LED rosso si accende con un conto alla rovescia di 6 secondi. Queste azioni si ripetono.
**ATTENZIONE:** Se il cablaggio è corretto ma non vedi i risultati, premi il pulsante di reset sul retro della scheda.

**Quando si alimenta tramite alimentatore esterno, impostare l'interruttore DIP su ON.**
