Creare un Menù con Arduino

Creare un Menù con Arduino

19 Gennaio 2017 7 Di Admin A.

In questo articolo mostreremo come realizzare un menù con Arduino Uno, utilizzando un display LCD ed uno sketch in linguaggio C++.

 

Programmazione

 

Nel dettaglio, creeremo un menù con arduino che consente di effettuare 3 scelte, in 3 sezioni diverse, in cui avremo la possibilità di scegliere tra varie opzioni.

 

Indicheremo inoltre il metodo e la logica da seguire per ampliare tale menù  e daremo la possibilità di scaricare un sketch già pronto per usufruirne.

 

Alla fine dell’articolo troverete il link per  lo sketch mostrato, già pronto all’utilizzo.

 

 

Creazione del circuito

 

Iniziamo dalla creazione del circuito.

Per farlo ci occorre: un display LCD 16 x 2  e  la libreria adatta per gestirlo, che potete scaricare qui.

 

 

Collegamento del display

 

Collegheremo quindi il display ad arduino Uno (nel nostro caso) come segue: 

 

menù con arduino

 

 

Collegamento dei pulsanti

 

Una volta collegato il display, bisogna collegare 4 pulsanti agli ingressi di arduino.

Sfrutteremo le resistenze interne di arduino (resistenze di pull up), quindi basterà collegare i pulsanti a GND,  senza la resistenza.

 

Di seguito una foto del collegamento di un pulsante:

 

pulsanti Arduino lcd 16x2

 

Bene, adesso copieremo questo collegamento per i restanti 3 pulsanti!

 

 

Menù con arduino: Lo sketch 

 

Prima di passare allo sketch , spieghiamo in breve la logica usata per creare questo programma.

 

L’algoritmo che gestisce il menù è molto semplice e si basa su dei cicli “if” , che verificano l’incremento di un contatore precedentemente dichiarato.  La funzione del contatore è quella di permettere lo scorrimento delle varie opzioni, mentre un’altra variabile definirà la selezione vera e propria.

 

Passiamo allo sketch completo per comprendere al meglio:

 

menù con arduino

 

 

La prima parte dello sketch, includerà:

 

-la libreria per gestire il display LCD 16×2 che abbiamo collegato ad arduino;

-la dichiarazione delle variabili che scandiranno le varie fasi del programma;

-la dichiarazione delle variabili che conterranno i valori logici dei pulsanti.

 

 

Le funzioni void setup() e void loop()

 

Nel void setup (), avremo il settaggio dei pin dedicati ai pulsanti, con la tipologia INPUT_PULLUP.

 

Questa notazione indica che useremo le resistenze di pull up interne ad arduino.

Non ci sarà quindi bisogno di collegare i pulsanti a GND attraverso un resistore.

 

menù con arduino

 

 

Come inizio del void loop(), invece,  verrà letto e memorizzato lo stato dei pulsanti.

Subito dopo si procederà ad incrementare o decrementare il valore di “cont“, che è la variabile che scandisce le “opzioni” del menù.

 

 

menù con arduino

menù con arduino

 

La variabile “avanza” è quella che scandisce le 3 pagine del menù, da cui poi si possono scegliere le varie opzioni.

Viene incrementata premendo l’apposito pulsante “avanti“.

 

Allo stesso modo anche le funzioni che vengono richiamate nelle funzioni:

 

menù con arduino

menù con arduino

 

Il funzionamento, abbastanza intuibile, è chiarito attraverso i commenti nel programma.

In poche parole, la variabile “cont” fa scorrere le varie opzioni, mentre la variabile “avanza” è usata per scandire le diverse fasi del programma.

 

E’ chiaro che, così fatto, il menù è solo a scopo dimostrativo.

 

Infatti per effettuare concretamente delle scelte prima dell’istruzione che incrementa la variabile “avanza”, andrebbe messo un inserimento di caratteri in un vettore, delle variabili booleane, e altre variabili che andrebbero a definire parametri di programma, che servirebbero per deviare l’algoritmo principale.

 

 

Ampliare il menù

 

Per ampliare il menù e quindi inserire altre opzioni o altri sottomenù, basta aggiungere allo sketch una copia della funzione “selezione_primaria“,  cambiando ovviamente il nome e aumentando il numero della variabile “avanza” di una unità.

 

menù con arduino

 

 

Ecco dove è possibile scaricare lo sketchSketch-Menù.

 

Per qualsiasi problema, informazione o dubbio, vi invitiamo a lasciare un commento oppure a contattarci cliccando qui.

 


Ti interessa Arduino? Leggi anche: Tutorial Acquisizione Dati Keypad Arduino.

 

Arduino logo