Site icon LABORATORIO SCOLASTICO

Display LCD & Arduino.

Avevo precedentemente descritto in breve il display 1602 A 16×2, ovvero 16 colonne e due righe, un display economico e facilmente reperibile sul web, compatibile con i driver dell’Hitachi 44780 .

La descrizione del display, era nata dalla necessità di capirne un pochino il funzionamento e conoscere il dispositivo per la realizzazione che poi sarei andato a provare, che di seguito esporrò.
L’utilizzo di questo display per alcune vecchie versioni IDE richiede la necessità di caricare la libreria “Liquid Crystall”, mentre nelle versioni attuali (io utilizzo la v 1.6.5) questa libreria è già presente, pertanto non è necessario scaricare-caricare nulla. 😉
Quindi, conosciuto il nostro display, non resta che vederlo all’opera in una configurazione prova, come previsto dai tanti “file di esempio” presenti nella IDE di Arduino, e come indicato anche nel sito ufficiale Arduino.cc, riferendomi all’esempio : ”Hello World”.
In breve, questo esempio-verifica consiste nel collegare il display ad Arduino Uno, per poi caricare il file di esempio che genererà una scritta, appunto Hello World sul display.

Vediamo la parte hardware.

Direi nulla di complicato, nel sito ufficiale è riportato lo schema di cablaggio del display vs Arduino, pertanto basta seguire le indicazioni e la realizzazione è fatta, ma provare a conoscere un pochino le varie connessioni rende fruibile per altre possibilità l’utilizzo di questa configurazione.

Il display, 1602A ha una piedinatura comune a tutti i display LCD 16×2, come già detto secondo lo standard Hitachi44780, e rispecchia queste indicazioni:

-pin1 VSS = GND ovvero ground, cioè  il negativo
-pin2 VDD = +5V che equivale alla tensione di alimentazione del sistema
-pin3 V0 = regolazione contrasto dei caratteri, in questo caso si utilizza un trimmer o un potenziometro come partitore di tensione in maniera tale che su questo pin venga applicata una tensione variabile da 0 V a + 5V
-pin4 RS = selezione segnale di registro, con questo pin si seleziona il registro nel quale registrare il testo che deve apparire nel display, oppure si sceglie il registro in cui viene memorizzata l’istruzione necessaria ogni volta per far funzionare il display
-pin5 R/W = si seleziona la modalità di funzionamento, se in lettura o in scrittura; collegato al GND
-pin6 E = segnale di enable, si utilizza per abilitare la scrittura nei registri
-pin7…pin14 DB0..DB7 = sono i pin per la linea dati che si inviano o si ricevono dal display, il valore alto (High) indica una scrittura (Write) di bit nel registro del display,mentre un valore basso (Low) indica un valore di lettura (Read) da un registro
-pin15 A = è l’anodo che va portato al positivo per la retroilluminazione del display, nel caso del display che si sta utilizzando il valore della tensione è +4,2V
-pin16 K = è il catodo che va portato a 0 volt collegandolo al GND, per la retroilluminazione

Nel cablaggio, seguendo lo schema si vedrà che i pin utilizzati nel display non sono tutti e 16, bensì 12; ovvero i pin dal 1…6, ed i pin dall’11 al 16 lasciando non collegati i pin dal 7 al 10 quest’ultimi non sono stati utilizzati perché il display è pilotato con 4 bit, anziché con 8 bit come è anche possibile fare.

Pertanto volendo riassumere in una tabella le connessioni del display con Arduino UNO queste saranno:

pin LCD  Funz.    Pin Arduino
1             VSS      GND + pin 1 potenz.
2             VDD    +5V + pin 2 potenz.
3             V0        Pin 3 potenz.
4             RS       D12
5             R-W    GND
6             E          D11
11           DB4     D5
12           DB5     D4
13           DB6     D3
14           DB7     D2
15           A         +5V(resistore)
16           K         GND

Quindi chiarito l’aspetto connessioni del display, non resta che predisporre l’occorrente, ovvero il nostro bell’ArduinoUNO, la nostra famigerata breadboard ed il display con il potenziometro da 10k ed il resistore da 220 ohm ¼ W per la retroilluminazione.
Ora che è tutto pronto, mano al conduttore unipolare rigido e sottile, e si inizia il cablaggio, seguendo lo schema passo passo ….

 

Per la realizzazione del cablaggio ho utilizzato del conduttore recuperato da uno spezzone di cavo telefonico, questo perché si presta meno a falsi contatti, e rende il cablaggio dall’aspetto più gradevole, oltre che una eventuale ricerca guasto più comoda… ; )
Terminati i collegamenti, il circuito appare più meno come in immagine precedente, ora però per provarlo o farlo funzionare manca il caricamento dello scketch…

Vediamo la parte software

Una volta connesso Arduino UNO con la connessione USB al PC ed avviato l’IDE, la parte software, è abbastanza rapida richiede tre semplici passaggi.

Si apre il menu a tendina da File per andare nell’altro menu a tendina Esempi e da qui al menu Liquidi Crystal per selezionare HelloWorld, a questo punto lo scketch è presente nel desk dell’IDE pronto per essere caricato in Arduino …. Ed è quello che ho fatto..ma dopo aver verificato il funzionamento mi son messo un po’ a provare ed ho cambiato la scritta con Salve kirkadmin (speriamo che kirkadmin non se la prenda … ) e poi ho aggiunto un secondo contatore, ovvero il primo conta ogni secondo, l’altro ogni minuto e la scritta lab scol che sta per laboratorio scolastico … 😉  … il minimo di riconoscimento, visto che supporta queste mie piccole presentazioni ….
Ed ecco il filmatino….

 

un piccolo commento al filmato, riguarda un piccolo strumento inserito sulla connessione USB, si tratta di un semplice dispositivo utilizzato per monitorare la tensione in uscita dalla connessione USB e l’assorbimento in ampere del dispositivo ad esso collegato.

In questa realizzazione la mia curiosità era anche quella di verificare l’assorbimento del sistemino Arduino+LCD, per eventuali applicazioni con alimentazione a batterie questo riveste un aspetto importante, quindi non volendo inserire un multimetro ho preferito utilizzare il pratico e comodi dispositivo USB di misura, verificando un assorbimento pari a 0,07 A che corrisponde del resto allo stesso del solo Arduino …in pratica l’LCD non consuma quasi nulla … 😯  …

Però, considerando che lo strumento dimisura non è proprio il massimo dell’attendibilità ed avrà una tolleranza considerevole, mi riprongo di verificare quest’aspetto con un multimetro di sicura attendibilità, e poi vi aggiornerò in merito

Lo sketch, è abbastanza semplice da “leggere”, nel senso di capire come sia stato realizzato,io lo leggo cosi:
la parte di commento iniziale- the circuit- in maniera sintetica indica le connessioni, quindi descrive lo schema di realizzazione, poi successivamente –include liquid crystall- passa ad indicare la libreria da utilizzare, e quindi dichiara liquidCrystall lcd (12,11,5,4,3,2)  i pin utilizzati. A questo punto nel –set up –void-  dichiara che si è utilizzato un display 1602, e lancia – lcd print….- al display la scritta “hello world”, che ho sostituito con “Salve kirkadmin”, in fine apre un loop dove realizza un contasecondi per indicare il tempo di attività della rappresentazione …al quale ho aggiunto un contaminuti … 😀 

Alla prossima realizzazione dove probabilmente metterò a frutto l’LCD ed Arduino per la misura di una grandezza fisica interessante … 😉 

Exit mobile version