Progetto 13 Mini Lampada
1. Descrizione
In questo progetto, controlleremo una lampada tramite Arduino UNO e un pulsante. Quando premiamo il pulsante, lo stato della lampada cambierà (ACCESA o SPENTA).
2. Principio di Funzionamento

Quando il pulsante è rilasciato, una tensione VCC che passa attraverso R29 fornisce un livello alto al terminale S. Quando viene premuto, i pin 1 e 3, pin 2 e 4 sono collegati e la tensione su S1 arriva a GND come livello basso. In questo momento, R29 evita un cortocircuito tra VCC e GND.
3. Schema di Collegamento

4. Codice di Test
Aggiungi due blocchi base.

Trascina un blocco “baud rate” da “Serial” e impostalo a 9600.

Poi trascina un blocco “print” da “Serial”, digita “Key status:” nel campo vuoto e impostalo su “no-warp”.

Imposta il pin IO15 su “input”.

Trascina un altro blocco “Serial print” da “Serial” e imposta la modalità su “warp”. Aggiungi un blocco “state value of button” da “Button” e imposta il pin su IO15.

Codice Completo:

5. Risultato del Test
Dopo aver collegato i fili e caricato il codice, apri il monitor seriale e imposta il baud rate a 9600.
Quando premiamo il pulsante, la porta seriale stampa “Key status: 0”; quando rilasciamo il pulsante, la porta seriale stampa “Key status: 1”.

6. Espansione della Conoscenza
Successivamente, controlleremo il LED tramite lo stato dei pulsanti.
Diagramma di Flusso:

Schema di Collegamento:

Codice:
Trascina due blocchi base.

Imposta il pin del LED su “output” e il pin del pulsante su “input”.

Trascina un blocco “if else” da “Control”. Aggiungi un blocco “button pin” da “Button” dopo “if” e imposta il suo pin su IO15. Metti un blocco “LED output” sotto “if” e impostalo su HIGH, e un altro sotto “else” impostandolo su LOW. I pin del LED sono entrambi su IO4.

Codice Completo:

8. Spiegazione del Codice
Nota: La modalità pin deve essere impostata su “input” quando si usa il modulo pulsante.
Verifica se il pulsante è premuto. Se sì, questo blocco restituisce true.

Legge il valore del pulsante. Quando il pulsante non è premuto, il valore è 1. Altrimenti, è 0.

Se la condizione nel rombo è vera, viene eseguito il blocco “if”. Altrimenti, il programma esegue il blocco “else”.

Imposta il baud rate. Assicurati che il baud rate seriale corrisponda a quello del monitor seriale, altrimenti non verrà stampato nulla. I baud rate comunemente usati sono 9600 e 115200, qui impostiamo 9600.

Stampa caratteri sul monitor seriale. Le parole stampate sono quelle digitate nel campo vuoto. Inoltre, sono incluse tre modalità di stampa: warp, no-warp e HEX (esadecimale).
