Giuseppe Parrello

 

Embedded Display TFT Ilitek ILI9341


Introduzione

Questo schermo TFT di tipo embedded è basato sul chipset Ilitek ILI9341 ed è compatibile con l'interfaccia seriale SPI. Questo schermo TFT ha una risoluzione di 240x320 pixel e 262K colori. Una particolarità di questo schermo è che viene venduto anche con un controller Touch Screen basato sul chipset XPTEK XPT2046. Questo permette, con le opportune librerie, di gestire il display tramite comandi touch. Per semplicità andremo a collegare questo schermo alla scheda di sviluppo FTDI FT232H, di cui esiste una pagina dedicata su questo sito - fare riferimento alla suddetta pagina per l'installazione.

 

Collegamento via SPI

Questo schermo deve essere collegato alla scheda di sviluppo FTDI FT232H tramite il protocollo SPI. I connettori di collegamento sono elencati qui di seguito:

Immagine Scheda FT232H Schermo ILI9341 Touch XPT2046

FT232H - ILI9341

AD0 SCK T_CLK
AD1 SDI (MOSI) T_DIN
AD2 SDO (MISO) T_OUT
AD3 CS ------
AD4 ------ T_CS
AD5 D/C ------
AD6 RESET ------
AD7 ------ T_IRQ
+3.3V LED ------
+5V VCC ------
GND GND ------

La seguente libreria Python permette di gestire 3 pin ausiliari, "Reset", "Touch IRQ" e "Retroilluminazione Schermo". Poiché i pin disponibili sono solo 2 (da AD6 a AD7), la retroilluminazione (pin "LED") è collegata al "+3.3V" della scheda di sviluppo FTDI FT232H. In realtà è possibile controllare la retroilluminazione via software invertendo i collegamenti tra il pin "RESET" e il pin "LED", ovvero collegando il pin "RESET" dello schermo al "+3.3V" della scheda di sviluppo e collegando il pin "LED" dello schermo al pin "AD6" della scheda di sviluppo. Questo perché il display funziona solo quando il suo pin "RESET" viene messo in modalità "High" (ovvero con presenza di corrente), pertanto il pin "RESET" dello schermo deve essere collegato o al pin "+3.3V" oppure ad un pin disponibile sulla scheda di sviluppo.
L'uso del pin "T_IRQ" è facoltativo nella seguente libreria Python, poiché si usa soltanto per specificare un metodo "handler" per il recupero delle informazioni "touch". Normalmente la libreria Python non richiede di specificare questo pin, poiché la lettura del touch può essere sempre effettuata in tempo reale (vedere gli esempi inclusi con la libreria Python).

 

Librerie Python

Per gestire questo schermo, possiamo usare la libreria Python denominata "ILI9341 FTDI". Questa libreria richiede solo la presenza della libreria "PyFTDI" ed è stata creata partendo dalle seguenti librerie Python su Internet:

Questa libreria presenta le seguenti peculiarità: