Pubblicità

#25 Arduino: display rotondo

Collegare un display rgb 240×240 da 1.28″

Il display come detto sopra ha una risoluzione di 240×240 ed utilizza un driver GCA901, viene connesso tramite SPI, sia per l’alimentazione che per la connessione SPI va utilizzata una tensione di 3,3Vcc, quindi se avete un controller da 5V andranno utilizzati dei traslatori di livello logico per evitare danni.

Il driver GC9A01 (qui il datasheet) in versione SOC (qui il significato) a chip singolo da 262.144 colori, comprende un driver sorgente a 360 canali ed un driver Gate a 32 canali, 129.600 byte GRAM per i dati della visualizzazione grafica.
Il driver supporta l’interfaccia MCU bus parallela a 8/9/12/16/18 bit, interfaccia bus dati RGB a 6/12/16/18 bit ed interfaccia periferica seriale a 3/4 linee (SPI).

L’area dell’immagine in movimento può essere specificata nella GRAM interna tramite una funzione di indirizzo della finestra; questa aera può essere aggiornata selettivamente in modo da essere visualizzata contemporaneamente all’immagine fissa ed in modo indipendente.

Vediamo i collegamenti partendo da destra verso sinistra avremo:

  • Vcc: alimentazione 3.5-5V
  • GND: GND
  • SCL: Clock dell’intrfaccia seriale
  • SDA: Pin ingresso/uscita dell’interfaccia SPI.
  • DC: Pin di selezione dati/comandi del display nell’interfaccia a 4 linee
  • CS: Pin di selezione del chip, basso abilitato, alto disabilitato
  • RST: Reset del display

Nel modulo del display è presente un regolatore di tensione (662K 3.3V), che permette al display di lavorare con i 5V, questo regolare infatti abbassa la tensione dai 5V di entrata ai 3.3V necessari al display per il funzionamento.

Dopo questa piccola introduzione al display, inziamo a creare uno sketch , come prima cosa colleghiamo il display ad Arduino, per questo serviranno delle resistenze da 220Ω.

Schema collegamento:

Pin displayPin Arduino
VCCC
GNDGND
CS10
RST8
DC9
SDA11
SCK13

Passando alla parte software, come prima cosa occorre installare in Arudino IDE la libreria “Adafruit GC9A01A” e “Adafruit GFX Library”.

Fatto questo, creiamo un semplice sketch per provare il display:

Come si può vedere lo sketch è molto semplice, non vi è nessun loop (farò un altro tutorial per creare della grafica all’interno del loop), iniziamo ad analizzare lo sketch:

La prima parte dello sketch prevede l’inserimento delle librerie necessarie per il funzionamento del display, in particolare la SPI, e le due installate in precedenza.
Successivamente definisco i pin DC e CS di Arduino ed un terzo che ho commentato, in quanto il mio display è privo di pin per la regolazione della luminosità, in caso il vostro avesse questo pin, decommentate la riga per poterlo usare.

L’ultima riga di questa parte di codice, serve per inizializzare il display.

All’interno del void setup, ho per prima cosa inserito come commento la configurazione del pin per la retro illuminazione.
Successivamente tramite il comando tft.begin() (ricordatevi che ogni comando deve essere preceduto da tft), inizializzo il display, questo comando va inserito dopo ogni oggetto TFT e prima di qualsiasi comando di visualizzazione.
Fatto questo inizio a creare il testo che voglio che compaia sul display:

Imposto la rotazione dello schermo a 0, imposto un colore di sfondo (fillScreen), ed il colore del testo (setTextColor), quindi la grandezza del testo e la posizione tramite il comando set.Cursor che è composto da due valori, il primo indica l’asse x il secondo l’asse y entrambi hanno come scala i pixel; quindi per il display che sto usando andremo da 0 a 240 sia per x che per y.

Inserite le coordinate e la grafica che desideriamo, indichiamo quale testo scrivere sul display, successivamente ripeto i comandi per la seconda riga di testo.

chiudo la parte setup, ed inserisco un loop vuoto.

Se tutto è stato fatto in maniera corretta, dovremmo vedere accendere il display.


In questa pagina sono presenti link di affiliazione che garantiscono a questo sito una piccola quota di ricavi, senza variazione del prezzo per l'acquirente.

- / 5
Grazie per aver votato!

Lascia un commento

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