Collegamento display TFT SPI 128×160 Arduino

Uno schermo a colori TFT da 1,8″ o 2,4″ è utile per i progetti che richiedono l’output di testo. Ad esempio, per creare un orologio con una sveglia o una stazione meteo domestica con una scheda Arduino. Consideriamo le caratteristiche e la piedinatura del display a colori 1,8 TFT SPI e il collegamento del modulo schermo 1,8 TFT SPI 128×160 v1.1 ad Arduino o il collegamento del display 2,4 TFT SPI 240×320 al microcontrollore Arduino Uno.




Per questa attività sono necessari:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • modulo display LCD TFT SPI 128×160
  • cavi di collegamento

Display LCD TFT SPI 128×160 datasheet, pinout

Con una scheda Arduino e uno schermo LCD TFT, è possibile visualizzare sullo schermo una grande quantità di informazioni grafiche e di testo. L’abbreviazione TFT sta per “thin-film transistor”. Questo schermo deve il suo nome al fatto che ogni pixel è costituito da un condensatore e da un piccolo transistor che assomiglia a una pellicola sottile. Di conseguenza, il contrasto dello schermo è aumentato, a differenza degli display LCD 1602.

Modulo TFT SPI 128×160 pinout, datasheet
Modulo ST7735 TFT SPI 128×160 pinout, datasheet

Caratteristiche del LCD TFT SPI Arduino:

  • Tensione di alimentazione: 3.3 – 5 V
  • Corrente di funzionamento: 90 mA
  • Diagonale: 1,8 pollici
  • Risoluzione: 128×160 px
  • Tecnologia: TFT
  • Interfaccia: SPI
  • Driver matrice: ST7735
  • Numero di colori: 65536
  • Dimensioni: 50,8 × 36,6 mm

Il display grafico a colori TFT da 1,8″ ha una risoluzione di 128 x 160 pixel. Il controller ST7735R è responsabile del funzionamento del modulo, che è in grado di visualizzare fino a 65.000 colori in formato RGB. Sul retro del modulo è presente uno slot per una scheda SD, utilizzata per scaricare le immagini sul display grafico a colori LCD TFT. La connessione al microcontrollore Arduino avviene tramite un’interfaccia SPI a quattro fili.

Come collegare display LCD TFT 128×160 Arduino

Come usare display LCD TFT 128×160 con Arduino Uno
Come usare display LCD TFT SPI 128×160 con Arduino Uno
TFT spi 1.8 Arduino Uno Arduino Nano Arduino Mega
LED 3.3V 3.3V 3.3V
SCK 13 13 52
SDA 11 11 51
A0 9 9 9
RESET 8 8 8
CS 10 10 10
GND GND GND GND
VСС 5V 5V 5V

Collegare il display tft tramite il bus spi al microcontrollore Arduino come mostrato nel diagramma precedente. Si noti che le porte SCK e SDA della scheda Arduino Mega 2560 sono situate rispettivamente sulle porte 52 e 51. Per la prima conoscenza dello schermo ST7735 TFT, non è necessario installare alcuna libreria. Nel programma vengono utilizzate le librerie standard TFT.h (libreria per lo schermo) e SPI.h (libreria per il bus spi).

Programma Arduino per utilizzare display LCD TFT 128×160




#include "TFT.h"
#include "SPI.h"

#define cs 10 // pin per il collegamento CS
#define dc 9 // pin per il collegamento A0
#define rst 8 // pin per il collegamento al reset

TFT screen = TFT(cs, dc, rst);

void setup() {
  screen.begin();

  // colore dello schermo ( r , g , b )
  screen.background(0, 0, 0); 
  // dimensione del carattere
  screen.setTextSize(1);
  // colore del testo a schermo ( r , g , b )
  screen.stroke(255, 255, 255);

  // visualizzare il testo sullo schermo con le coordinate x e y
  screen.text("Hello, World!", 45, 20);
  delay(1000);
}

void loop() {
  // pulizia del display
  screen.background(0, 0, 0);
  // taille de la police
  screen.setTextSize(2);

  // modifica del colore del testo in modo fluido
  for (int i = 0; i <= 255; i=i+5) {
    screen.stroke(i, 255 - i, 255);
    screen.text("Hello, World!", 5, 50);
    delay(5);
  }
  delay(1000);

  // pulizia del display
  screen.background(0, 0, 0);
  // dimensione del carattere
  screen.setTextSize(4);
 
  // scorrimento da destra a sinistra
  for (int i = 130; i >= -360; i = i - 10) {
    screen.background(0, 0, 0);
    screen.stroke(0, 255, 0);
    screen.text("arduino-france.site", i, 40);
    delay(5);
  }
  delay(1000);
}

Spiegazione del codice per utilizzare display LCD TFT Arduino:



  1. la tavolozza RGB viene utilizzata per definire i colori dello schermo e del testo;
  2. screen.setTextSize(1); – definisce la dimensione del testo. La dimensione 1 corrisponde a un’altezza di 10 pixel, la dimensione 2 a un’altezza di 20 pixel e così via.

Il seguente esempio di programma per lo schermo grafico a colori TFT SPI 128×160 dimostra la possibilità di disegnare varie forme geometriche sullo schermo utilizzando i comandi della libreria TFT.h. Le funzioni di questa libreria consentono di visualizzare forme con diversi parametri: colore del contorno, riempimento e dimensione. Ricordiamo che uno schermo ST7735 LCD TFT da 1,8 ha 128 pixel in orizzontale e 160 pixel in verticale.

Programma Arduino per la creazione di animazioni su TFT

#include "TFT.h"
#include "SPI.h"

#define cs 10 // pin per il collegamento CS
#define dc 9 // pin per il collegamento A0
#define rst 8 // pin per il collegamento al reset

TFT screen = TFT(cs, dc, rst);

void setup() {
  screen.begin();

  // colore dello schermo ( r , g , b )
  screen.background(255, 255, 255);
  // colore del testo sullo schermo ( r , g , b )
  screen.stroke(0, 0, 0);
}

void loop() {
  // disegnare un cerchio con contorno nero
  screen.stroke(0, 0, 0);
  screen.noFill();
  screen.circle(80, 60, 45);
  delay(500);

  // disegnare due cerchi con un riempimento blu
  screen.fill(255, 0, 0);
  screen.circle(60, 50, 7);
  screen.circle(100, 50, 7);
  delay(500);

  // tracciare due linee nere
  screen.fill(0, 0, 0);
  screen.line(56, 35, 70, 38);
  screen.line(90, 38, 104, 35);
  delay(500);

  // disegnare un rettangolo nero
  screen.fill(0, 0, 0);
  screen.rect(78, 55, 4, 20);
  delay(500);

  // modifica di un punto con coordinate diverse
  screen.stroke(0, 0, 255);
  for (int i = 65; i <= 95; i++) {
    screen.point(i, 85);
    delay(30);
  }
  delay(500);

  // pulire lo schermo
  screen.background(255, 255, 255);
  delay(1000);
}

Spiegazione del codice per creazione di animazioni su display TFT:

  1. screen.background(); il comando può essere utilizzato in qualsiasi punto del programma.

Descrizione dei comandi e delle funzioni della libreria TFT.h

    • screen.begin() – inizializza lo schermo.
    • screen.background(red, green, blue) – cancella tutto ciò che è presente sullo schermo nel colore specificato. Questa funzione viene utilizzata per cancellare lo schermo.
    • screen.stroke(red, green, blue) – il comando viene richiamato prima di visualizzare il testo o disegnare un oggetto sullo schermo e imposta il colore delle linee e dei bordi intorno alle forme.
    • screen.noStroke() – dopo aver richiamato questo comando, gli oggetti non avranno il colore del tratto.
    • screen.fill(red, green, blue) – questa funzione imposta il colore di riempimento delle forme.
    • screen.noFill() – dopo aver richiamato questa funzione, le forme non avranno un colore di riempimento.
    • screen.setTextSize(size) – imposta la dimensione del testo. La dimensione 1 corrisponde a 10 pixel, la dimensione 2 a 20 pixel e così via.
    • screen.text(text, xPos, yPos) – visualizza il testo sullo schermo tft alle coordinate specificate.
    • screen.point(xPos, yPos) – funzione per visualizzare un punto alle coordinate specificate.
    • screen.line(xStart, yStart, xEnd, yEnd) – traccia una linea tra due punti.
    • screen.rect(xStart, yStart, larghezza, altezza) – visualizza un rettangolo sullo schermo. È necessario specificare 4 argomenti nella funzione, i primi due – l’angolo superiore sinistro della forma, gli ultimi due – la larghezza e l’altezza del rettangolo.
    • screen.circle(xPos, yPos, radius) – la funzione disegna un cerchio sullo schermo con il centro specificato nella funzione e il diametro specificato, che sarà sempre un numero dispari.
    • screen.image(image, xPos, yPos) – stampa l’immagine dalla scheda SD nel punto specificato dello schermo tft.

Conclusioni. Come si è visto, lo schermo TFT associato alla scheda Arduino Uno consente all’utente di cambiare il colore dello schermo e del testo visualizzato, di utilizzare diversi elementi grafici e di visualizzare immagini dalla scheda SD. Questa funzionalità sarà trattata nel prossimo articolo. Se avete ancora domande sul collegamento di 1,8″ TFT SPI 128×160 v1.1 ad Arduino, lasciatele nei commenti a questo articolo.

5/5 - (1 vote)


Lascia un commento

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

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.