Lettura e visualizzazione di 4 segnali analogici su LCD 2 x 16

 

Identificazione progetto

 

progetto

autore

email

note

Impariamo a pilotare il display LCD nel quale inviamo segnali distinti da visualizzare in opportune coordinate

ing. Marco Gottardo

ad.noctis@gmail.com

IL progetto può essere sviluppato sia con la Micro-GT IDE che con la Micro-GT mini. 

 

scarica il progetto per MPLAB X con compilatore C HITECH

 

Premessa

 
Questo progetto è stato argomento di una mia lezione di programmazione dei microcontrollori PIC tenutasi ad agosto 2013 presso il centro culturale ZIP (zona industriale di Padova).  Il corso di ripete più volte nell'arco dell'anno ogni volta che si raggiunge il numero minimo di 7 iscritti. La durata è di 40 ore articolate in 13 lezioni di circa 3 ore ciascuna in orario serale  20:00 - 23:00. Gli interessati possono avere informazione dalle 17:00 alle 20:00 telefonando al numero 049 772903. Il testo ufficiale del corso è "Let's GO PIC!!!" acquistabile su www.lulu.com

 

Modulo LCD 2x16 caratteri.
Il modulo permette la gestione di un comune modulo LCD del tipo HD44780 compatibile, interfacciato con il metodo a 8-bit (in questo esempio) oppure a 4-bit eseguendo semplici modifiche ai collegamenti hardware.  Leggermente piu' complessa diventa la questione hardware quando si voglia o deva risparmiare quattro linee di uscite del microcontrollore. Nel caso volessimo usare la modalita' a 4 bit si raccomanda di ancorare a massa i 4 pin liberi (lato display). Inoltre verranno utilizzati i terminali, sempre al lato display, RD4-RD5-RD6-RD7 e non i primi da 0 a 3 come verrebbe spontaneo.
La presenza di un display di questo tipo, in ogni progetto con Microcontrollore e' molto utile infatti permetterà di mostrare eventuali messaggi di avviso, oppure mostrare dati o ancora riportare la temperatura rilevata da un sensore.
E' possibile utilizzare due diversi modelli di display che differiscono dalla diversa disposizione dei PIN, quindi va sempre consultato lo specifico databook del costruttore .

La scheda Micro-GT versatile I.D.E. presenta solo l'alloggiamento e i PIN a cui collegare il display tramite uno o più cavi flat, per evitare lo spreco di risorse visto che l'uso dell'LCD è una delle tante possibili funzionalità.

Il jumper JP6 consente l'accensione della retroilluminazione, ovvero l'alimentazione anodo-catodo dei led integrati (PIN 15 anodo e 16 catodo, lato display), mentre lo strip a 3 terminali SV25 consente il collegamento via cavo flat dei primi tre terminali dell'LCD e costituisce l'alimentazione a 5 volt e la regolazione del contrasto.  Il valore di 10K per il trimmer e' tra i piu' consigliati, ma dato che l'alimentazione e' 5V sara' possibile abbassarlo in funzione di cosa abbiamo disponibile a magazzino. Ovviamente dovremo cercare di non buttare piu' di qualche milliampere verso massa per non creare instabilita' dovuta al surriscaldamento e spreco di potenza.

Relativamente alle tre linee necessarie per i controlli RS/RW/E è stato inserito il connettore a tre terminali SV4. coincidente per il PIC 16F877A con il PORT D.

 

Attenzione: Uno zoccolo ZIF a 40 pin della 3M vale, su ebay 0,99 dollari, pari a 0,75€, non fatevi fregare! Comprate su ebay anche se dovete aspettare 10 giorni. Spedizione compresa vi costa meno di 5 €.

Le linee dati invece potranno essere prelevate in uno dei punti di "direct access" al PORTcon la libertà di decidere (a seconda del software  sviluppato per il PIC) la modalità a 4 o a 8 bit.

download la documentazione tecnica del display

