Obiettivo: Accensione di un LED mediante un pulsante.
Componenti elettronici:
- Arduino UNO
- Breadboard
- 1 Led
- 1 Pulsante
- 1 Resistenza (100 Ohm)
- 1 Resistenza (1kOhm)
Teoria: Il pulsante è un dispositivo elettronico a due stati (ON, OFF) con una sola posizione monostabile. Nel caso specifico i pulsanti permettono di aprire o chiudere un circuito e pertanto collegare a GND (0V) o a VCC (5V) una specifica uscita. A seguire, viene riportato lo schema circuitale di un pulsante tipicamente impiegato in applicazioni realizzate mediante Arduino.
L’utilizzo di una resistenza è indispensabile al fine di collegare correttamente il pulsante ad Arduino evitando cortocircuiti. A seconda del collegamento realizzato, la resistenza prende il nome di:
- Resistenza di Pull Up: la resistenza viene collegata direttamente all’alimentazione.
- Resistenza di Pull Down: la resistenza viene collegata a massa.
Il comportamento del circuito e la tensione letta dal microcontrollore dipende dalla tipologia di collegamento circuitale utilizzato. In particolare:
- Resistenza di Pull Up:
- se il pulsante viene premuto la tensione in ingresso ad Arduino è pari a 0.
- se il pulsante non viene premuto la tensione in ingresso ad Arduino è pari a Vcc (5V)
- Resistenza di Pull Down:
- se il pulsante viene premuto la tensione in ingresso ad Arduino è pari a Vcc (5V).
- se il pulsante non viene premuto la tensione in ingresso ad Arduino è pari a 0.
Attraverso l’utilizzo del comando digitalRead è possibile leggere la tensione su uno specifico pin digitale (0-13) di Arduino. La funzione digitalRead restituisce un valore (i.e., LOW o HIGH) a seconda della tensione letta dal microcontrollore. Tale valore può essere facilmente utilizzato per controllare un led mediante l’istruzione condizionale IF.
A seguire viene riportato lo schema elettrico ed il codice utilizzato per l’accensione di un pulsante sfruttando una resistenza di Pull Down.
Collegamento Circuitale:
Codice:
A seguire viene riportata la schematizzazione mediante flowchart dell’algoritmo utilizzato per realizzare il programma.
Personalizzazioni:
E’ possibile modificare il circuito aggiungendo pulsanti e led. E’ inoltre possibile modificare il codice al fine di realizzare una lampada che rimanga acceso fino a quando il pulsante non venga premuto una seconda volta (Attenzione possibili problematiche di rimbalzo).
potresti darmi il programma che usi per fare i circuiti?
Salve Giacomo. Utilizziamo Tinkercad:
https://www.arduinofacile.it/2020/03/08/tinkercad-un-simulatore-online-per-arduino/