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
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.