In alcuni modelli la fila di pin è riportata (in parallelo) anche sul lato inferiore del supporto PCB del display. Collegarsi a quello sopra o sotto non fa differenza, usiamo quindi quello più comodo per i cablaggi.

 

Descrizione
Il display a cristalli liquidi o LCD (dall'inglese Liquid Crystal Display) collegabile a questo modulo è dotato di 2 linee di 16 caratteri ciascuna. I display LCD più comuni reperibili in commercio, hanno un'interfaccia ideata da Hitachi che, nel tempo, è diventata uno standard industriale utilizzato anche da altre case produttrici.

 

Funzione dei vari pin del display

PIN

Nome

Funzione

1

GND

Ground - Pin che deve essere collegato al negativo d’alimentazione.

2

VDD

Power Supply - Pin da collegare a +5V d’alimentazione.

3

Vo

A questo Pin si deve applicare una tensione variabile da 0 a +5V tramite un trimmer per regolare il contrasto del display.

4

RS

Register Select - Questo pin è una linea di controllo con cui si comunica al display se si sta inviando sul bus dati (linee da DB0 a DB7) un comando (RS=0) oppure un dato (RS=1).

5

R/W

Read, Write - Questo pin è un’altra linea di controllo con cui si comunica al display se s’intende inviare un dato al display (R/W=0) oppure leggere un dato dal display (R/W=1).

6

E

Enable - Questo pin è una linea di controllo con cui si può abilitare il display ed accettare dati ed istruzioni dal bus dati (E=1).

7

DB0

Data Bus line 0 - Le linee su cui transitano i dati tra processore e display.

8

DB1

Data Bus line 1

9

DB2

Data Bus line 2

10

DB3

Data Bus line 3

11

DB4

Data Bus line 4

12

DB5

Data Bus line 5

13

DB6

Data Bus line 6

14

DB7

Data Bus line 7

15

A

Pin per il collegamento della retroilluminazione se presente.

16

K

Pin per il collegamento della retroilluminazione se presente.

 

Dei 16 pin presenti se ne utilizzano però solamente 7


RS   Register select signal
E     Enable signal
R/W read/wrwite selection
DB4 Data bit 4
DB5 Data bit 5
DB6 Data bit 6
DB7 Data bit 7

Le linee dati, RS ed E, non sono dotate di una resistenza pull-down per forzare a massa la linea quando non utilizzate. Questo è stato voluto per poter mantenere la compatibilità con altre applicazioni come I/O digitale nei medesimi pin. Nella maggior parte dei casi il sistema funzionerà ugualmente, ma se dovesse essere necessario aggiungere le tre resistenze di pulldown non ci saranno grossi problemi ad istallarne esternamente, o a bordo del display. Si potrà addirittura usare lo strip line SV16 in combinata con SV6 (vedere lo schema) per connettere le tre resistenze successivamente chiuse verso il più vicino punto di massa.
Il trimmer R55 connesso al pin Vo, tramite lo strip line SV25  permette di regolare il contrasto del LCD.

 

 

Descrizione del progetto.
 Benché il progetto sia presentato come visualizzatore di 4 temperature provenienti da 4 distinti sensori, ad esempio termocoppie, è intuitivo che può essere facilmente modificato per visualizzare grandezze fisiche di natura diversa, ad esempio livelli in serbatoi o silos, portate in condotte, intensità luminose, velocità, accelerazioni, e tutti quelle che vengono fornite dall'opportuno trasduttore o condizionatore di segnale sotto forma di grandezza analogica.  Ovviamente questo segnale non dovrà superare il limite ammesso dagli ingressi analogici che stiamo usando.

Settando opportunamente l'apposito registro del PIC sarà possibile gestire un range interno a questo limite massimo e fissare delle eventuali soglie di comparazione.

 

Scelta del microcontroller 

A seconda che sviluppiate il progetto sulla piattaforma IDE o la mini potrete usare il PIC16F877A a 40 piedini oppure il 16F876A con 28 pin. Nulla vieta di usare i PIC della famiglia potenziata a 8 bit, ovvero i 18F4550 (40 pin) oppure il 18F2550 (28 pin), ma in questo caso il software qui fornito non è adeguato. Nessun problema per quanto riguarda le piattaforme hardware.

 

Schema elettrico
 Lo schema elettrico potra' essere dedotto dalla predisposizione della Micro-GT IDE, se si realizza usando il processore a 40 pin. Questa risulta predisposta nelle linee di controllo e nel BUS sia per il controllo a 4bit che per il controllo a 8bit.

Le linee del display saranno collegate in queste maniera.

 

 

Sviluppo del PCB


 

La Micro-GT smart LCD è una scheda di controllo per display distribuita dalla G-Tronic robotics in grado di visualizzare delle stringhe caricate via USB da un terminale computer.

L'applicazione classica è nelle vetrine con obbiettivo di realizzare etichette elettroniche riconfigurabili.

Il progetto è basato su 18F26j50 e sarà pubblicato appena testato.

 

 Sviluppo del firmware dedicato.

La programmazione avviene usando il compilatore Hitech, adottato dalla MicroChip ed integrato nell'ambiente dalla casa stessa. La creazione del progetto, con tutti i suoi passi, e' descritta nel capitolo 1 del corso online Let's GO PIC!!!, quindi non viene rispiegata adesso, si segnala solo che al paso in cui si definisce il compilatore da usare va selezionato "hitech universal tool suite" perche' compatibile anche con l'IDE MPLAB X.
 

Analisi del sorgente.

Procediamo

 

Eseguire la simulazione con RealPic

All'interno dell'archivio ZIP, che potete scaricare la link all'inizio dell'articolo troverete l'icona per il lancio della simulazione da eseguirsi con RealPic Simulator. Questo software dovrà essere installato nel vostro computer.

Il link, come mostrato in figura, si trova dentro alla cartella "temperature_LCD".

 

 

  Il file temperature_LCD.rpp configura in maniera automatica il pannello "Visual" predisponendo i cursori di simulazione del segnale analogico ai canali AN0,AN1,AN2,AN3 e i corretti collegamenti, per una comunicazione a 8 bit, con il display.

Come possiamo vedere nella successiva immagine, viene impiegato il PORT E per le linee di controllo, quindi in caso di utilizzo del PIC16F876A, nel quale è mancante, avverrà un errore in compilazione.  Questo si risolve semplicemente spostando queste uscite nel PORT C.

 

 

 

 

 

 

Il test avviene semplicemente posizionando i cursori in valori che dovranno trovare corrispondenza su quelli visualizzati nei quattro angoli del display.

  

 

 This opera "Lettura e visualizzazione di 4 segnali analogici su LCD 2 x 16 " is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Italy License

 

appendice.

E quando non si giocattola con l'elettronica cosa si fa?   I pochi momenti che ci restano liberi li passiamo tra amici in quella grande citta' universitaria che e' Padova.

E' una citta' sempre giovane e piena di movimento.

Sono molto famosi i mercoledi' universitari a base di spriz !  un intruglio rosso leggermente alcolico che si usa tenere in mano mentre si chiacchera in una delle numerose piazze o nell'affollatissimo getto.

Uno dei punti di ritrovo e' anche il bed and brekfast della nostra amica Jenny dove ci si puo' anche lanciare in uno spensierato karaoke.

Ecco la nostra amica Jenny che alle tre di notte ha ancora la forza per cantarci una canzone:

 

 

 

  

jenny del B&B William

 

Il sito web del bed and brekfast di jenny lo ha realizzato Marco Visentini ed e' visibile all'indirizzo: http://www.bb-yewilliam.it/

Personalmente credo sia il posto migliore dove passare un weekend con gli amici o con la famiglia se ci si trova a Padova di passaggio o in visita turistica.  Siamo a pochi metri dalla stazione quindi e' anche comodo da raggiungere.

 

 Pagina precedente