Tänapäeval on ILI9341 kontrolleriga TFT-ekraanid oma mitmekülgsuse ja graafiliste võimaluste tõttu üks populaarsemaid võimalusi Arduino prototüüpimisprojektide jaoks. Kui olete otsinud, kuidas neid ekraane oma projektides ära kasutada, olete jõudnud õigesse kohta. Siin selgitame kõike, mida pead teadma ILI9341 TFT ekraani ühendamiseks, konfigureerimiseks ja kasutamiseks ning näeme ka väga kasulikke koodinäiteid.
Selle kuvariga töötamine võib vajalike tihvtide ja ühenduste arvu tõttu alguses tunduda keeruline, kuid kui protsessist aru saate, muutub see palju lihtsamaks. Selles artiklis näeme samm-sammult, kuidas ühendust luua, testida ja programmeerida.
Materjalid, mis on vajalikud ILI9341 ekraani kasutamiseks koos Arduinoga
- Arduino UNO või 3.3 V Arduino Pro Mini: Kui kasutate a Arduino UNO, vajate ekraani kahjustamise vältimiseks loogikataseme adaptereid, kuna see töötab 3.3 V pingega. Kui kasutate 3.3 V Arduino Pro Minit, saate otse ühendada.
- TFT ekraan ILI9341: 2.4- või 2.8-tolline ekraan eraldusvõimega 240x320 pikslit.
- Loogikataseme muundur (kui kasutate Arduino UNO): tasemete kohandamiseks vahemikus 5 V kuni 3.3 V.
- Leivaplaat y kaablid ühenduse loomisest.
1. samm: ühendage ILI9341 ekraan Arduinoga
ILI9341 TFT-ekraan kasutab Arduinoga suhtlemiseks SPI-liidest, seega on oluline luua õiged ühendused Arduino SPI-tihvtide ja ekraani vahel. Järgmine tabel selgitab üksikasjalikult, kuidas põhiühendusi luua.
| ekraani pin | Arduino pin |
|---|---|
| SDO (MISO) | Pin 12 |
| SCK | Pin 13 |
| SDI (MOSI) | Pin 11 |
| D / C | Pin 9 |
| CS | Pin 10 |
| GND | Kinnitage GND |
| VCC | Pin 3.3V |
| LED | Pin 3.3V |
Pidage meeles, et kui kasutate a Arduino UNO, on vaja kasutada loogikataseme adapterid et teisendada Arduino kontaktide 5 V pinge 3.3 V-ks. Kui kasutate 3.3 V Arduino Pro Minit, pole see ettevaatusabinõu vajalik.
2. samm: installige vajalikud teegid
ILI9341 kuvariga suhtlemiseks peame installima Arduino IDE-sse mõned teegid. Peame veenduma, et meil on järgmised raamatukogud:
- Adafruit_ILI9341: see on peamine raamatukogu, mis juhib Arduinoga ILI9341 kuvasid.
- Adafruit_GFX: selle teegi abil on lihtne luua põhigraafikat, nagu jooned, ringid, ristkülikud jne.
Nende teekide installimiseks avage Arduino IDE ja minge aadressile Programm > Kaasa teek > Halda teeke ja otsida ILI9341 vastava raamatukogu installimiseks. Otsige ka raamatupoodi Adafruit GFX ja veenduge, et installite õige.
3. samm: testige TFT-ekraani põhinäite abil

Kui teegid on installitud, on aeg ekraani testida, et veenduda, et kõik on õigesti ühendatud ja töötab. Arduino IDE sisaldab väga täielikku näidet, mis on meile suureks abiks. Laadime alla graafiline test:
- Avage Arduino IDE.
- Mine Fail > Näited > Adafruit_ILI9341 > graafikatest.
- Kompileerige ja laadige näide oma Arduinosse.
Kui kõik läks hästi, peaksite nägema graafikute seeriat, mis näitavad ekraanil erinevat tüüpi jooni, kujundeid ja värve.
4. samm: looge praktiline projekt: kuvage analoogväärtused ILI9341 ekraanil
Üks esimesi projekte, mida selle ekraaniga teha saame, on analoogsisendi väärtuse kuvamine, näiteks potentsiomeetri pinge. Selleks kasutame juba ühendatud ekraanitihvte, aga ka Arduino analoogsisendiga A0 ühendatud potentsiomeetrit.
Järgmine kood näitab, kuidas saame lugeda potentsiomeetri analoogväärtust ja kuvada seda ekraanil:
#include
#include
#include
#define TFT_DC 9
#define TFT_CS 10
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
void setup() {
tft.begin();
tft.setRotation(1);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
}
void loop() {
int val = analogRead(A0);
float voltage = val * (5.0 / 1023.0);
tft.setCursor(60, 30);
tft.print("Voltaje: ");
tft.print(voltage);
delay(500);
}
See programm loeb pidevalt pinget ja kuvab selle tekstivormingus ekraanil. Kui keerate potentsiomeetri nuppu, peaksite peaaegu kohe nägema muutust ekraanil.
ILI9341 puuteekraanile nupu lisamine
Lisaks teabe kuvamisele on ILI9341 ekraanil ka puutefunktsioon, kui see on varustatud XPT2046 kontrolleriga. Loome lihtsa näite, mis näitab, kuidas ekraanil puudutusi tuvastada.
Esiteks peame tegema ekraani puutetundliku kontrolleri ühendused. Puutekontrolleri peamised tihvtid on:
- TOUCH_CS: pin 10.
- TOUCH_IRQ: pin 2.
Pärast nende ühenduste loomist hakkame kasutama raamatukogu XPT2046_Puuteekraan puudutuste tuvastamiseks. Allpool jätan teile koodi, mis näitab ekraanil nuppu, mis muudab värvi iga kord, kui seda vajutate.
#include
#include
#include
#include
#define TFT_DC 9
#define TFT_CS 10
#define TOUCH_CS 10
#define TOUCH_IRQ 2
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
XPT2046_Touchscreen ts(TOUCH_CS, TOUCH_IRQ);
void setup() {
tft.begin();
ts.begin();
tft.setRotation(1);
tft.fillScreen(ILI9341_BLACK);
tft.fillRect(50, 160, 100, 50, ILI9341_RED);
tft.setCursor(75, 175);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
tft.println("BOTON");
}
void loop() {
if (ts.touched()) {
TS_Point p = ts.getPoint();
if (p.x >= 50 && p.x <= 150 && p.y >= 160 && p.y <= 210) {
tft.fillRect(50, 160, 100, 50, ILI9341_GREEN);
tft.setCursor(75, 175);
tft.println("PULSADO");
}
}
}
Kood tuvastab, kas nuppu on vajutatud, ja muudab selle värvi punasest roheliseks. Samuti saate kohandada nupu asukohta ja suurust vastavalt oma vajadustele.
Oluline on tagada, et ekraan oleks õiges asendis kalibreeritud et puudutused vastaksid korralikult ekraani koordinaatidele. Kui märkate, et puutetundlikkus ei ole täpne, võib osutuda vajalikuks ekraani eraldusvõimega seotud kalibreerimine.