
TFT ekrani kontrolirani ST7789VI čipom Odličan su izbor za Arduino i druge projekte mikrokontrolera. Ovi mali ekrani, ali visoke rezolucije omogućavaju vam da jasno i precizno prikažete grafiku, tekst i slike. Međutim, njegova integracija može biti donekle izazovna za one koji nisu upoznati sa protokolima kao što su SPI ili zahtjevi za napajanje i kontrolu. U ovom vodiču ćemo zaroniti u sve aspekte povezivanja, korištenja biblioteka i konfiguriranja ovih ekrana s vašim Arduinom.
Osim toga, naučit ćete kako ih povezati s različitim pločama kao što su NodeMCU ESP8266 i klasični Arduino Nano. Na ovaj način moći ćete u potpunosti iskoristiti grafičke i tehničke mogućnosti ove vrste displeja, bilo za projekte Interneta stvari (IoT) ili za bilo koju drugu vrstu aplikacija, bez ovisnosti o SD karticama ili složenim krugovima.
Šta je TFT ekran sa drajverom ST7789VI?
Ekrani TFT (Thin Film Tranzistor) karakteriše ponuda kvaliteta slike mnogo superiornije u odnosu na druge tipove ekrana kao što su normalni LCD ili manji OLED. Kontrolor ST7789VI To je mozak ovih ekrana, odgovoran za obradu signala koje šalje mikrokontroler kao što je Arduino ili ESP8266, i pretvaranje tih signala u slike, boje i složenu grafiku.
Jedna od velikih prednosti ovih displeja je da koriste SPI komunikacionu magistralu, koja pojednostavljuje vezu sa većinom mikrokontrolera, koristeći samo četiri kontrolna pina (SDA, SCL, RES i DC). Ovo omogućava značajno smanjenje ožičenja i savršeno je za kompaktni projekti.
Povezivanje TFT ekrana sa ST7789VI čipom
Da biste radili s ovim ekranima, bitno je znati kako ih pravilno povezati na vaš Arduino ili ESP8266. Ovisno o mikrokontroleru koji koristite, pinovi za napajanje i povezivanje mogu se neznatno promijeniti. U nastavku ćemo detaljno opisati najvažnije veze.

Osnovne veze:
- VCC: Povezuje se na signal napajanja, koji je obično 3.3V (ne 5V da bi se izbjeglo oštećenje ekrana).
- GND: Spojen je na masu.
- SCL (ponekad označeno CLK): Ovo je pin serijskog sata i ide na D13 na tanjiru Arduino Uno ili Nano.
- prirodni resursi (takođe označen kao MOSI): To je pin koji šalje podatke i povezuje se na D11.
- RES: Povezuje se na pin odgovoran za resetiranje ekrana; u ovom slučaju, na D8 od Arduina.
- DC: Pin za naredbu/podaci, koji se povezuje na D9.
Što se tiče ploča ESP8266, primijetit ćete da ovi rade na 3.3V, tako da nećete morati da brinete o podešavanju nivoa napona, kao što je slučaj sa Arduinom, gdje je potrebno koristiti djelitelje napona s otpornicima za zaštitu kontrolera zaslona.
Korištenje biblioteka u Arduinu
Nakon što sve konekcije budu ispravno napravljene, morat ćete instalirati neke biblioteke u Arduino IDE. Za rad sa ovim ekranima, najčešće korištena opcija je biblioteka Adafruit ST7789, koji je veoma kompatibilan sa hardverom ovih displeja i možemo ga koristiti zajedno sa bibliotekom Adafruit GFX za kreiranje napredne grafike.
Da biste instalirali biblioteke, slijedite ove korake:
- Idi na Skica -> Uključi biblioteku -> Upravljanje bibliotekama.
- pisati ST7789 u traci za pretragu i odaberite opciju adafruit.
- Uradite isto za biblioteku Adafruit GFX.
Sa ove dvije biblioteke već instalirane, bit ćete spremni da napišete svoj prvi kod i prikažete slike, tekst ili bilo koju grafiku koju želite.
Osnovni kod za "Hello, World!" na TFT ekranu
Dobra početna tačka za testiranje vašeg ekrana je prikazivanje jednostavnog "Hello, World!" na ekranu. U nastavku vam pokazujemo osnovni kod koji možete koristiti u ovu svrhu. Zapamtite da je ovaj kod dizajniran za Arduino Uno ili Nano, ali ako koristite druge ploče, možda ćete morati prilagoditi igle.
#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>
#include <SPI.h>
#define TFT_CS 10
#define TFT_RST 8
#define TFT_DC 9
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
void setup() {
tft.init(240, 240);
tft.setRotation(1);
tft.fillScreen(ST77XX_BLACK);
tft.setTextColor(ST77XX_WHITE);
tft.setTextSize(2);
tft.setCursor(50, 120);
tft.println("Hello World!");
}
void loop() {
// Nada que hacer en el loop
}

Ovaj mali kod inicijalizuje ekran, okreće ga horizontalno i prikazuje tekst "Hello World" u njegovom centru. Možete eksperimentirati s različitim veličinama teksta ili bojama koristeći metode setTextColor, setTextSize, između ostalog.
Grafičke mogućnosti ST7789VI displeja
Grafičke mogućnosti ovih ekrana su prilično kompletne. Sa Adafruit GFX bibliotekom možete crtati linije, pravokutnike, krugove i još mnogo toga sa samo nekoliko naredbi. U nastavku navodimo neke od najčešće korištenih:
- crta (x0, y0, x1, y1, boja): Nacrtajte liniju od tačke (x0, y0) do (x1, y1).
- fillRect(x, y, w, h, boja): Crta popunjeni pravougaonik na ekranu.
- fillCircle(x, y, r, boja): Nacrtajte pun krug poluprečnika r iz tačke (x, y).
Ove osnovne metode će vam omogućiti da brzo oživite svoj ekran, ali biblioteka vam takođe omogućava da uvezete slike Bitmapa, što je vrlo korisno ako želite prikazati složene grafikone.
Za rad sa slikama, morat ćete ih prethodno pretvoriti u format koji Arduino može razumjeti, kao što ćemo kasnije objasniti.
Uvezite slike na ekran bez upotrebe SD kartice
Općenito, učitavanje slika na TFT ekran zahtijeva priloženu SD karticu, koja pohranjuje sliku i omogućava učitavanje sa nje. Međutim, možemo izbjeći ovaj korak pretvaranjem slika u bitmap kod i pohranjivanjem ih direktno u memoriju mikrokontrolera.
Proces je jednostavniji nego što se čini. Samo trebate koristiti neki softver da pretvorite svoju sliku, a zatim je ugradite u datoteku zaglavlja. Ovdje vam pokazujemo korake koje trebate slijediti:
- Odaberite sliku, po mogućnosti 240x240 piksela (veličina ekrana).
- Koristite program poput LCD konverter slike da pretvorite sliku u niz vrijednosti.
- Sačuvajte generisani niz i kopirajte podatke u datoteku zaglavlja (.h) vašeg Arduino projekta.
Zatim uz korištenje funkcije pushImage() iz Adafruit ST7789 biblioteke, možete učitati taj niz i prikazati dotičnu sliku.
Zapamtite da je ova metoda idealna za male i srednje projekte, jer ograničenja memorije mikrokontrolera mogu raditi protiv vas ako pokušate učitati više velikih slika odjednom.
Konačno, rad sa TFT ekranima sa ST7789VI u vašim Arduino ili ESP8266 projektima otvara svijet grafičkih mogućnosti. Uz pravilnu konfiguraciju i prave softverske alate, možete implementirati atraktivna i funkcionalna sučelja bez previše zastoja.