ST7789VI kiibiga juhitavad TFT-ekraanid Need on suurepärane valik Arduino ja muude mikrokontrolleri projektide jaoks. Need väikesed, kuid kõrge eraldusvõimega ekraanid võimaldavad kuvada graafikat, teksti ja pilte selgelt ja täpselt. Selle integreerimine võib aga olla mõnevõrra keeruline neile, kes ei tunne selliseid protokolle nagu SPI või toite- ja juhtimisnõuded. Selles juhendis käsitleme kõiki Arduinoga ühendamise, teekide kasutamise ja nende ekraanide konfigureerimise aspekte.
Lisaks saate teada, kuidas neid ühendada erinevate plaatidega nagu NodeMCU ESP8266 ja klassikaline Arduino Nano. Sel viisil saate seda tüüpi kuvarite graafilisi ja tehnilisi võimalusi täielikult ära kasutada, olgu siis asjade Interneti (IoT) projektide või mis tahes muud tüüpi rakenduste jaoks, ilma SD-kaartidest või keerukatest vooluringidest sõltumata.
Mis on ST7789VI draiveriga TFT-ekraan?
Ekraanid TFT (Õhukese kilega transistor) iseloomustab see, et need pakuvad palju paremat pildikvaliteeti kui muud tüüpi ekraanid, nagu tavalised LCD-ekraanid või väiksemad OLED-id. Kontroller ST7789VI See on nende ekraanide aju, mis vastutab mikrokontrolleri (nt Arduino või ESP8266) poolt saadetud signaalide töötlemise ning nende signaalide kujutisteks, värvideks ja keerukaks graafikaks teisendamise eest.
Nende kuvarite üks suuri eeliseid on see, et nad kasutavad SPI-side siini, mis lihtsustab ühenduse loomist enamiku mikrokontrolleritega, kasutades ainult nelja juhttihvti (SDA, SCL, RES ja DC). See võimaldab juhtmestikku märkimisväärselt vähendada ja sobib suurepäraselt kompaktsed projektid.
TFT ekraani ühendamine ST7789VI kiibiga
Nende ekraanidega töötamiseks on oluline teada, kuidas need oma Arduino või ESP8266-ga õigesti ühendada. Sõltuvalt kasutatavast mikrokontrollerist võivad toite- ja ühendustihvtid veidi muutuda. Allpool kirjeldame kõige olulisemaid ühendusi.
Põhilised ühendused:
- VCC: Ühendab toitesignaaliga, mis on tavaliselt 3.3 V (mitte 5 V, et vältida ekraani kahjustamist).
- GND: See on maandusega ühendatud.
- SCL (mõnikord tähistatud CLK): See on jadakella viik ja läheb D13 taldrikul Arduino Uno või Nano.
- SDA (ka märgistatud MOSI): see on pin, mis saadab andmed ja loob ühenduse D11.
- RES: ühendub ekraani lähtestamise eest vastutava tihvtiga; sel juhul kl D8 Arduinost.
- DC: käsu/andmete tihvt, mis ühendab D9.
Seoses plaatidega ESP8266, märkate, et need töötavad 3.3 V juures, nii et te ei pea muretsema pingetasemete reguleerimise pärast, nagu Arduino puhul, kus ekraanikontrolleri kaitsmiseks on vaja kasutada takistitega pingejagajaid.
Teekide kasutamine Arduinos
Kui olete kõik ühendused õigesti loonud, peate installima Arduino IDE-sse mõned teegid. Nende ekraanidega töötamiseks on enimkasutatav valik teek Adafruit ST7789, mis ühildub nende kuvarite riistvaraga väga hästi ja saame seda kasutada koos raamatukoguga Adafruit GFX täiustatud graafika loomiseks.
Teekide installimiseks toimige järgmiselt.
- Mine Sketch -> Include Library -> Manage Libraries.
- kirjutama ST7789 otsinguribal ja valige suvand Adafruit.
- Tehke sama raamatukogu jaoks Adafruit GFX.
Kui need kaks teeki on juba installitud, olete valmis kirjutama oma esimese koodi ja kuvama pilte, teksti või mis tahes soovitud graafikat.
Põhikood "Tere, maailm!" TFT ekraanil
Hea lähtepunkt ekraani testimiseks on kuvada lihtne "Tere, maailm!" ekraanil. Allpool näitame teile põhikoodi, mida saate sel eesmärgil kasutada. Pidage meeles, et see kood on mõeldud Arduino Uno või Nano, kuid kui kasutate muid tahvleid, peate võib-olla tihvte kohandama.
#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
}
See väike kood lähtestab ekraani, pöörab selle horisontaalselt ja kuvab selle keskel teksti "Tere maailm". Meetodite abil saate katsetada erinevate tekstisuuruste või värvidega setTextColor, setTextSize, Teiste hulgas.
ST7789VI ekraani graafilised võimalused
Nende ekraanide graafilised võimalused on üsna täielikud. Adafruit GFX teegiga saate vaid mõne käsuga joonistada jooni, ristkülikuid, ringe ja palju muud. Allpool loetleme mõned enim kasutatud:
- joonistusjoon(x0, y0, x1, y1, värv): tõmmake joon punktist (x0, y0) punktini (x1, y1).
- fillRect(x, y, w, h, värv): joonistab ekraanile täidetud ristküliku.
- fillCircle(x, y, r, värv): Joonistage punktist (x, y) täisring raadiusega r.
Need põhimeetodid võimaldavad teil ekraani kiiresti ellu äratada, kuid raamatukogu võimaldab teil ka pilte importida Bitmap, mis on väga kasulik, kui soovite kuvada keerulisi graafikuid.
Piltidega töötamiseks peate need eelnevalt teisendama vormingusse, millest Arduino aru saab, nagu me hiljem selgitame.
Importige pilte ekraanile ilma SD-kaarti kasutamata
Üldjuhul on piltide laadimiseks TFT-ekraanile vaja SD-kaarti, mis salvestab pildi ja võimaldab sellelt laadida. Kuid me saame seda sammu vältida, teisendades pildid bitmap-koodiks ja salvestades need otse mikrokontrolleri mällu.
Protsess on lihtsam kui tundub. Pildi teisendamiseks ja seejärel päisefaili manustamiseks peate lihtsalt kasutama mõnda tarkvara. Siin näitame teile samme, mida järgida:
- Valige pilt, eelistatavalt 240x240 pikslit (ekraani suurus).
- Kasutage sellist programmi nagu LCD-pildi muundur et teisendada pilt väärtuste massiiviks.
- Salvestage loodud massiiv ja kopeerige andmed oma Arduino projekti päise (.h) faili.
Siis funktsiooni kasutamisega pushImage() Adafruit ST7789 teegist saate selle massiivi laadida ja kõnealuse pildi kuvada.
Pidage meeles, et see meetod sobib ideaalselt väikeste ja keskmise suurusega projektide jaoks, kuna mikrokontrolleri mälupiirangud võivad teile vastu töötada, kui proovite laadida korraga palju suuri pilte.
Lõpuks avab Arduino või ESP7789 projektides ST8266VI-ga TFT-ekraanidega töötamine graafiliste võimaluste maailma. Õige konfiguratsiooni ja õigete tarkvaratööriistade abil saate luua atraktiivseid ja funktsionaalseid liideseid ilma liigsete tagasilöökideta.