|
Lettura e visualizzazione di 4 segnali analogici su LCD 2 x 16 |
|
Identificazione progetto
progetto |
autore |
|
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 |
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.