Strumenti Utente

Strumenti Sito


rpi_lcd_reuse

Utilizzare schermo TFT per Rasperry con Arduino


Introduzione

Da tempo volevo riutilizzare un vecchio schermo LCd Touch specifico per Raspberry che non usavo più, nello specifico si tratta di un schermo da 3.5 pollici con risoluzione 480×320 gestito da un drive ILI9486 senza nessun riferimento, vedi immagine seguente

L'idea era di utilizzarlo come schermo per progetti con Arduino o meglio ancora con una scheda WiFi come la WeMos D1 mini che oltre ad essere molto economica è veramente piccola.

Il problema stava nel trovare una libreria ( in quelle standard dell'IDE non ci sono) per poterlo pilotare. Cercando sul Web mi sono imbattuto in un'ottima libreria la TFT_eSPI che oltre a gestire una miriade di drive sia per Arduino che per ESP8266, ma anche per molte altre piattaforme, ha dei profili ottimizzati proprio per questo schermo. Purtroppo è priva di documentazione ma ha un ricco corredo di esempi da cui capirne il funzionamento.

Preparazione della libreria

Questa libreria, potendo lavorare con moltissimi schermi e almeno 5 piattaforme, ha bisogno di essere personalizzata per l'uso che se ne deve fare ovvero:

  • piattaforma ⇒ ESP8266
  • schermo ⇒ RPi LCD Touch 9486

La personalizzazione consiste nel modificare il file “User_Setup_Select.h” presente nella root della libreria dove si dovrà decommentare l'istruzione “Include” relativa allo “User_Setup” che vogliamo usare, attenzione che ci deve essere un solo include attivo, quindi si dovranno commentare eventuali altri include presenti.

Di file “User_Setup” la libreria ne ha già 40 preimpostati ma, nell'eventualità, c'è anche un template per crearne uno personale. Scorrendo le varie possibilità ho visto che una poteva fare al caso mio, ero veramente fiducioso in quanto nella cartella “Tools” è presente una immagine del mio LCD con la pinnatura per il collegamento, purtroppo non era così facile, niente da fare non ne voleva sapere di funzionare, faceva qualcosa ma non di sensato.

Senza perdermi d'animo ho iniziato a studiare i vari file della libreria e mi sono accorto che tra la WeMos e la ESP8266 ci sono piccole differenze nell'assegnazione dei GPIO, ho quindi creato un mio User_Setup con l'assegnazione esplicita dei GPIO mancanti e con grande soddisfazione ha iniziato a visualizzare il contenuto dello schermo.

Corrispondenza PIN e segnali

PIN LCDSegnaleBUSPIN WeMos
13.3V
25V 5V
3NC
45V
5NC
6GND
7NC
8NC
9GND
10NC
11TP_IRQ
12NC
13NC
14GND
15NC
16NC
173.3V
18LCD_RSDCD3
19LCD_SI/TP_SIMOSID7
20GND
21TP_SOMISOD6
22RSTRSTD4
23LCD_SCK/TP_SCKSCKD5
24LCD_CSCSD8
25GND G
26TP_CST_CSD2


rpi_lcd_reuse.txt · Ultima modifica: 2023/09/02 09:40 da 127.0.0.1