Arduino IDE: accendere led con un bottone (if) #4.1

Arduino IDE

In questa lezione si imparerà ad utilizzare il bottone a pressione per accedere e spegnere un LED. Premendo un primo bottone si accenderà il LED, mentre premendo il secondo bottone il led verrà spento.

Componenti Richiesti:

Tutto il materiale necessario è presente in Elegoo Advanced Starter Kit.

In seguito il diagramma di collegamento:

led

In seguito lo schema elettrico:

led

Gli interruttori sono componenti molto semplici. Quando premi un bottone vengono connessi due contatti, in modo che l’elettricità possa fluire attraverso di essi. Il piccolo interruttore tattile che viene utilizzato in questa lezione ha quattro connessioni.

Nonostante il corpo dell’interruttore sia quadrato, i pin sporgono da due lati opposti dell’interruttore. Questo significa che i pin permettono l’inserimento dell’interruttore solamente in un verso sulla breadboard, questo è l’unico verso corretto per evitare cortocircuiti.

Ricordati che il LED deve avere il piedino più corto (negativo) collegato a sinistra.

led

Ecco il codice che permette di effettuare questi passaggi:

Una volta caricato il codice sulla propria board di Arduino, premendo il bottone di sinistra il led si accenderà, premendo invece quello di destra il led verrà spento.

La prima parte del codice definisce tre variabili, una per ogni singolo dei tre pin che verranno usati.

Il “ledPin” è il pin di output, “buttonApin” è il primo dei due bottoni per accendere e spegnere il led, mentre “buttonBpin” è il secondo bottone dei due.

La funzione setup definisce ledPin come un OUTPUT normale, ma ora andiamo a vedere come comportarci con gli altri due input. In questo caso il pinMode dei due interruttori verrà settato così come vedi di seguito ad “INPUT_PULLUP”:

Impostare la modalità di input come INPUT_PULLUP significa che il pin verrà utilizzato come input, ma che se nient’altro è connesso al pin di output esso dovrà essere “pulled up” quindi in modalità HIGH. In altre parole, il valore di default dell’input sarà HIGH a meno che venga portato a LOW della pressione del bottone che ha l’altra coppia di piedini è connesso all’uscita GND.Quando un bottone viene premuto, connette il pin di input al pin GND perciò il primo non sarà più in modalità HIGH.

Dato che l’input è normalmente in HIGH, e viene portato a LOW solamente quando viene premuto il bottone, il senso del bottone è impostato al contrario. Ci occuperemo di questo in seguito, nella funzione “loop”.

Nella funzione di “loop” ci sono due istruzioni “if”. Una per ogni bottone. Ognuna di esse esegue una lettura “digitalRead” dell’opportuno input.

Ricorda che quando un bottone viene premuto il corrispondente input verrà impostato a LOW, se il bottone A è portato a LOW allora la funzione “digitalWrite” su ledPin verrà impostato ad HIGH, accendendo il led. Ugualmente, quando il bottone B viene premuto, viene impostato ledPin a LOW spegnendo il led.

Link Utili:

Arduino IDE: la struttura condizionale IF #4

Arduino IDE: operatori aritmetici, relazione e logici #3

Arduino IDE: variabili, costanti e macro #2

Arduino IDE: in che maniera si crea un programma? #1

Arduino IDE: che cos’è e come funziona #0

Simone Candido è un ragazzo appassionato del mondo tech nella sua totalità. Simone ama immedesimarsi in nuove esperienze, la sua filosofia si basa sulla irrefrenabile voglia di ampliare a 360° le sue conoscenze abbracciando tutti i campi del sapere, in quanto ritiene che il sapere umano sia il connubio perfetto tra cultura umanistica e scientifica.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.