|
|
Panoramica
In questa pagina viene
proposto la costruzione di una scheda per pilotare tramite un
collegamento seriale, dei display LCD.
Il progetto e basato sulla scheda
SerLCD
V2.5 prodotta dalla SPARKFUN che mette a
disposizione sia lo schema, sia i
sorgenti che il file
esadecimale per la programmazione del processore presente sulla
scheda un PIC16F688.
Il modulo riceve segnali di tipo seriale a livello TTL e visualizza i caratteri
sullo schermo LCD. Sono sufficienti solo tre fili - 5V, GND. e Segnale.
Caratteristiche
Le principali caratteristiche del modulo sono:
• Processore 16F688 utilizza l'interfaccia UART per la precisione una maggiore
comunicazione
• Velocità di trasmissione settabile su valori di: 2400, 4800, 9600 (default),
14400, 19200 e 38400
• Velocità di elaborazione a 8MHz
• Capacità di immagazzinamento di 80 caratteri
• Transistor per gestione retroilluminazione in grado di gestire fino a 1A
• modulazione di larghezza di impulso retroilluminazione consente un controllo
diretto della luminosità della retroilluminazione e il consumo di corrente
• Tempi brevi per il boot-up
• Possibilità di definire la schermata di caricamento
Specifiche interfaccia
Il valore predefinito di comunicazioni è 9600bps con 8 bit di dati, 1 bit di
start, 1 bit di stop e nessuna parità.
Il SerLCD è controllato utilizzando caratteri ASCII. Questo significa che se si
passa il carattere ASCll "r" il modulo mostrerà una "r" sul display LCD
nella posizione del cursore successiva.
Ci sono solo due eccezioni a questo. Questi sono i caratteri di comando decimale
254 (0xFE) e 124 (0x7C).
Configurazione
Tutte le impostazioni vengono memorizzate su EEPROM on board e caricati durante
l'accensione.
Retroilluminazione
Il processore modula la
retroilluminazione tramite un transistor BJT da1 A. Questo permette
all'utente di impostare 30 valori di luminosità diverse.
Con l'invio del carattere di comando speciale 0x7C (decimale 124) seguito
da un numero compreso tra 128-157, valori di la retroilluminazione PWM
sarà impostata. Questo è utile quando il consumo di energia elettrica dell'unità
deve essere minimizzato. Riducendo la luminosità, il consumo di corrente globale
retroilluminazione è ridotta.
Valore |
luminosità |
128 |
Off |
140 |
40% On |
150 |
73% On |
157 |
completamente acceso |
158 |
non valido |
Configurazione LCD
Il firmware v2.5 include le impostazioni dell'interfaccia per i seguenti tipi di
schermi LCD: 16x2, 20x2, 16x4, 20x4.
20 caratteri di larghezza |
3 |
16 caratteri di larghezza |
4 |
4 linee |
5 |
2 linee |
6 |
Per modificare il
tipo di LCD da controllare connesso al modulo SerLCD, occorre trasmettere il comando speciale -
124(0x7C) seguito dal valore 3, 4, 5, o 6.
Questo comando
impostare la larghezza in caratteri dell'LCD e il numero di linee.
Queste impostazioni
vengono utilizzati per effettuare correttamente il ritorno a capo del cursore
per mantenerlo entro la visualizzazione dello schermo.
Il tipo di LCD è salvato all'interno della memoria EEPROM dopo ogni cambiamento.
Comandi LCD estesi
Azzeramento del display |
0x01 |
Sposta il cursore a destra di un carattere |
0x14 |
Spostare il cursore a sinistra di un carattere |
0x10 |
Effettua uno scroll verso destra |
0x1C |
Effettua uno scroll verso sinistra |
0x18 |
Accende il display |
0x0C |
Spegne in display |
0x08 |
Sottolinea il cursore |
0x0E |
Elimina la sottolineatura del cursore |
0x0C |
Attiva il lampeggiamento del cursore |
0x0D |
Disattiva il lampeggiamento del cursore |
0x0C |
Impostare la posizione del cursore |
0x80 + |
Vedere il datasheet HD44780 per ulteriori informazioni.
Schermata di
avvio
Il SerLCD visualizza una schermata di avvio, quella di default è "Sparkfun.com `SerLCD v2 '"
per verificare che l'unità è accesa e
funziona correttamente, e che la connessione al display LCD è corretta.
La schermata iniziale viene visualizzato per 500 ms durante il boot-up e può
essere disattivata, se lo si desidera.
E' però possibile impostare
una propria schermata di avvio (2 linee). Per fare questo, basta impostare le
due linee come si farebbe per mostrale sul display, quindi occorre inviare carattere speciale
124, seguito da "<control> j" per salvarlo in memoria. Per verificare, basta
spegnere e riaccendere.
Per disabilitare la schermata iniziale inviare il comando `speciale ' (decimale
124), 0x7C seguita dal decimale 9.
Ogni volta che questo comando viene
inviato la schermata iniziale commuta. Cioè, se la
schermata di avvio è correntemente visualizzata, inviando il comando 0x7C 0x09
si disabilita la schermata di avvio nel boot seguente. Inviando nuovamente
il comando 0x7C 0x09 si abiliterà nuovamente la schermata iniziale.
Cambiare la velocità di trasmissione
Il SerLCD ha di default la velocità di trasmissione a 9600 baud, ma può essere impostato su una varietà
di altre velocità di trasmissione.
Per modificare la velocità di trasmissione, prima
inserire il carattere speciale di comando 124, quindi:
2400 |
baud, |
inserire "<control> k" |
4800 |
baud, |
inserire "<control> I" |
9600 |
baud, |
inserire "<control> m" |
14.400 |
baud, |
inserire "<control> n" |
19200 |
baud, |
inserire "<control> o" |
38400 |
baud, |
inserire "<control> p " |
Se il modulo entra in uno stato sconosciuto, inserire "<control>r " a 9600 baud, mentre la schermata di avvio è attiva e l'unità di resettera a 9600 baud.
Hardware
Tensione e corrente di alimentazione
Il modulo deve essere alimentato con una tensione di 5V DC. Una tensione
superiore a 5,5 V, può danneggiare
il PIC, il display LCD o la retroilluminazione (se collegata).
Il modulo consuma 3mA con la retroilluminazione spenta e ~ 60mA con la
retroilluminazione attiva.
Controllo del contrasto
Il modulo è dotato di un trimmer 10k per controllare il contrasto del
display LCD. La temperatura e tensione
di alimentazione può influenzare il contrasto del display LCD.
Caratteristiche Modulo Originale Spark-Fun |
Schema elettrico Modulo originale Spark-Fun |
Elenco revisioni | |
08/04/2011 | Aggiornato pagina, inserito descrizione modulo |
14/12/2009 | Aggiornato pagina, inserito foto e programma di collaudo |
24/11/2009 | Emissione preliminare |