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.
1 LCD
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 ….

 

Salve kirk admin

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.

file esempio

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 … :mrgreen: ) 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.

assorbimento sistema

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 … 😀 

sketch hello word

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

Print Friendly, PDF & Email
(Visited 2.630 times, 1 visits today)

4 Risposte a “Display LCD & Arduino.”

  1. Ciao electrician, per i video ti consiglio di fare un account su YTube e scaricarli lì e per visualizzarli sul tuo post dovrai fare un link. Così risparmiamo spazio. Grazie

    1. Salve kirkadmnin.Prendo in considerazione il suggerimento qualora dovessi pubblicare un ulteriore video. Per i prossimi articoli cercherò di limitarmi a sole immagini ed eventuali video necessari utilizzare il tuo suggerimento, in effetti lo spazio “è prezioso”. 😉
      Ciao
      Grazie

  2. Ill.mo Electrician. Noto con molta stima che i tuoi articoli sono sempre puntuali, dettagliati e interessanti. Il tuo contributo in questo sito è fondamentale per una crescita culturale e condivisa da moltissime persone. Grazie per la dedica sul display e grazie anche per la tua assidua collaborazione. Ho notato che il video non viene caricato e sembra che su Firefox ci sia un problema legato al formato; su Chrome è visibile correttamente. Prova a codificarlo mediante un formato differente e caricarlo nuovamente. Se funziona dovrai purtroppo sostituire anche gli altri video presenti nei tuoi post. Ciao

    1. Salve admin, e grazie per i tuoi ringraziamenti anche se in realtà dovrei essere io a
      ringraziarti per questo spazio che ci hai messo a disposizione, dove la possibilità
      di postare delle esposizioni di argomentazioni di interesse possono essere da un
      lato utili per una sorta di ripasso/appunto ma cosa più importante è la condivisione
      di conoscenza, anche se nel mio caso è alquanto limitata … : )
      Riguardo al problema tecnico dei video, vedrò se riesco a risolvere in qualche modo
      per quel che posso, diversamente dovrò toglierli e postare delle immagino, anche se
      è un peccato non pterli vedere…vedremo, magari qualche utente che ci sta leggendo
      ha la soluzione al problema e ci può aiutare anche semplicemente postando in coda a
      questo commento la sua idea.
      Per le esposizioni,se sei d’accordo continuerò a mano libera a postarne delle altre
      ma non essendo come te un Prof. non seguirò un programma, ma semplicemnte i
      miei interessi “elettrico/nici” … : )
      Ciao
      alla prossima …. scritta su display : Ciao admin.

Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.