TFT ekranai valdomi ST7789VI lustu Jie yra puikus pasirinkimas Arduino ir kitiems mikrovaldiklių projektams. Šie maži, bet didelės raiškos ekranai leidžia aiškiai ir tiksliai rodyti grafiką, tekstą ir vaizdus. Tačiau jo integravimas gali būti sudėtingas tiems, kurie nėra susipažinę su protokolais, tokiais kaip SPI arba galios ir valdymo reikalavimai. Šiame vadove mes pasinersime į visus prisijungimo, bibliotekų naudojimo ir šių ekranų konfigūravimo su „Arduino“ aspektus.
Be to, sužinosite, kaip jas sujungti su skirtingomis plokštėmis, tokiomis kaip NodeMCU ESP8266 ir klasikinė Arduino Nano. Tokiu būdu galėsite išnaudoti visas šio tipo ekranų grafines ir technines galimybes, nesvarbu, ar tai būtų daiktų interneto (IoT) projektai, ar bet kokios kitos programos, nepriklausydami nuo SD kortelių ar sudėtingų grandinių.
Kas yra TFT ekranas su ST7789VI tvarkykle?
Ekranai TFT (Plonasluoksnis tranzistorius) pasižymi tuo, kad vaizdo kokybė yra daug geresnė už kitų tipų ekranus, tokius kaip įprasti LCD ar mažesni OLED. Valdiklis ST7789VI Tai yra šių ekranų smegenys, atsakingos už mikrovaldiklio, pvz., Arduino ar ESP8266, siunčiamų signalų apdorojimą ir šių signalų pavertimą vaizdais, spalvomis ir sudėtinga grafika.
Vienas iš didžiausių šių ekranų privalumų yra tai, kad jie naudoja SPI ryšio magistralę, kuri supaprastina ryšį su dauguma mikrovaldiklių, naudojant tik keturis valdymo kaiščius (SDA, SCL, RES ir DC). Tai leidžia žymiai sumažinti laidų skaičių ir puikiai tinka kompaktiški projektai.
TFT ekrano sujungimas su ST7789VI mikroschema
Norint dirbti su šiais ekranais, būtina žinoti, kaip teisingai prijungti juos prie Arduino arba ESP8266. Priklausomai nuo naudojamo mikrovaldiklio, maitinimo ir prijungimo kaiščiai gali šiek tiek pasikeisti. Žemiau mes išsamiai aprašome svarbiausius ryšius.
Pagrindinės jungtys:
- VCC: jungiasi prie maitinimo signalo, kuris paprastai yra 3.3 V (ne 5 V, kad būtų išvengta ekrano pažeidimo).
- GND: Jis prijungtas prie žemės.
- LAT (kartais žymimas CLK): Tai yra serijinio laikrodžio kaištis ir eina į D13 lėkštėje Arduino Uno arba Nano.
- gamtos turtai (taip pat pažymėtas MOSI): Tai yra kaištis, kuris siunčia duomenis ir prisijungia prie D11.
- AEI: jungiasi prie kaiščio, atsakingo už ekrano nustatymą iš naujo; šiuo atveju, val D8 iš Arduino.
- DC: komandos / duomenų kaištis, jungiantis prie D9.
Kalbant apie plokštes ESP8266, pastebėsite, kad šie veikia esant 3.3 V įtampai, todėl jums nereikės rūpintis įtampos lygių reguliavimu, kaip yra Arduino atveju, kai ekrano valdikliui apsaugoti būtina naudoti įtampos daliklius su rezistoriais.
„Arduino“ bibliotekų naudojimas
Teisingai užmezgę visas jungtis, turėsite įdiegti kai kurias bibliotekas Arduino IDE. Norint dirbti su šiais ekranais, dažniausiai naudojama parinktis yra biblioteka Adafruit ST7789, kuris yra labai suderinamas su šių ekranų aparatine įranga ir mes galime jį naudoti kartu su biblioteka Adafruit GFX sukurti pažangią grafiką.
Norėdami įdiegti bibliotekas, atlikite šiuos veiksmus:
- Eik į Eskizas -> Įtraukti biblioteką -> Tvarkyti bibliotekas.
- Parašyk ST7789 paieškos juostoje ir pasirinkite parinktį Adafruit.
- Padarykite tą patį su biblioteka Adafruit GFX.
Jau įdiegę šias dvi bibliotekas būsite pasirengę parašyti pirmąjį kodą ir rodyti vaizdus, tekstą ar bet kokią norimą grafiką.
Pagrindinis kodas "Sveikas, pasauli!" TFT ekrane
Geras atspirties taškas bandant ekraną yra parodyti paprastą „Labas, pasauli!“ ekrane. Žemiau parodysime pagrindinį kodą, kurį galite naudoti šiam tikslui. Atminkite, kad šis kodas yra skirtas Arduino Uno arba Nano, bet jei naudojate kitas plokštes, gali tekti pritaikyti kaiščius.
#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
}
Šis mažas kodas inicijuoja ekraną, paverčia jį horizontaliai ir jo centre parodo tekstą „Hello World“. Naudodami metodus galite eksperimentuoti su skirtingais teksto dydžiais ar spalvomis setTextColor, setTextSize, Among others.
ST7789VI ekrano grafinės galimybės
Šių ekranų grafinės galimybės yra gana išbaigtos. Naudodami Adafruit GFX biblioteką galite piešti linijas, stačiakampius, apskritimus ir daug daugiau, naudodami tik keletą komandų. Žemiau pateikiame keletą dažniausiai naudojamų:
- braižytiLine(x0, y0, x1, y1, spalva): nubrėžkite liniją nuo taško (x0, y0) iki (x1, y1).
- užpildytiRect(x, y, w, h, spalva): ekrane nupiešia užpildytą stačiakampį.
- užpildytiCircle(x, y, r, spalva): Nubrėžkite ištisinį apskritimą, kurio spindulys r nuo taško (x, y).
Šie pagrindiniai metodai leis greitai atgaivinti ekraną, tačiau biblioteka taip pat leidžia importuoti vaizdus Rastras, o tai labai naudinga, jei norite rodyti sudėtingus grafikus.
Norėdami dirbti su vaizdais, turėsite juos anksčiau konvertuoti į formatą, kurį gali suprasti Arduino, kaip paaiškinsime vėliau.
Importuokite vaizdus į ekraną nenaudodami SD kortelės
Paprastai norint įkelti vaizdus į TFT ekraną, reikia prijungti SD kortelę, kuri išsaugo vaizdą ir leidžia iš jo įkelti. Tačiau šio žingsnio galime išvengti konvertuodami vaizdus į bitmap kodą ir išsaugodami juos tiesiai mikrovaldiklio atmintyje.
Procesas yra paprastesnis nei atrodo. Jums tereikia naudoti tam tikrą programinę įrangą, kad konvertuotumėte vaizdą ir įterptumėte jį į antraštės failą. Čia parodysime veiksmus, kuriuos reikia atlikti:
- Pasirinkite vaizdą, pageidautina 240 x 240 pikselių (ekrano dydis).
- Naudokite tokią programą kaip LCD vaizdo keitiklis konvertuoti vaizdą į reikšmių masyvą.
- Išsaugokite sugeneruotą masyvą ir nukopijuokite duomenis į savo Arduino projekto antraštės (.h) failą.
Tada naudojant funkciją pushImage () iš Adafruit ST7789 bibliotekos galite įkelti tą masyvą ir parodyti atitinkamą vaizdą.
Atminkite, kad šis metodas idealiai tinka mažiems ir vidutinio dydžio projektams, nes mikrovaldiklio atminties apribojimai gali jums pakenkti, jei vienu metu bandysite įkelti daug didelių vaizdų.
Galiausiai, darbas su TFT ekranais su ST7789VI Arduino ar ESP8266 projektuose atveria grafinių galimybių pasaulį. Naudodami teisingą konfigūraciją ir tinkamus programinės įrangos įrankius galite įdiegti patrauklias ir funkcionalias sąsajas be didelių kliūčių.