Display TFT |
|
Esempi di collegamento del display ad Arduino UNO
Il display qui illustrato è del tipo
TFT (Thin Film Transistor), in italiano transistor a
pellicola sottile: è una tecnologia applicata ai display piatti a cristalli
liquidi (LCD) o OLED (Organic Light Emitting Diode ovvero diodo organico ad
emissione di luce) che vengono in questo modo, identificati come display a
matrice attiva.
Il modulo illustrato può essere trovato sul sito
ICStation (Codice
Id 11099) ad un costo di circa 6 € comprese le spese di spedizione.
Il display TFT utilizzato è di tipo retroilluminato e misura
2" di diagonale,
con risoluzione di 176 x 220 pixel, basato sul chip ILI9225 (vedere
datasheet)che è un controller /
driver a chip singolo per 262.144 colori. Questo chip, è in grado di collegarsi
direttamente a un microprocessore esterno tramite un’interfaccia SPI. I dati
possono essere memorizzati all’interno della memoria RAM on-chip da 87120 byte.
Lo schema di alimentazione del
modulo, è molto semplice: l’alimentazione a +5V è ridotta al valore di 3,3V con
un integrato regolatore LM6206-3.3 N3 (Integrato U1) del tipo a basso
rumore e basso valore di dropout che eroga sino a 250 mA.
Un ponticello J1 permette di alimentare il modulo direttamente con la tensione
di 3,3V, per fare questo occorre depositare una goccia di stagno per effettuare
il ponticello
LM6206N3 Low Dropout CMOS Voltage Regulators | ||
|
||
Piedinatura | Datasheet | Foto dell'integrato |
Per interfacciamento esterno è presente l'integrato U2 tipo
74HC245;
questi è un ricetrasmettitore a 8 bit con uscite a 3 stati.
La
retroilluminazione del display è alimentata a 3,3V tramite la resistenza
R1 da 5,6 ohm.
Il modulo misura 62x38mm circa,
nella parte posteriore è presente uno slot per schede micro-SD, che tra le altre
cose, permette di memorizzare le immagini bitmap da visualizzare sullo schermo
74HC245 Octal bus transceiver; 3-state | ||
|
||
Piedinatura | Datasheet | Foto dell'integrato |
|
|
|
Per la gestione del display sono utilizzate varie librerie, nei singoli esempi è indicato il modello e dove reperirla, è possibile comunque scaricare il seguente file che le contiene tutte.
Il programma uilizzato utilizza
la libreria TFT_22_ILI9225, e mostra il
caricamento di un logo, alla conclusione viene mostrato il tempo in millisecondi
utilizzati per la conclusione del programma.
La libreria utilizzata è quella scritta da Johan Cronje e che può
essere scaricata da
questo link,
per installare la libreria:
Fare clic sul pulsante Download ZIP a destra per scaricare TFT_22_ILI9225-master.zip
Estrarre il file ZIP nella cartella delle librerie dell'IDE
Rinominare la cartella non compressa da TFT_22_ILI9225-master a TFT_22_ILI9225
Riavviare l'IDE di Arduino
Guardate l'esempio di esempio "Basic_Demo" per il codice di esempio e il Wiki per la documentazione.
In questo caso viene utilizzata una modalità che permette di montare il display direttamente sul connettore di Arduino, ma i tempi di esecuzione sono lenti.
#include "SPI.h"
#include "TFT_22_ILI9225.h"
#define TFT_RST A4
#define TFT_RS A3
#define TFT_CS A5 // SS
#define TFT_SDI A2 // MOSI
#define TFT_CLK A1 // SCK
#define TFT_LED 0 // 0 if wired to +5V directly
// Use software SPI (slower)
TFT_22_ILI9225 tft = TFT_22_ILI9225(TFT_RST, TFT_RS, TFT_CS, TFT_SDI, TFT_CLK,
TFT_LED);
|
|
Collegamento con collegamento SPI veloce
Anche in questo caso viene utilizzata la libreria TFT_22_ILI9225, ma il diverso collegamento dei pin di collegamento permette tempi di esecuzione più veloci.
#include "SPI.h"
#include "TFT_22_ILI9225.h"
#define TFT_CLK 13 // SCK
#define TFT_SDI 11 // SDA
#define TFT_RS 9 // RS
#define TFT_RST 8 // RST
#define TFT_CS 10 // CS
#define TFT_LED 0 // Già collegato a +5V/+3.3V
// Use hardware SPI (faster)
TFT_22_ILI9225 tft = TFT_22_ILI9225(TFT_RST, TFT_RS, TFT_CS, TFT_LED);
|
Utilizzo del display come cornice digitale
Il programma presentato permette di utilizzare il display
come una cornice digitale. per la gestione del modulo sono utilizzate tre
diverse librerie:
La principale è basata sulla libreria UTFT scritta da
Henning Karlsen (vedere
link) e modificata da Doncho Gunchev per supportare il display
basato sul ILI9225, in questo caso occorre indicare come modello il QD220A.
La libreria modificata può essere trovata a
questo link.
Per gestire anche anche il lettore di scheda mini SD e le immagini che su di
essa possono essere salvate sono necessarie altre due librerie, anche queste
scritte da Henning Karlsen:
La prima prima libreria si chiama tinyFAT vedere Link, questa libreria permette appunto la comunicazione SPI e sui filesystem. Sfortunatamente la libreria supporta solamente schede SD formattate FAT16 fino a 2 GB di dimensione. Le schede SD formattate da 4 GB FAT16 non funzionano. I nomi di file lunghi non sono supportati. Per cui occorre mantenere i nomi di file conformi al vecchio standard 8.3
La seconda libreria si chiama UTFT_tinyFAT vedere link, questa libreria è un componente aggiuntivo per UTFT e non funziona da sola e per funzionare richiede la libreria tinyFAT, Questa libreria aggiunge un modo semplice per caricare immagini dalle schede SD. Le immagini devono trovarsi nel formato .raw. Le immagini possono essere convertite nel formato .raw con ImageConverter565 fornito con la libreria UTFT.
|
Per collegare il modulo display ad Arduino ed utilizzare
anche il lettore mini SD occorrerà saldare un connettore maschio 4x1 sul
connettore P2, per come è impostato il connettore P1, il collegamento con
Arduino è molto semplice, vedere l'immagine sotto riportata.
Per il collegamento tra Arduino e il connettore P2 occorre realizzare un
apposito caco oppure utilizzare cavi singoli del tipo DuPont Maschi Femmina.
|
Realizzazione di un orologio digitale
Un altro esempio di utilizzo del display TFT ILI9225 è
quello di realizzare un orologio digitale, per fare questo utilizzeremo un modulo MH-Real-Time Clock Module - 2
che si
basa sull' integrato DS1302 al cui interno è presente un orologio
in tempo reale / calendario e 31 byte di RAM statica (per le caratteristiche e
libreria di gestione vedere la
relativa
pagina).
Per il collegamento del modulo Real-Time, vista la configurazione dei pin è
possibile inserire il modulo direttamente nel connettore di Arduino utilizzando
i pin D2 e D3 opportunamente configurati per alimentare il modulo.
Per quanto riguarda il modulo display, per la sue gestione, viene utilizzata la
libreria UTFT.
Per il resto il programma utilizza le seguenti librerie: <DS1302.h>, <Wire.h>
e <UTFT.h>
|
|
Elenco revisioni: | |
14/01/2022 | Aggiornato pagina |
11/08/2018 | Aggiornato link |
28/10/2017 | Emissione preliminare |