Home Soluzioni Guida all'interfaccia di controllo LCD Character STN

Guida all'interfaccia di controllo LCD Character STN

January 19,2023

Introduzione

Winstar offre un’ampia gamma di moduli LCD carattere standard (Character LCD Module) per applicazioni industriali ed embedded. Le serie disponibili includono WH0802, WH1202, WH1601, WH1602, WH1604, WH2002, WH2004, WH2402 e WH4002. Grazie alla possibilità di utilizzare un numero minimo di pin di controllo, questi moduli semplificano l’integrazione del display e la selezione del microcontrollore (MCU) più adatto.

I comuni moduli LCD carattere presenti sul mercato richiedono spesso l’aggiunta di una scheda di conversione per supportare l’interfaccia I2C, come mostrato nella Figura 1. Questa soluzione comporta un aumento dello spessore del modulo LCM, ulteriori fasi nel processo produttivo e una possibile riduzione della resa di produzione.
 

Modulo LCD carattere con scheda di conversione I2C aggiuntiva

Figura 1: Modulo LCD carattere comunemente utilizzato sul mercato con scheda di conversione aggiuntiva per il supporto dell’interfaccia I2C.

Modulo LCD carattere WH1602 Winstar con interfacce I2C e SPI integrate

Figura 2: Il modulo LCD carattere WH1602 di Winstar supporta le interfacce I2C e SPI senza utilizzare una scheda di conversione aggiuntiva.

 

Senza aggiungere una scheda di conversione, è sufficiente collegare la scheda di sviluppo Arduino Uno per controllare direttamente i seguenti moduli LCD carattere Winstar tramite diverse interfacce di comunicazione.

  • WINSTAR WH1602 LCM: 16 caratteri × 2 righe
  • WINSTAR WH2002 LCM: 20 caratteri × 2 righe
  • WINSTAR WH2004 LCM: 20 caratteri × 4 righe
 

Queste tre serie LCM integrano il controller LCD RW1063 e supportano sia l’interfaccia seriale (I2C e SPI) sia l’interfaccia parallela (6800).

Nota: per maggiori informazioni sulle interfacce dei display, consultare "Guida alle interfacce dei display".

Definizione dei pin dell'LCM

N. pin Simbolo Descrizione
No.1 Vss Massa
No.2 Vdd Alimentazione per la logica
No.3 V0 Regolazione del contrasto
No.4 RS Selezione comando/dati
No.5 RW Segnale di selezione lettura/scrittura solo per interfaccia 6800 a 8/4 bit
No.6 E Segnale Enable solo per interfaccia 6800 a 8/4 bit
No.7 DB0/SA0 Linea dati bus 0 solo per interfaccia 6800 a 8 bit
Linea di impostazione indirizzo SA0 per interfaccia I2C
No.8 DB1/SA1 Linea dati bus 1 solo per interfaccia 6800 a 8 bit
Linea di impostazione indirizzo SA1 per interfaccia I2C
No.9 DB2 Linea dati bus 2 solo per interfaccia 6800 a 8 bit
No.10 DB3 Linea dati bus 3 solo per interfaccia 6800 a 8 bit
No.11 DB4 Linea dati bus 4 solo per interfaccia 6800 a 8/4 bit
No.12 DB5/CSB/CSB Linea dati bus 5 solo per interfaccia 6800 a 8/4 bit
Linea di selezione CSB Enable per interfaccia I2C e SPI
No.13 DB6/SDA/SCLK Linea dati bus 6 solo per interfaccia 6800 a 8/4 bit
Linea dati SDA per interfaccia I2C
Segnale di clock SCLK per interfaccia SPI
No.14 DB7/SCL/SID Linea dati bus 7 solo per interfaccia 6800 a 8/4 bit
Linea clock SCL per interfaccia I2C
Linea dati SID per interfaccia SPI
No.15 A+ Alimentazione per retroilluminazione (B/L) +
No.16 K- Alimentazione per retroilluminazione (B/L) -
 
