Arduino per tutti stagione 2 puntata 1: Un pulsante è per sempre…

Benvenuti nella seconda stagione della nostra rubrica Arduino per tutti.
In questa prima puntata, si vedrà come utilizzare un pulsante per accendere e/o spegnere un led.
Ecco, in breve, cosa serve per questo “esperimento”.

La lista della spesa, ovvero i componenti necessari

a) N. 1 Elegoo UNO R3
b) N. 1 Breadboard
c) N. 1 LED 5mm color rosso
d) N. 1 resistore da 220 ohm
e) N. 2 Interruttori a pulsante
f) N. 6 fili maschio-maschio

Cos’è un interruttore…

Gli interruttori sono componenti molto semplici. Il principio su cui si basa il funzionamento dell’interruttore è piuttosto semplice. Quando lo si preme, si forma il collegamento che mette in funzione il circuito; quando lo si rilascia, il circuito si interrompe e quindi smette di funzionare.
Quando si preme un pulsante o si muove una leva, dunque, si collegano in realtà due contatti, in genere si dice “chiudere il circuito”, in modo che l’elettricità possa scorrere attraverso di loro.
I piccoli interruttori tattili usati con Arduino, piccoli quanto sono, hanno quattro connessioni, il che può creare un po’ di confusione. Come si può vedere, però, nello schema elettrico di seguito riportato, in realtà le connessioni al circuito elettrico sono solo due.

View post on imgur.com

All’interno della confezione interruttore, i perni B e C sono collegati tra loro, così come lo sono anche i perni A e D. I perni dei pulsanti in realtà sporgono da lati opposti del commutatore, il che colloca i perni abbastanza distanti da poter essere posizionati correttamente sulla basetta senza difficoltà. Il LED deve avere il piede negativo (quello più breve) verso destra.
Verranno utilizzati due pulsanti, uno per attivare, l’altro per disattivare il led. Il led è connesso direttamente alla porta gnd di Arduino con un piede, con l’altro, invece, attraverso una resistenza, alle uscita digitale (uscita 2) della scheda stessa come messa a terra. Allo stesso modo vanno collegati anche i due pulsanti (ma senza resistenza).

Lo sketch

La prima parte dello sketch, custodita nella funzione setup(), definisce tre variabili per i tre perni che devono essere utilizzati. Il ‘ledPin’ è il pin di uscita, mentre ‘buttonApin’ e ‘buttonBpin’ faranno riferimento, rispettivamente, al pulsante più vicino alla parte superiore della basetta e all’altro interruttore.
La funzione ‘setup’ definisce il ledPin come un’uscita come normale, ma ora abbiamo i due ingressi da affrontare. In questo caso, si usa il set del pinMode di essere ‘INPUT_PULLUP’ in questo modo:
pinMode(buttonApin, INPUT_PULLUP);
pinMode(buttonBpin, INPUT_PULLUP);
La modalità di perno INPUT_PULLUP significa che il perno deve essere utilizzato come ingresso; in altre parole, il valore di default per l’ingresso è HIGH, e diviene LOW con la pressione del tasto. Questo è il motivo per cui gli interruttori sono collegati a GND. Quando si preme un interruttore, collega il pin di ingresso a GND, cosicché non è più HIGH. Poiché l’ingresso è normalmente HIGH e diventa LOW solo quando si preme il pulsante, la logica con cui occorre operare è un po’ capovolta. Quella che segue è la funzione ‘loop’, la funzione centrale dello sketch Arduino.

void loop()
{
if (digitalRead(buttonApin) == LOW)
{
digitalWrite(ledPin, HIGH);
}
if (digitalRead(buttonBpin) == LOW)
{
digitalWrite(ledPin, LOW);
}
}

Nella funzione ‘loop’, ci sono due blocchi ‘if’, una per ogni tasto collegato al led. Se si preme il pulsante, l’ingresso corrispondente diviene LOW (basso). Ora, se il pulsante A viene premuto (quindi è LOW), la funzione ‘digitalWrite’ connessa al pulsante A opera su ledPin per accendere il LED. Allo stesso modo, se si preme il pulsante B, invece, la funzione ‘digitalWrite’ connessa al pulsante B opera su ledPin per spegnere il LED.

Questo è lo schema del collegamento…

View post on imgur.com


E questo il risultato finale…

View post on imgur.com


Per questa puntata è proprio tutto. Il pulsante lo abbiamo inserito, il circuito costruito e provato. Ma questo va bene per un circuito con due pulsanti soltanto. E se volessimo una pulsantiera con n pulsanti?
Alla prossima…

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *