Ekranet TFT të kontrolluara nga çipi ST7789VI Ato janë një zgjedhje e shkëlqyer për Arduino dhe projekte të tjera mikrokontrollues. Këto ekrane të vogla por me rezolucion të lartë ju lejojnë të shfaqni qartë dhe saktë grafikat, tekstin dhe imazhet. Sidoqoftë, integrimi i tij mund të jetë disi sfidues për ata që nuk janë të njohur me protokollet si SPI ose kërkesat e fuqisë dhe kontrollit. Në këtë udhëzues, ne do të zhytemi në të gjitha aspektet e lidhjes, përdorimit të bibliotekave dhe konfigurimit të këtyre ekraneve me Arduino-n tuaj.
Përveç kësaj, do të mësoni se si t'i lidhni ato me pllaka të ndryshme si NodeMCU ESP8266 dhe Arduino Nano klasik. Në këtë mënyrë, do të mund të përfitoni plotësisht nga aftësitë grafike dhe teknike të këtij lloji të ekraneve, qoftë për projektet e Internetit të Gjërave (IoT) apo për çdo lloj aplikacioni tjetër, pa u varur nga kartat SD apo qarqet komplekse.
Çfarë është një ekran TFT me drejtues ST7789VI?
Ekranet TFT (Transistor me film të hollë) karakterizohen nga ofrimi i një cilësie imazhi shumë më të lartë se llojet e tjera të ekraneve si LCD-të normalë ose OLED më të vegjël. Kontrolluesi ST7789VI Është truri i këtyre ekraneve, përgjegjës për përpunimin e sinjaleve që i dërgohen nga një mikrokontrollues si Arduino ose ESP8266, dhe konvertimin e këtyre sinjaleve në imazhe, ngjyra dhe grafikë komplekse.
Një nga avantazhet e mëdha të këtyre ekraneve është se ata përdorin autobusin e komunikimit SPI, i cili thjeshton lidhjen me shumicën e mikrokontrolluesve, duke përdorur vetëm katër kunja kontrolli (SDA, SCL, RES dhe DC). Kjo lejon që instalimet elektrike të reduktohen ndjeshëm dhe është e përkryer për projekte kompakte.
Lidhja e ekranit TFT me çipin ST7789VI
Për të punuar me këto ekrane, është thelbësore të dini se si t'i lidhni ato saktë me Arduino ose ESP8266 tuaj. Në varësi të mikrokontrolluesit që përdorni, kunjat e fuqisë dhe lidhjes mund të ndryshojnë pak. Më poshtë japim detajet e lidhjeve më të rëndësishme.
Lidhjet themelore:
- KQV-së: Lidhet me sinjalin e energjisë, i cili zakonisht është 3.3V (jo 5V për të shmangur dëmtimin e ekranit).
- GND: Është i lidhur me tokën.
- SCL (ndonjëherë shënohet CLK): Kjo është kunja e orës serike dhe shkon në D13 në një pjatë Arduino Uno ose Nano.
- burime natyrore (etiketuar gjithashtu MOSI): Është pin që dërgon të dhënat dhe lidhet me D11.
- RES: Lidhet me pinin përgjegjës për rivendosjen e ekranit; në këtë rast, në D8 e Arduino.
- DC: Pini i komandës/të dhënave, i cili lidhet me D9.
Në lidhje me pllakat ESP8266, do të vini re se këto funksionojnë në 3.3V, kështu që nuk do të keni nevojë të shqetësoheni për rregullimin e niveleve të tensionit, siç është rasti me Arduino, ku është e nevojshme të përdorni ndarës të tensionit me rezistorë për të mbrojtur kontrolluesin e ekranit.
Përdorimi i bibliotekave në Arduino
Pasi të keni bërë të gjitha lidhjet në mënyrë korrekte, do t'ju duhet të instaloni disa biblioteka në Arduino IDE. Për të punuar me këto ekrane, opsioni më i përdorur është biblioteka Adafruit ST7789, e cila është shumë e përputhshme me harduerin e këtyre ekraneve dhe ne mund ta përdorim atë së bashku me bibliotekën Adafruit GFX për të krijuar grafikë të avancuar.
Për të instaluar bibliotekat ndiqni këto hapa:
- Shko tek Skica -> Përfshi bibliotekën -> Menaxho bibliotekat.
- shkruaj ST7789 në shiritin e kërkimit dhe zgjidhni opsionin Adafruit.
- Bëni të njëjtën gjë për bibliotekën Adafruit GFX.
Me këto dy biblioteka të instaluara tashmë, do të jeni gati të shkruani kodin tuaj të parë dhe të shfaqni imazhe, tekst ose çdo grafik që dëshironi.
Kodi bazë për "Përshëndetje, Botë!" në ekranin TFT
Një pikënisje e mirë për të testuar ekranin tuaj është të shfaqni një "Hello, World!" në ekran. Më poshtë ju tregojmë një kod bazë që mund të përdorni për këtë qëllim. Mos harroni se ky kod është krijuar për të Arduino Uno ose Nano, por nëse përdorni pllaka të tjera, mund t'ju duhet të përshtatni kunjat.
#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
}
Ky kod i vogël inicializon ekranin, e kthen atë horizontalisht dhe shfaq tekstin "Hello World" në qendër të tij. Ju mund të eksperimentoni me madhësi ose ngjyra të ndryshme teksti duke përdorur metodat setTextColor, setTextSize, Ndër të tjera.
Aftësitë grafike të ekranit ST7789VI
Aftësitë grafike të këtyre ekraneve janë mjaft të plota. Me bibliotekën Adafruit GFX, ju mund të vizatoni linja, drejtkëndësha, rrathë dhe shumë më tepër me vetëm disa komanda. Më poshtë, ne rendisim disa nga më të përdorurat:
- Linja e tërheqjes (x0, y0, x1, y1, ngjyra): Vizatoni një vijë nga pika (x0, y0) në (x1, y1).
- fillRect (x, y, w, h, ngjyra): Vizaton një drejtkëndësh të mbushur në ekran.
- mbushje rrethi (x, y, r, ngjyra): Vizatoni një rreth të fortë me rreze r nga pika (x, y).
Këto metoda bazë do t'ju lejojnë të gjallëroni shpejt ekranin tuaj, por biblioteka ju lejon gjithashtu të importoni imazhe Bitmap, e cila është shumë e dobishme nëse dëshironi të shfaqni grafikë komplekse.
Për të punuar me imazhe, do t'ju duhet që më parë t'i konvertoni ato në një format që Arduino mund ta kuptojë, siç e shpjegojmë më vonë.
Importoni imazhe në ekran pa përdorur një kartë SD
Në përgjithësi, ngarkimi i imazheve në një ekran TFT kërkon një kartë SD të bashkangjitur, e cila ruan imazhin dhe lejon ngarkimin prej tij. Megjithatë, ne mund ta shmangim këtë hap duke i konvertuar imazhet në kod bitmap dhe duke i ruajtur ato drejtpërdrejt në memorien e mikrokontrolluesit.
Procesi është më i thjeshtë nga sa duket. Thjesht duhet të përdorni disa softuer për të kthyer imazhin tuaj dhe më pas ta futni atë në një skedar header. Këtu ju tregojmë hapat që duhet të ndiqni:
- Zgjidhni një imazh, mundësisht 240x240 piksele (madhësia e ekranit).
- Përdorni një program si Konvertuesi i imazhit LCD për të kthyer imazhin në një grup vlerash.
- Ruani grupin e krijuar dhe kopjoni të dhënat në skedarin e kokës (.h) të projektit tuaj Arduino.
Më pas me përdorimin e funksionit pushImage () nga biblioteka Adafruit ST7789, mund ta ngarkoni atë grup dhe të shfaqni imazhin në fjalë.
Mos harroni se kjo metodë është ideale për projekte të vogla dhe të mesme, pasi kufizimet e kujtesës së mikrokontrolluesit mund të punojnë kundër jush nëse përpiqeni të ngarkoni shumë imazhe të mëdha në të njëjtën kohë.
Së fundi, puna me ekranet TFT me ST7789VI në projektet tuaja Arduino ose ESP8266 hap një botë me mundësi grafike. Me konfigurimin e duhur dhe mjetet e duhura softuerike, mund të implementoni ndërfaqe tërheqëse dhe funksionale pa shumë pengesa.