image/svg+xml
Logo Tom's Hardware
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Tom's Hardware Logo
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Forum
  • Sconti & Coupon
Offerte di Natale
Accedi a Xenforo
Immagine di Vuoi un 2026 più felice? Unieuro ti regala un robot iRobot da 600€ Vuoi un 2026 più felice? Unieuro ti regala un robot iRobot ...
Immagine di Contrasti la disinformazione online? Non sei gradito negli USA Contrasti la disinformazione online? Non sei gradito negli U...

Corso base di Arduino: pulsanti e bottoni

Arduino non sa solo attivare e disattivare piccoli carichi, come abbiamo visto nella precedente puntata. Le sue abilità gli consentono anche di "percepire" eventi esterni e di comportarsi di conseguenza. Vediamo come fare.

Advertisement

Avatar di Elettronica Open Source

a cura di Elettronica Open Source

Pubblicato il 28/07/2017 alle 17:52
Quando acquisti tramite i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Scopri di più

banner prova1

Oltre alle porte di output, esaminate nella quarta puntata del corso base su Arduino, la scheda può gestire anche le porte di input. Si tratta di normali pin che possono essere predisposti alla ricezione di un segnale (digitale o analogico che sia). In questa puntata ci occuperemo solo dei segnali digitali (+5V oppure 0V).

Solitamente, a queste tipologie di porte vanno collegati i sensori, che forniscono un segnale, in dipendenza a un particolare episodio che avviene esternamente alla scheda. Contempliamo tra essi i pulsanti, gli interruttori, le fotoresistenze, i sensori di temperatura, ecc.

Gli esempi che seguono sono di una semplicità straordinaria ma sufficienti a far comprendere, fin da subito, il concetto ai principianti, che si accingono a iniziare la programmazione di Arduino.

Primo esempio: Luci scala di un palazzo

Al solito, prima d'intraprendere qualsiasi azione di programmazione, occorre impostare un algoritmo che regoli la procedura prescelta. Analizziamo, dunque, cosa succede quando si gestisce un impianto di luci per una scala di un condominio, tramite passi numerati:

     1.  In stato di riposo:

a)      Tutte le luci d'illuminazione della scala sono spente

b)     Resta accesa solo una piccola luce di cortesia posta sul pulsante

2.  Se si preme il pulsante

a)     Si accendono tutte le lampade del vano scala (il contatore comincia a girare)

b)     Si spengono le luci di cortesia

c)     Lo stato perdura per 30 secondi (o altra temporizzazione utile)

     3.  Ritorno al punto 1

L'algoritmo è abbastanza semplice, occorre sempre pensare in funzione a tutte le casistiche che possono accadere. L'esempio è stato preparato per gestire solo due piani, ma il ragionamento è lo stesso per qualunque numero di luci. Nella funzione setup vengono configurati i pin di uscita (1, 2, 3 e 4) e il pin d'ingresso per il pulsante (7). Quindi, è attuato subito lo stato del riposo (luci spente e lucette accese). La clausola condizionale if è processata ogni 10 ms. Se il valore booleano proveniente dalla lettura della porta d'ingresso è "vero", si accendono le luci della scala e si spengono quelle di cortesia, il tutto per 30 secondi. Dopo il ripristino della situazione, l'intero processo si ripete all'infinito. Si consiglia, soprattutto ai principianti, di studiare a fondo sia il listato che lo schema del cablaggio elettrico.

L'ingresso 7 è tenuto "basso" dalla resistenza di pull-down da 10k. Una pressione del pulsante causa il passaggio di corrente che commuta immediatamente ad alto il livello della stessa porta. Il firmware fa il resto.

figura 1 cablaggio luci scala

figura 1 cablaggio luci scala

figura 2 listato luci scala
figura 2 listato luci scala

Secondo esempio: pulsanti contemporanei

Il miglior modo per imparare la programmazione con Arduino è quello di provare diversi esempi, anche sbagliando. Il prossimo esempio è interessante: si hanno due pulsanti e un diodo LED. Quest'ultimo si accende se, e solo se, si premono contemporaneamente i due pulsanti in dotazione. Il LED utilizzato, questa volta, si trova direttamente su Arduino, assieme alla sua resistenza di limitazione. È connesso alla porta 13. Non è necessario, quindi, collegarne un altro.

figura 3 cablaggio doppio pulsante
figura 3 cablaggio doppio pulsante

Si noti che la condizione if processa e controlla due valori logici (booleani) contemporaneamente, grazie all'operatore logico "&&" (AND). Pertanto, nel controllo, si potrebbe evitare l'uso dell'operatore di uguaglianza e organizzare l'istruzione nel seguente modo:

if (pressione1 && pressione2)

Il diodo LED si accenderà quando entrambi i pulsanti saranno premuti. Gli utilizzi dell'esempio sono molteplici, dal settore automobilistico a quello casalingo.

figura 4 listato doppio pulsante
figura 4 listato doppio pulsante

Tom's Consiglia

Per chi inizia ora e voglia dotarsi di tutto l'occorrente, Arduino Uno si trova facilmente a un prezzo abbordabile.

Le notizie più lette

#1
Ecco i sei nuovi prodotti di Apple attesi nel 2026
1

Hardware

Ecco i sei nuovi prodotti di Apple attesi nel 2026

#2
Vaccini mRNA, individuata l’origine dell’infiammazione

Scienze

Vaccini mRNA, individuata l’origine dell’infiammazione

#3
Retroid Pocket 6, un traguardo incredibile per l'emulazione tascabile
3

Videogioco

Retroid Pocket 6, un traguardo incredibile per l'emulazione tascabile

#4
iOS o Android? ChatGPT e Gemini hanno deciso chi è il migliore
1

Smartphone

iOS o Android? ChatGPT e Gemini hanno deciso chi è il migliore

#5
Samsung deve assolutamente migliorare i suoi Galaxy mid-range
2

Smartphone

Samsung deve assolutamente migliorare i suoi Galaxy mid-range

👋 Partecipa alla discussione! Scopri le ultime novità che abbiamo riservato per te!

0 Commenti

⚠️ Stai commentando come Ospite . Vuoi accedere?

Invia

Per commentare come utente ospite, clicca quadrati

Cliccati: 0 /

Reset

Questa funzionalità è attualmente in beta, se trovi qualche errore segnalacelo.

Segui questa discussione

Advertisement

Ti potrebbe interessare anche

Contrasti la disinformazione online? Non sei gradito negli USA
4

Altri temi

Contrasti la disinformazione online? Non sei gradito negli USA

Di Andrea Maiellano
Vuoi un 2026 più felice? Unieuro ti regala un robot iRobot da 600€

Altri temi

Vuoi un 2026 più felice? Unieuro ti regala un robot iRobot da 600€

Di Dario De Vita
Prime offerte MediaWorld valide anche per l’inizio del 2026: risparmi fino al 50%

Altri temi

Prime offerte MediaWorld valide anche per l’inizio del 2026: risparmi fino al 50%

Di Dario De Vita
Il passaggio dal 2025 al 2026 di Unieuro passa dal Fuoritutto

Altri temi

Il passaggio dal 2025 al 2026 di Unieuro passa dal Fuoritutto

Di Dario De Vita
Samsung porta Google Photos e Gemini Nano Banana sulle TV
1

Altri temi

Samsung porta Google Photos e Gemini Nano Banana sulle TV

Di Antonello Buzzi

Advertisement

Advertisement

Footer
Tom's Hardware Logo

 
Contatti
  • Contattaci
  • Feed RSS
Legale
  • Chi siamo
  • Privacy
  • Cookie
  • Affiliazione Commerciale
Altri link
  • Forum
Il Network 3Labs Network Logo
  • Tom's Hardware
  • SpazioGames
  • CulturaPop
  • Data4Biz
  • TechRadar
  • SosHomeGarden
  • Aibay

Tom's Hardware - Testata giornalistica associata all'USPI Unione Stampa Periodica Italiana, registrata presso il Tribunale di Milano, nr. 285 del 9/9/2013 - Direttore: Andrea Ferrario

3LABS S.R.L. • Via Pietro Paleocapa 1 - Milano (MI) 20121
CF/P.IVA: 04146420965 - REA: MI - 1729249 - Capitale Sociale: 10.000 euro

© 2025 3Labs Srl. Tutti i diritti riservati.