Uyisebenzisa njani i-ILI9341 Display kunye ne-Arduino-Isifundo esiGqibeleleyo kunye neNkcukacha

  • Umboniso we-ILI9341 TFT unxibelelana nge-SPI interface kwaye ifuna uxhulumaniso oluchanekileyo.
  • Kubalulekile ukusebenzisa i-adapter level logic ukuba usebenzisa i-5V Arduino ukunqanda ukonakalisa umboniso.
  • I-Adafruit_GFX kunye ne-Adafruit_ILI9341 iilayibrari zibalulekile kudweliso lwemizobo kwiscreen.
  • Iiprojekthi ezisebenzayo ezinjengokubonwa kwedatha okanye ukuchukumisa inzwa inokuphunyezwa ngomboniso we-ILI9341.

TFT nge ST7789VI MCU ulawulo arduino-7

Namhlanje, i-TFT ibonisa kunye nomlawuli we-ILI9341 yenye yezona zinto zikhethwa kakhulu kwiiprojekthi ze-Arduino prototyping ngenxa yokuguquguquka kwazo kunye nobuchule begraphical. Ukuba ubujonge indlela yokuthatha ithuba kwezi zikrini kwiiprojekthi zakho, ufike kwindawo elungileyo. Apha sichaza yonke into oyifunayo ukuze udibanise, uqwalasele kwaye usebenzise isikrini se-ILI9341 TFT, kwaye siya kubona imizekelo yekhowudi eluncedo kakhulu.

Ukusebenza nalo mboniso kunokubonakala kunzima ekuqaleni ngenxa yenani lezikhonkwane kunye noqhagamshelwano olufunekayo, kodwa xa uqonda inkqubo, iba lula kakhulu. Kweli nqaku siza kubona inyathelo ngenyathelo indlela yokwenza uqhagamshelo, luvavanye kwaye lucwangcise.

Izinto ezifunekayo ukusebenzisa i-ILI9341 ukubonisa nge-Arduino

  • Arduino UNO okanye 3.3V Arduino Pro Mini: Ukuba usebenzisa i Arduino UNO, uya kufuna iiadaptha zenqanaba le-logic ukunqanda ukonakalisa isikrini, kuba isebenza nge-3.3V. Ukuba usebenzisa i-3.3V Arduino Pro Mini, unokuxhuma ngokuthe ngqo.
  • TFT isikrini ILI9341: 2.4 okanye 2.8 intshi screen kunye 240x320 pixel isisombululo.
  • Umguquli wenqanaba lokuqiqa (ukuba usebenzisa Arduino UNO): ukulungelelanisa amanqanaba ukusuka kwi-5V ukuya kwi-3.3V.
  • Ibhodi yesonka y zixhobo yonxibelelwano.

Inyathelo 1: Qhagamshela umboniso we-ILI9341 kwiArduino

Umboniso we-ILI9341 TFT usebenzisa i-SPI interface ukunxibelelana ne-Arduino, ngoko kuya kubaluleka ukwenza uxhulumaniso oluchanekileyo phakathi kwezikhonkwane ze-SPI kwi-Arduino kunye nomboniso. Le theyibhile ilandelayo ichaza ngokweenkcukacha indlela yokwenza uqhagamshelo olusisiseko:

iphini yesikrini Arduino Pin
I-SDO (MISO) Phina 12
I-SCK Phina 13
I-SDI (MOSI) Phina 11
D / C. Phina 9
CS Phina 10
GND I-Pin GND
VCC Iphini 3.3V
I-LED Iphini 3.3V

Khumbula ukuba usebenzisa i Arduino UNO, kuya kuba yimfuneko ukusebenzisa i iiadaptha zenqanaba lengqiqo ukuguqula i-5V yezikhonkwane ze-Arduino kwi-3.3V. Ukuba usebenzisa i-3.3V Arduino Pro Mini, oku kunqandwa akuyimfuneko.

Inyathelo lesi-2: Faka iilayibrari eziyimfuneko