Tabella 1:Definizione dei pin LCM

 

Per il pin V0 indicato nella tabella precedente, viene utilizzato un potenziometro da 20 kΩ per regolare il contrasto dei caratteri. Durante il test, se il testo non è visibile oppure viene visualizzata continuamente l'immagine di sfondo, regolare il contrasto tramite il potenziometro.

Il metodo di collegamento del potenziometro V0 è illustrato nella Figura 3:

Metodo di collegamento del potenziometro V0
 
Figura 3:Metodo di collegamento del potenziometro V0

 

Come collegare l'LCM alla scheda di sviluppo Arduino Uno

 

La Figura 4 mostra i metodi di collegamento delle quattro interfacce di comunicazione LCM (I2C, SPI, 6800 a 8 bit/4 bit) con Arduino Uno. È possibile notare che le interfacce I2C e SPI richiedono solo un numero ridotto di pin GPIO per controllare i moduli LCD carattere.

Per l'interfaccia I2C, poiché Arduino Uno dispone di resistenze di pull-up interne sui pin I2C, non è necessario collegare ulteriori resistenze di pull-up ai pin SDA e SCL. Se nel programma la resistenza di pull-up interna viene disabilitata, è necessario collegare una resistenza di pull-up esterna.

(a) Collegamento interfaccia I2C

Collegamento dell'interfaccia I2C tra LCM e Arduino Uno

(b) Collegamento interfaccia SPI

Collegamento dell'interfaccia SPI tra LCM e Arduino Uno

(c) Collegamento interfaccia 6800-4 bit

Collegamento dell'interfaccia 6800 a 4 bit tra LCM e Arduino Uno

(d) Collegamento interfaccia 6800-8 bit

Collegamento dell'interfaccia 6800 a 8 bit tra LCM e Arduino Uno

Figura 4: Metodi di collegamento delle quattro interfacce di comunicazione LCM con Arduino Uno.

 

Comandi LCM

Non tutte le interfacce di comunicazione supportano l'intero set di comandi dell'LCM. Nel caso dell'interfaccia SPI, non sono presenti la linea di controllo RW e i pin MISO, pertanto il comando di lettura non è supportato. Durante la scrittura, la linea di controllo RS determina se i dati inviati sono dati di comando oppure dati di visualizzazione.

Anche nell'interfaccia I2C non è presente la linea di controllo RW, pertanto non sono supportati i comandi di lettura. Prima di inviare dati di comando o dati di visualizzazione, è necessario trasmettere il codice di controllo comando (A0=0) oppure il codice di controllo dati (A0=1) per definire se il byte successivo inviato corrisponde a un comando o a un dato di visualizzazione.

Temporizzazione delle interfacce SPI e I2C

Le Figure 5 e 6 mostrano i diagrammi temporali relativi al controllo dell'LCM tramite interfaccia SPI. È possibile notare che l'SPI utilizzata dall'LCM non corrisponde alla classica interfaccia SPI normalmente disponibile nei microcontrollori (MCU). È necessario infatti un ulteriore segnale RS per determinare se il byte attualmente trasmesso rappresenta un comando oppure un dato. I dati dei bit (BIT7~BIT0) sulla linea dati (SID) cambiano quando la linea di clock (SCLK) si trova a livello Low. I dati dei bit (BIT7~BIT0) vengono acquisiti quando la linea di clock (SCLK) si trova a livello High.

Temporizzazione della scrittura comando tramite interfaccia SPI

Figura 5:Temporizzazione della scrittura comando SPI

Temporizzazione della scrittura dati tramite interfaccia SPI

Figura 6:Temporizzazione della scrittura dati SPI

Le Figure 7 e 8 mostrano i diagrammi temporali relativi al controllo dell'LCM tramite interfaccia I2C. Ad eccezione del segnale Chip Select Bar (CSB), il controllo tramite interfaccia I2C prevede l'invio di tre byte ogni volta che viene scritto un comando oppure un dato di visualizzazione. Tra questi, il bit A0 del secondo byte determina se il terzo byte corrisponde a un comando oppure a un dato di visualizzazione.

Temporizzazione della scrittura comandi tramite interfaccia I2C

Figura 7:Temporizzazione della scrittura comandi I2C

Temporizzazione della scrittura dati tramite interfaccia I2C

Figura 8:Temporizzazione della scrittura dati I2C

Codice

L'LCM può essere compilato e utilizzato direttamente modificando le impostazioni del programma.

Step1: impostare il numero massimo di caratteri visualizzabili su una singola riga dell'LCM.
Ad esempio, la seguente impostazione configura una riga con un massimo di 16 caratteri.

Step1: impostazione del numero massimo di caratteri su una singola riga dell'LCM

Step2: impostare il numero massimo di righe dell'LCM.
Ad esempio, la seguente impostazione configura l'LCM con 2 righe.

Step2: impostazione del numero massimo di righe dell'LCM

Step3: impostare l'interfaccia dell'LCM.
Ad esempio, la seguente impostazione seleziona l'interfaccia I2C.

Step3: impostazione dell'interfaccia LCM

Step4: compilare il programma e caricarlo sulla scheda di sviluppo Arduino Uno.
La Figura 9 mostra un esempio delle schermate visualizzate da tre LCM.
Quando il contrasto del display risulta troppo chiaro o troppo scuro, è possibile regolare il potenziometro collegato al pin V0 per ottenere il livello di contrasto appropriato, come mostrato nella Figura 10.

(a) Contrasto chiaro
Sono visibili solo caratteri poco definiti.
(b) Contrasto appropriato (c) Contrasto scuro
Ogni carattere presenta un'ombra evidente.
figure9-a-1-schermate di tre LCM figure9-b-1-schermate di tre LCM figure9-c-1-schermate di tre LCM
figure9-a-2-schermate di tre LCM figure9-b-2-schermate di tre LCM figure9-c-2-schermate di tre LCM
figure9-a-3-schermate di tre LCM figure9-b-3-schermate di tre LCM figure9-c-3-schermate di tre LCM
Figura 9:Esempio delle schermate visualizzate da tre LCM

 

Figura 10: regolazione del pin V0

Figura 10:Regolazione del pin V0

Per ricevere il codice demo completo, contattaci.

Qualche domanda sulle soluzioni di visualizzazione per la propria azienda? Contatti!

Iscrizione

Ricevere e-mail sugli aggiornamenti delle notizie da Winstar

Contatti

Prezzo/Scheda tecnica/Richiesta generale

Supporto tecnico

Si prega di contattarci per qualsiasi informazione tecnica

go top
Contatti
close

Valorizziamo la tua privacy

Facendo clic su "Consenti tutti i cookie", accetti la memorizzazione dei cookie sul tuo dispositivo per migliorare la navigazione del sito, analizzare l'utilizzo del sito e assistere nei nostri sforzi di marketing e prestazioni. Puoi trovare ulteriori informazioni su questo argomento nella nostra politica. Informativa sulla privacy

Valorizziamo la tua privacy

Winstar e alcune terze parti utilizzano i cookie su www.winstar.com.tw. I dettagli relativi ai tipi di cookie, al loro scopo e alle terze parti coinvolte sono descritti di seguito e nella nostra Informativa sui cookie. Fare clic su "Consenti tutti" per acconsentire all'uso dei cookie e ottenere la migliore esperienza possibile sui nostri siti web. Puoi anche impostare le tue preferenze o rifiutare i cookie (ad eccezione dei cookie strettamente necessari).

Gestisci le preferenze di consenso

Sempre attivo
Cookie essenziali

Questi cookie sono essenziali per permetterti di navigare nel sito web e utilizzare le sue funzionalità, come impostare le tue preferenze sulla privacy, effettuare il login o compilare moduli.

Cookie di analisi

Questi sono noti anche come "cookie statistici"; raccolgono informazioni su come utilizzi un sito web, come quali pagine hai visitato e quali link hai cliccato. Vedi dettagli.