Kā lietot ILI9341 displeju ar Arduino — pilnīga un detalizēta apmācība

  • ILI9341 TFT displejs sazinās, izmantojot SPI interfeisu, un tam ir nepieciešami precīzi savienojumi.
  • Ja izmantojat 5 V Arduino, ir svarīgi izmantot loģiskā līmeņa adapterus, lai nesabojātu displeju.
  • Bibliotēkas Adafruit_GFX un Adafruit_ILI9341 ir būtiskas grafikas programmēšanai ekrānā.
  • Ar ILI9341 displeju var veikt praktiskus projektus, piemēram, datu vizualizāciju vai pieskārienu sensoru.

TFT ar ST7789VI MCU vadību arduino-7

Mūsdienās TFT displeji ar kontrolieri ILI9341 ir viena no populārākajām iespējām Arduino prototipu veidošanas projektiem to daudzpusības un grafisko iespēju dēļ. Ja esat meklējis, kā savos projektos izmantot šo ekrānu priekšrocības, esat nonācis īstajā vietā. Šeit mēs izskaidrojam visu, kas jums jāzina, lai izveidotu savienojumu, konfigurētu un izmantotu ILI9341 TFT ekrānu, kā arī redzēsim dažus ļoti noderīgus kodu piemērus.

Darbs ar šo displeju sākumā var šķist sarežģīts nepieciešamo tapu un savienojumu skaita dēļ, taču, tiklīdz jūs saprotat procesu, tas kļūst daudz vienkāršāks. Šajā rakstā mēs soli pa solim redzēsim, kā izveidot savienojumu, to pārbaudīt un ieprogrammēt.

Materiāli, kas nepieciešami, lai izmantotu ILI9341 displeju ar Arduino

  • Arduino UNO vai 3.3 V Arduino Pro Mini: Ja izmantojat a Arduino UNO, jums būs nepieciešami loģikas līmeņa adapteri, lai nesabojātu ekrānu, jo tas darbojas ar 3.3 V. Ja izmantojat 3.3 V Arduino Pro Mini, varat izveidot savienojumu tieši.
  • TFT ekrāns ILI9341: 2.4 vai 2.8 collu ekrāns ar 240x320 pikseļu izšķirtspēju.
  • Loģiskā līmeņa pārveidotājs (ja izmantojat Arduino UNO): lai pielāgotu līmeņus no 5V līdz 3.3V.
  • Maizes dēlis y kabeļi savienojuma.

1. darbība: pievienojiet ILI9341 displeju Arduino

ILI9341 TFT displejs izmanto SPI saskarni, lai sazinātos ar Arduino, tāpēc būs svarīgi izveidot pareizos savienojumus starp Arduino SPI tapām un displeju. Šajā tabulā ir detalizēti paskaidrots, kā izveidot pamata savienojumus:

ekrāna tapa Arduino pin
SDO (MISO) 12. tapa
SCK 13. tapa
SDI (MOSI) 11. tapa
D / C 9. tapa
CS 10. tapa
GND Piespraust GND
VCC Pin 3.3V
LED Pin 3.3V

Atcerieties, ka, ja izmantojat a Arduino UNO, būs nepieciešams izmantot loģikas līmeņa adapteri lai pārveidotu Arduino tapu 5 V uz 3.3 V. Ja izmantojat 3.3 V Arduino Pro Mini, šis piesardzības pasākums nav nepieciešams.

2. darbība. Instalējiet nepieciešamās bibliotēkas

Lai mijiedarbotos ar ILI9341 displeju, mums ir jāinstalē dažas bibliotēkas Arduino IDE. Mums ir jāpārliecinās, ka mums ir šādas bibliotēkas:

  • Adafruit_ILI9341: šī ir galvenā bibliotēka ILI9341 displeju vadīšanai ar Arduino.
  • Adafruit_GFX: šī bibliotēka ļauj viegli izveidot pamata grafiku, piemēram, līnijas, apļus, taisnstūrus utt.

Lai instalētu šīs bibliotēkas, atveriet Arduino IDE un dodieties uz Programma > Iekļaut bibliotēku > Pārvaldīt bibliotēkas un meklēt ILI9341 lai instalētu atbilstošo bibliotēku. Tāpat meklējiet grāmatnīcu Adafruit GFX un pārliecinieties, vai instalējat pareizo.

3. darbība: pārbaudiet TFT ekrānu, izmantojot pamata piemēru

Arduino IDE, datu tipi, programmēšana

Kad bibliotēkas ir instalētas, ir pienācis laiks pārbaudīt ekrānu, lai pārliecinātos, ka viss ir pareizi pievienots un darbojas. Arduino IDE ietver ļoti pilnīgu piemēru, kas mums ļoti noderēs. Ielādēsim grafiskais tests:

  • Atveriet Arduino IDE.
  • Iet uz Fails > Piemēri > Adafruit_ILI9341> graphictest.
  • Apkopojiet un augšupielādējiet piemēru savā Arduino.

Ja viss noritēja labi, ekrānā vajadzētu redzēt diagrammu sēriju, kas parāda dažāda veida līnijas, formas un krāsas.

4. darbība: izveidojiet praktisku projektu: parādiet analogās vērtības ILI9341 ekrānā

Viens no pirmajiem projektiem, ko mēs varam paveikt ar šo ekrānu, ir parādīt analogās ieejas vērtību, piemēram, potenciometra spriegumu. Šim nolūkam mēs izmantosim jau pievienotās displeja tapas, kā arī potenciometru, kas savienots ar Arduino analogo ieeju A0.

Šis kods parāda, kā mēs varam nolasīt potenciometra analogo vērtību un parādīt to ekrānā:

#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);
}

Šī programma nepārtraukti nolasa spriegumu un parāda to ekrānā teksta formātā. Pagriežot potenciometra pogu, ekrānā gandrīz nekavējoties vajadzētu redzēt izmaiņas.

Pogas pievienošana ILI9341 skārienekrānam

Papildus informācijas parādīšanai ILI9341 displejam ir arī pieskāriena iespēja, ja tas ir aprīkots ar XPT2046 kontrolieri. Izveidosim vienkāršu piemēru, kas parāda, kā noteikt pieskārienus ekrānam.

Pirmkārt, mums ir jāizveido ekrāna skārienjutīgā kontrollera savienojumi. Skārienvadības pults galvenās tapas ir:

  • TOUCH_CS: 10. spraudnis.
  • TOUCH_IRQ: 2. spraudnis.

Pēc šo savienojumu izveidošanas mēs izmantosim bibliotēku XPT2046_Skārienjutīgs ekrāns lai atklātu pieskārienus. Zemāk es atstāju jums kodu, kas parāda pogu uz ekrāna, kas maina krāsu katru reizi, kad tā tiek nospiesta.

#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");
    }
  }
}

Kods nosaka, vai poga ir nospiesta, un maina tās krāsu no sarkanas uz zaļu. Varat arī pielāgot pogas pozīciju un izmēru atbilstoši savām vajadzībām.

Ir svarīgi nodrošināt, lai ekrāns būtu pareizi kalibrēts lai pieskārieni pareizi atbilstu ekrāna koordinātām. Ja pamanāt, ka pieskāriena reakcija nav precīza, var būt nepieciešama kalibrēšana saistībā ar ekrāna izšķirtspēju.


Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.