Display IPS 1.14″ 135×240/ST7789 – Lolin C3-Pico

Questo display da 1,14″ 135×240 tipo ST7789 è gestito, in questo caso, tramite la scheda WEMOS Lolin C3-Pico.
Il display è del tipo In-Plane Switching o IPS ed è pilotabile tramite Interfaccia SPI, è a colori e presenta un’alta risoluzione, 260 ppi (Pixel Per Inch)
É molto simile a un altro display che utilizza lo stesso driver ST7789, già trattato su questo sito, le sue dimensioni sono più grandi, 1.3″ per una risoluzione di 240×240.
Vedere articolo Display IPS 1.3″ 240×240/ST7789 – Arduino

display 135x240 ST7789 c3 pico

Caratteristiche principali del display

Formato di visualizzazione: 135x240 Pixel
Interfaccia: SPI seriale a 4 fili
Driver: ST7789
Tipo RGB: RGB
Dimensione diagonale: 1,14"
Dimensione contorno: 28,00 (L) x 31,40 (A) mm
Area visiva: 16,06x26,11 mm
Area attiva: 14,86 (L) x 24,91 (A) mm
Passo del punto (pixel): 0,110x0,103 mm
Tipo di display: TFT-LCD a colori
Rapporto di contrasto (tipico): 500:01:00
Colori: 4K/65K/262K
Direzione di visualizzazione: IPS
Intervallo dell'angolo di visione: 80 ° in tutte le diserzioni
Luminosità (tipica): 400cd/m2
Alimentazione: 3,3V
Temperatura operativa: -20÷70 ℃
Temperatura di conservazione: -30÷80 ℃

display 135x240 ST7789 c3 pico - misure

display 135x240 ST7789 c3 pico - fronte

display 135x240 ST7789 c3 pico - retro

Dove trovare il modulo

Il modulo display 135×240 con ST7789 può essere acquistato in rete per esempio su AliExpress.

display 135x240 ST7789 c3 pico - blister

display 135x240 ST7789 c3 pico - montato

Connettore del modulo

Questo display incorpora un’ interfaccia SPI a 4 pin che fornisce aggiornamenti rapidi del display.
La connessione al display avviene tramite un header a 8 pin.

display 135x240 ST7789 c3 pico - connettore

PIN Descrizione
1 GND Collegare al pin GND con comune con l'MCU.
2 VCC Collegamento a 3,3 V. Da MCU o da fonte esterna
3 SCL Connettere a SPI SCL (Clock)
4 SDA Connettere a SPI MOSI (Dati)
5 RES Reset per il controller LCD ST7789. Normalmente HIGH, Portare LOW per ripristinare
6 DC Dati/Comando. Determina il tipo di dati da inviare al display. HIGH= Comando, LOW = Dati
7 CS CS (Chip Select ) portare a livello LOW per abilitare
8 BLK Controllo retroilluminazione. Se scollegato è sempre attiva

Materiale utilizzato per il test

Sotto sono riportati i componenti minimi per il test del display 135×240 ST7789 tramite la scheda WEMOS Lolin C3-Pico

WEMOS Lolin C3-Pico

Display IPS 135×240

Breadboard

Cavi di collegamento

Collegamento del display

Il modulo display LCD da 1,3″ 135×240 tipo ST7789 (datasheet) funziona a 3,3 V. Il modulo non è dotato di un proprio regolatore da 3,3 V e quindi deve essere alimentato direttamente con 3,3 V.
Sul retro del modulo si trovano: un transistor con la sigla J3Y (S8050 – datasheet), alcuni resistori, e un condensatore che fornisce il controllo della retroilluminazione.
Il pin BLK può essere lasciato scollegato, in questo caso si lascerà sempre accesa la retroilluminazione.
Sotto è riportato lo schema dei collegamenti  del display 135×240 ST7789 con la WEMOS Lolin C3-Pico

display 135x240 ST7789 c3 pico - schema collegamento

display 135x240 ST7789 c3 pico - foto

Libreria per driver ST7789

Per gestire il display si dovranno utilizzare due librerie.

  • Adafruit ST7789 TFT library
  • Adafruit GFX Library

La prima libreria Adafruit-ST7789 potrà essere installata tramite il gestore della libreria Arduino IDE ricercando “ST7789”.  La libreria è compatibile anche con display che utilizzano driver ST7735.

display 135x240 ST7789 c3 pico - libreria

A fine installazione vi sarà data conferma.
La seconda libreria è quella grafica Adafruit che può essere installata tramite il gestore della libreria Arduino IDE ricercando “gfx“.
Per informazioni su come fare, vedere l’articolo Arduino – Tutorial, come installare una libreria

Gestione del display

Nei demo della libreria ci sono vari esempi che contengono le istruzioni per i due tipi di driver e per il collegamento a varie schede di controllo. Per il collegamento con WEMOS Lolin C3-Pico sono sufficienti le seguente impostazioni.
I file di libreria sono inclusi nel codice principale come mostrato di seguito

#include <Adafruit_GFX.h>     // Core graphics library
#include <Adafruit_ST7789.h>  // Hardware-specific library for ST7789
#include <SPI.h>

Le connessioni dei pin del modulo TFT ST7789 (CS, RST e DC) sono definite come mostrato qui sotto

#define TFT_MOSI 4  // SDA Pin on ESP32
#define TFT_SCLK 2  // SCL Pin on ESP32
#define TFT_CS 5    // Chip select control pin
#define TFT_DC 3    // Data Command control pin
#define TFT_RST -1  // Reset pin (connect to RST pin)

La libreria Adafruit ST7789 viene inizializzata con questa riga:

Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);

Infine, il display TFT viene inizializzato utilizzando il seguente comando. Il comando setRotation permette di orientare le scritte sul display

  tft.init(135, 240);  // Init ST7789 240x135
  tft.setRotation(3);

Sketch utilizzato

Sotto è riportato lo sketch utilizzato per i test, in questo caso delle sole funzioni di testo.

/**************************************************************************
Test display OLED IPS 135_240 RGB Driver ST7789
 **************************************************************************/

#include <Adafruit_GFX.h>     // Core graphics library
#include <Adafruit_ST7789.h>  // Hardware-specific library for ST7789
#include <SPI.h>

#define TFT_MOSI 4  // SDA Pin on ESP32
#define TFT_SCLK 2  // SCL Pin on ESP32
#define TFT_CS 5    // Chip select control pin
#define TFT_DC 3    // Data Command control pin
#define TFT_RST -1  // Reset pin (connect to RST pin)

Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);

void setup(void) {
  tft.init(135, 240);  // Init ST7789 240x135
  tft.setRotation(3);
}

void loop() {
  tft.fillScreen(ST77XX_BLACK);
  tft.setTextSize(3);
  tft.setCursor(5, 0);
  tft.setTextColor(ST77XX_RED);
  tft.println("TEST DI PROVA");
  delay(1000);
  tft.setCursor(20, 40);
  tft.setTextColor(ST77XX_YELLOW);
  tft.println("Displ.ST7789");
  tft.setTextColor(ST77XX_BLUE);
  tft.setCursor(30, 70);
  tft.println("240x135 RGB");
  delay(500);
  tft.setTextSize(2);
  tft.setCursor(30, 120);
  tft.setTextColor(ST77XX_GREEN);
  tft.println("WWW.ADRIROBOT.IT");
  delay(1000);
}

Altro modello di display basato su driver ST7789

E’ disponibile un display simile a quello mostrato in questo articolo con una risoluzione di 240×240 pixel.
Vedere gli articoli:

Altri moduli display

Panoramica di altre tipologie di display utilizzati nei vari progetti presenti sul sito. Dai più semplici LCD 16×2, passando per i TFT con  touch screen e quelli tipo OLED.

Display_LCD_OLED_TFT