Ukusebenzisana nomboniso we-ILI9341, kufuneka sifake iilayibrari ezithile kwi-Arduino IDE. Kufuneka siqinisekise ukuba sinala mathala alandelayo:

  • Adafruit_ILI9341: Le yilayibrari ephambili yokuqhuba i-ILI9341 iziboniso nge-Arduino.
  • Adafruit_GFX: Eli thala leencwadi lenza kube lula ukwenza imizobo esisiseko njengemigca, izangqa, uxande, njl.

Ukufakela la mathala eencwadi, vula i-Arduino IDE kwaye uye ku Inkqubo > Bandakanya ilayibrari > Lawula amathala eencwadi kunye nokukhangela ILI9341 ukufaka ilayibrari ehambelanayo. Kwakhona, khangela ivenkile yeencwadi Adafruit GFX kwaye uqinisekise ukuba ufake echanekileyo.

Inyathelo 3: Vavanya isikrini se-TFT ngomzekelo osisiseko

Arduino IDE, iintlobo zedatha, inkqubo

Nje ukuba iilayibrari zifakwe, lixesha lokuvavanya isikrini ukuze uqiniseke ukuba yonke into iqhagamshelwe ngokuchanekileyo kwaye iyasebenza. I-Arduino IDE ibandakanya umzekelo opheleleyo oya kuba luncedo olukhulu kuthi. Masilayishe i graphictest:

  • Vula i-Arduino IDE.
  • Yiya ku Ifayile > Imizekelo > Adafruit_ILI9341 > graphictest.
  • Qokelela kwaye ulayishe umzekelo kwiArduino yakho.

Ukuba yonke into ihambe kakuhle, kufuneka ubone uluhlu lweegrafu ezibonisa iindidi ezahlukeneyo zemigca, iimilo kunye nemibala kwisikrini.

Inyathelo lesi-4: Yenza iprojekthi esebenzayo: Bonisa amaxabiso e-analog kwiscreen se-ILI9341

Enye yeeprojekthi zokuqala esinokuzenza kwesi sikrini kukubonisa ixabiso legalelo le-analog, njenge-voltage ye-potentiometer. Kule nto, siya kusebenzisa izikhonkwane zokubonisa esele sizidibanise, kunye ne-potentiometer exhunywe kwi-analog input A0 ye-Arduino.

Ikhowudi elandelayo ibonisa indlela esinokufunda ngayo ixabiso le-analog ye-potentiometer kwaye siyibonise kwisikrini:

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

Le nkqubo ifunda ngokuqhubekayo i-voltage kwaye ibonise kwiscreen kwifomathi yokubhaliweyo. Ukuba ujika iqhosha le-potentiometer kufuneka ubone utshintsho olubonakaliswe kwisikrini ngokukhawuleza.

Ukongeza iqhosha kwi-ILI9341 touch screen

Ukongeza ekuboniseni ulwazi, umboniso we-ILI9341 nawo unamandla okuthintela ukuba uxhotyiswe kunye nomlawuli we-XPT2046. Masenze umzekelo olula obonisa indlela yokubona ukubanjwa kwesikrini.

Okokuqala, kufuneka senze udibaniso lwesilawuli sokuchukumisa isikrini. Izikhonkwane eziphambili zesilawuli sokuchukumisa zezi:

  • Touch_CS: iPin 10.
  • TOUCH_IRQ: iPin 2.

Emva kokwenza olu nxibelelwano, siya kusebenzisa ithala leencwadi XPT2046_Isikrini sokuchukumisa ukubona ukubamba. Ngezantsi ndikushiyela ikhowudi ebonisa iqhosha kwiscreen, elitshintsha umbala ngalo lonke ixesha licofa.

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

Ikhowudi ibona ukuba iqhosha licinezelwe kwaye litshintsha umbala walo ukusuka ebomvu ukuya eluhlaza. Unokwenza ngokwezifiso indawo kunye nobukhulu beqhosha ngokweemfuno zakho.

Kubalulekile ukuqinisekisa ukuba isikrini sichanekile ilinganisiwe ukuze ukubamba kuhambelane ngokufanelekileyo nezilungelelanisi zekhusi. Ukuba uqaphela ukuba impendulo yokuchukumisa ayichanekanga, ulungelelwaniso olunxulumene nesisombululo seskrini lunokufuneka.


Qala incoko

Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Uxanduva lwedatha: UMiguel Ángel Gatón
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.