Arduino – Ecran TFT 1.8″ bazat pe ST7735

Modulul arată astfel :


Ecranul are o mărime de 1,8” ( inch ), o rezoluție de 128×160 pixeli și 18-biți culoare. Pentru comunicare, ecranul folosește protocolul SPI ceea ce înseamnă că putem folosi 4 pini.
Detalii tehnice :
- rezoluție : 128×160
- mărime : 1.8”
- comunicare: SPI
- include un slot pentru card microSD ( cititor de card )
- tensiune de lucru : 3V3 – 5V
- putere consumată: 50mA
După cum se observă din imaginile de mai sus modulul vine cu tot ce îi trebuie ( pini de ieșire, pini pentru citire/scriere datelor din/în cardul de memorie ) de aceea trebuie doar conectat la microcontroller ( placa Arduino ).
Configurația pinilor pentru ecran:
- LED – lumina de background
- SCK – semnalul de ceas
- SDA – M.O.S.I ( Master Out Slave In )
- A0 – sau DC ( Data Selection Signal )
- Reset – reset
- CS – Chip Select sau Chip Address
- GND – masă
- Vcc – tensiune alimentare 3V3 – 5V
Configurația pinilor pentru cititorul de card:
- SD_CS – Chip Select sau Chip Address
- SD_M.O.S.I – Master Out Slave In
- SD_M.I.S.O – Master In Slave Out
- SD_SCK – semnal de ceas
Tensiunea de Alimentarea a ecranului este cuprinsă între 3V3 și 5V dar este recomandat să folosiți 3V3 deși modulul conține un regulator de tensiune 3V3.
Cum conectăm acest ecran la placa Arduino :
| Pin Arduino | Pin modul Ecran TFT |
| 3V3 | LED |
| 13 | SCK |
| 10 | CS |
| 9 | A0 sau DC |
| 8 | Reset |
| 11 | SDA |
| GND | GND |
| 5V | Vcc |

Înainte de a programa placa Arduino trebuie spus că vom folosi câteva librării, și anume : Adafruit_ST7735.h, Adafruit_GFX.h, SPI.h . Dacă nu aveți aceste librării instalate le puteți instala astfel :
- Librăria ADAFRUIT ST7735 și ST7789
Se accesează meniul Tools –– Manage Libraries

Apoi căutăm librăria ADAFRIUT ST7735 and ST7789

Selectăm versiunea și dăm click pe butonul ”Install”
2. Librăria ADAFRUIT GFX
Pașii sunt aceiași ,prezentați mai sus, doar la căutarea librăriei scriem ADAFRUIT GFX Library
Cod Program:
#include <Adafruit_ST7735.h>
#include <Adafruit_ST7789.h>
#include <Adafruit_GFX.h>
#include <SPI.h>
//declarăm pinii folosiți
#define TFT_CS 10
#define TFT_RST 8
#define TFT_DC 9
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
#define TFT_SCLK 13
#define TFT_MOSI 11
//Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
void setup(void) {
Serial.begin(9600);
// Inițializăm tipul de ecran folosit: 1.8" TFT
tft.initR(INITR_BLACKTAB); // inițializare ST7735S chip, black tab
tft.fillScreen(ST77XX_BLACK); // setăm fondul de culoare neagră a ecranului
}
void loop() {
tft.setTextWrap(false);// true-în cazul în care vrem ca mesajul afișat sa nu iasă din //ecran
//tft.fillScreen(ST77XX_BLACK);
tft.setCursor(10, 10); //poziția cursorului
tft.setTextColor(ST77XX_RED); //culoarea scrisului
tft.setTextSize(1); //mărimea fontului, mărimea mesajului, cât de mare este scrisul
tft.println("Hello World!"); //mesajul afișat
//tft.setTextSize(5);// îl folosiți doar daca vreți sa vedeți diferența când setTextWarp //este false sau true
//tft.println("Hello World!");
delay(1000);
}
Încercați să folosiți și exemplele native din Arduino IDE legate de librăriile Adafruit ST7735 și Adafruit GFX.
Simulări în proteus:

