Eccoci arrivati al terzo progetto per Arduino!
In questo progetto andremo ad analizzare lo stato di un pulsante e a seconda di questo accenderemo o spegneremo un led. Lo stato del pulsante verrà anche stampato a monitor seriale (per maggiori informazioni sul monitor seriale potete leggere l’articolo precedente).
Fasi realizzazione progetto (dopo la sua creazione).
- Stesura del codice:
- Settaggio iniziale (pin e dispositivi)
- Progettazione e stesura del programma
- Verifica del codice e programmazione di Arduino
- Montaggio del circuito elettrico
- Test su breadboard
Stesura del codice.
N.B. La stesura del codice comporta alcune conoscenze in merito alle funzioni principali di Arduino, per questo vi rimando al primo progetto.
Settaggio iniziale (pin e dispositivi).
Componente | PIN |
---|---|
LED | 13 |
Pulsante | 2 |
Il led che andremo ad utilizzare in questo progetto è il led presente sulla schedina, che è collegato al pin 13, mentre il pulsante lo andremo a collegare al pin 2 dopo averlo ‘configurato’ in modalità pull-down.
void setup() { // Imposto il pin collegato al led come uscita pinMode(13, OUTPUT); // Imposto il pin collegato al pulsante come ingresso pinMode(2, INPUT); // Imposto il monitor seriale per funzionare a 9600 baud Serial.begin(9600); }
Progettazione e stesura del programma che verrà svolto da Arduino.
void loop() { if (digitalRead(2) == 1) { delay(30); if (digitalRead(2) == 1) { // Accendo il LED digitalWrite(13, HIGH); // Stampo lo stato del led sul monitor Serial.println(digitalRead(2)); } } else { // Spengo il led digitalWrite(13, LOW); // Stampo lo stato del pulsante sul monitor Serial.println(digitalRead(2)); } }
- Un piccolo appunto su questo tratto di codice: la lettura del pulsante avviene attraverso due
digitalRead()
quasi consecutivi, separati da un piccolo ritardo di 30 ms. Questa scelta è stata voluta per evitare il rimbalzo del pulsante, un fenomeno che si verifica nei pulsanti a molla che spesso porta ad errori nella lettura (ovviamente di natura meccanica). Per ovviare il problema abbiamo utilizzato la tecnica del ritardo, che è la più economica ed utilizzata da un programmatore, ma ne esistono anche altre quali: appositi circuiti integrati o un condensatore in parallelo al pulsante.
Verifica del codice e programmazione di Arduino.
Una breve ricontrollata generale a tutto il codice unita a una buona riuscita nella compilazione del progetto ci permetteranno poi di programmare il nostro Arduino.
Per programmare correttamente Arduino occorre:
- Salvare lo sketch
- Impostare correttamente la porta USB a cui è collegato Arduino: Strumenti -> Porta -> selezionare la porta USB
Montaggio del circuito elettrico.
Mi raccomando prestate particolare attenzione alle varie alimentazioni perchè la mancata attenzione su ciò potrebbe portare alla rottura di diversi componenti.
Test su breadboard.
Download.
La cartella del progetto completo, compilato e funzionante la potete scaricare qui Arduino_Pulsante_LED