Satura rādītājs:
- 1. darbība. Prasības aparatūrai un programmatūrai
- 2. darbība. UTFT Lib pielāgošana
- 3. darbība: TFT vairoga inicializēšana
- 4. solis: pamata Hello World
- 5. darbība: UTFT fonti
- 6. darbība: UTFT formas, līnijas un raksts
- 7. darbība: UTFT bitkarte
- 8. solis: pogu saskarne
- 9. solis: Flappy Bird
- 10. solis: projekta darbs
Video: Arduino TFT saskarnes pamati: 10 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
TFT skārienekrāni ir pārsteidzošs grafiskais interfeiss, ko var izmantot ar tādiem mikrokontrolleriem kā Atmel, PIC, STM, jo tam ir plašs krāsu diapazons, laba grafiskā spēja un laba pikseļu kartēšana.
Šodien mēs apmeklēsim 2,4 collu TFT LCD ekrāna saskarni ar Arduino.
Šis vairogs ir paredzēts Arduino UNO, bet es iemācīšu to izmantot kopā ar Arduino Mega ļoti loģiska iemesla dēļ - "Programmas atmiņa".
Izmantojot šo krāsaino TFT LCD ekrānu, krāsainajā TFT LCD var parādīt rakstzīmes, virknes, pogu saskarni, bitkartes attēlus utt.
1. darbība. Prasības aparatūrai un programmatūrai
Lai izveidotu vairoga saskarni ar Arduino mega, mums ir nepieciešams šāds.
Aparatūra:
• Arduino mega
• TFT 2,4/2,8/3,2 collu LCD
• USB kabelis
PROGRAMMATŪRA
• Arduino IDE
• UTFT bibliotēka / spfd5408 bibliotēka
Vairogs sākotnēji ir paredzēts Arduino UNO dēļiem, kurus var izmantot kopā ar Arduino mega.
Lietojot to kopā ar Arduino UNO, ir divas galvenās problēmas: "Atmiņas atmiņa" un tapas izmantošana.
Ir grūti izmantot neizmantotās tapas, kas pieejamas vietnē UNO, bet tas ir labāk ar Arduino MEGA, jo mums ir atlicis vairāk I/O tapas.
Nākamajā solī es parādīšu, kā rediģēt UTFT bibliotēku, lai izmantotu TFT vairogu
2. darbība. UTFT Lib pielāgošana
Šī bibliotēka ir manas ITDB02_Graph, ITDB02_Graph16 un RGB_GLCD bibliotēku turpinājums Arduino un chipKit. Kad atbalstīto displeja moduļu un kontrolieru skaits sāka palielināties, es jutu, ka ir pienācis laiks izveidot vienu universālu bibliotēku, jo to būs daudz vieglāk uzturēt nākotnē.
Arduino MEGA ir 256 kb programmas atmiņa. Turklāt ir 54 tapas.
Lielāko daļu no tiem var izmantot bez maksas, un tikai 5 analogie ir ņemti no 16.
Šī bibliotēka atbalsta vairākus 8 bitu, 16 bitu un sērijas grafikas displejus, un tā darbosies gan ar Arduino, gan mikroshēmu plāksnēm, gan ar atlasītajiem TI LaunchPads.
PIEZĪME. Bibliotēkas lieluma dēļ neiesaku to izmantot ATmega328 (Arduino Uno) un ATmega32U4 (Arduino Leonardo), jo tiem ir tikai 32 KB zibatmiņas. Tas darbosies, taču jūsu lietojumprogrammai pieejamā zibatmiņa būs ievērojami ierobežota
Soļi
- Lejupielādējiet UTFT bibliotēku
- Izsaiņojiet bibliotēku
- Atveriet UTFT / hardware / avr Arduino gadījumā vai atkarībā no izmantotā mikrokontrollera
- Atveriet HW_AVR_defines, izmantojot Notepad
- Noņemiet 7. komentāru rindu, lai MEGA iespējotu UNO vairogu
- Saglabājiet failu un pievienojiet šo bibliotēku Arduino IDE
Tagad mēs esam pabeiguši šo soli! Nākamajā solī es parādīšu, kā izmantot bibliotēku un definēt Arduino Mega tapas.
3. darbība: TFT vairoga inicializēšana
Pēc bibliotēkas rediģēšanas pievienojiet to Arduino direktorijai.
Tālāk es jums parādīšu, kā definēt pareizo TFT moduli
mums vajadzētu atrast tā moduļa nosaukumu bibliotēkā.
- atveriet bibliotēkas failu
- dodieties uz dokumentāciju
Šos failus varat redzēt dokumentācijā
• UTFT:
Šis fails parāda visas šajā bibliotēkā iekļautās funkcijas un komandas.
• UTFT_Prasība
Šajā failā ir informācija par moduļiem un to, kā tas ir saistīts ar bibliotēku, piemēram, tapu konfigurācijas
• UTFT_Supported_display_modules _ & _ kontrolieris
Šis ir mūsu mērķis, šim failam ir to bibliotēku atbalstīto moduļu un vairogu nosaukumi, tajā varat redzēt UTFT moduļu nosaukumu un moduļu nosaukumu sarakstu, kas jāizmanto, lai definētu savu moduli.
TFT definēšanas soļi:
No bibliotēkas atveriet kontroliera failu UTFT_Supported_display_modules _ & _
- No bibliotēkas atveriet kontroliera failu UTFT_Supported_display_modules _ & _
- Atrodiet UTFT modeļus jūsu esošajiem moduļiem (vairogam).
- Tagad, lai definētu UTFT funkciju Arduino IDE, mēs izmantojam komandu:
UTFT nosaukums (modulis, Rs, Wr, Cs, Rst);
No bibliotēkas atveriet failu UTFT_Requirement
No dokumenta mēs zinām, ka tapas atrodas uz A5, A4, A3 un A2 tapām.
mēs izmantojam komandu:
UTFT myGLCD (ITDB28, 19, 18, 17, 16); # ņemiet vērā, ka Arduino Mega 19., 18., 17., 16. tapas
UTFT myGLCD (ITDB28, A5, A4, A3, A2); # ņemiet vērā, ka A5, A4, A3, A2 tapas Arduino UNO
Un darīts! Tagad varat izmantot Arduino IDE bibliotēkas piemērus ar šādām izmaiņām.
4. solis: pamata Hello World
#include // Paziņojiet, kurus fontus izmantosim
extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Atcerieties mainīt modeļa parametru atbilstoši jūsu displeja modulim! UTFT myGLCD (ITDB28, A5, A4, A3, A2); void setup () {myGLCD. InitLCD (); myGLCD.clrScr (); myGLCD.setFont (BigFont); } void loop () {myGLCD.setColor (0, 255, 0); // zaļš myGLCD.print ("HELLO WORLD", 45, 100); while (true) {}; }
5. darbība: UTFT fonti
#include // Paziņojiet, kurus fontus izmantosim
extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Iestatiet tapas pareizajam jūsu attīstības vairogam // ----------------------------------- ------------------------- // Arduino Uno / 2009: // ---------------- --- // Standarta Arduino Uno/2009 vairogs:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT vairogs:, A5, A4, A3, A2 // Arduino Mega: // ----- -------------- // Standarta Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD Shield Arduino Mega:, 38, 39, 40, 41 // // Atcerieties mainīt modeļa parametru, lai tas atbilstu jūsu displeja modulim! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); void setup () {myGLCD. InitLCD () myGLCD.clrScr (); } void loop () {myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print ("! \"#$%& '()*+, -./", CENTER, 0); myGLCD.print (" 0123456789:;? ", CENTRS, 16); myGLCD.print ("@ ABCDEFGHIJKLMNO ", CENTRS, 32); myGLCD.print (" PQRSTUVWXYZ ^_ ", CENTER, 48); myGLCD.print (" `abcdefghijklmno", CENTER, 64); myGLCD.print ("pqrs }www ~ ", CENTRS, 80); myGLCD.setFont (SmallFont); myGLCD.print ("! / "#$%& '()*+, -./0123456789:;?", CENTRS, 120); myGLCD.print ("@ABCDEFGHIJKLMNOPQRSTUVWXYZ ^_", CENTRS, 132.); myGLCD.print ("" abcdefghijklmnopqrstuvwxyz {|} ~ ", CENTRS, 144); myGLCD.setFont (SevenSegNumFont); myGLCD.print ("0123456789", CENTRS, 190); kamēr (1) {}; }
6. darbība: UTFT formas, līnijas un raksts
#include "UTFT.h" // Deklarējiet, kādus fontus mēs izmantosim ---------------------------------------------- // Arduino Uno / 2009: // ------------------- // Standarta Arduino Uno/ 2009 vairogs:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT vairogs:, A5, A4, A3, A2 // Arduino Mega: // ------------------- // Standarta Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD vairogs Arduino Mega:, 38, 39, 40, 41 // // Atcerieties mainīt modeļa parametru atbilstoši jūsu displeja modulim! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); void setup () {randomSeed (analogRead (0)); // Iestatiet LCD myGLCD. InitLCD (); myGLCD.setFont (SmallFont); }
tukša cilpa ()
{int buf [318]; int x, x2; int y, y2; int r; // Notīriet ekrānu un uzzīmējiet rāmi myGLCD.clrScr (); myGLCD.setColor (255, 0, 0); myGLCD.fillRect (0, 0, 319, 13); myGLCD.setColor (64, 64, 64); myGLCD.fillRect (0, 226, 319, 239); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (255, 0, 0); myGLCD.print (" * Universāla krāsu TFT displeja bibliotēka *", CENTRS, 1); myGLCD.setBackColor (64, 64, 64); myGLCD.setColor (255, 255, 0); myGLCD.print ("", CENTRS, 227); myGLCD.setColor (0, 0, 255); myGLCD.drawRect (0, 14, 319, 225); // Zīmēt krustiņus myGLCD.setColor (0, 0, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.drawLine (159, 15, 159, 224); myGLCD.drawLine (1, 119, 318, 119); par (int i = 9; i <310; i+= 10) myGLCD.drawLine (i, 117, i, 121); par (int i = 19; i <220; i+= 10) myGLCD.drawLine (157, i, 161, i); // Zīmējiet sin-, cos- un iedeguma līnijas myGLCD.setColor (0, 255, 255); myGLCD.print ("Grēks", 5, 15); par (int i = 1; i <318; i ++) {myGLCD.drawPixel (i, 119+ (sin (((i*1.13)*3.14)/180)*95)); } myGLCD.setColor (255, 0, 0); myGLCD.print ("Cos", 5, 27); par (int i = 1; i <318; i ++) {myGLCD.drawPixel (i, 119+ (cos (((i*1.13)*3.14)/180)*95)); } myGLCD.setColor (255, 255, 0); myGLCD.print ("Tan", 5, 39); par (int i = 1; i <318; i ++) {myGLCD.drawPixel (i, 119+ (tan (((i*1.13)*3.14)/180))); } kavēšanās (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); myGLCD.setColor (0, 0, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.drawLine (159, 15, 159, 224); myGLCD.drawLine (1, 119, 318, 119); // Uzzīmējiet kustīgu sinusa viļņu x = 1; par (int i = 1; i319) {ja ((x == 159) || (buf [x-1] == 119)) myGLCD.setColor (0, 0, 255); cits myGLCD.setColor (0, 0, 0); myGLCD.drawPixel (x, buf [x-1]); } myGLCD.setColor (0, 255, 255); y = 119+(grēks ((((i*1,1))*3,14) / 180)*(90- (i / 100))); myGLCD.drawPixel (x, y); buf [x-1] = y; } kavēšanās (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Uzzīmējiet dažus aizpildītus taisnstūrus (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255)); pārtraukums; 2. gadījums: myGLCD.setColor (255, 0, 0); pārtraukums; 3. gadījums: myGLCD.setColor (0, 255, 0); pārtraukums; 4. gadījums: myGLCD.setColor (0, 0, 255); pārtraukums; 5. gadījums: myGLCD.setColor (255, 255, 0); pārtraukums; } myGLCD.fillRect (70+ (i*20), 30+ (i*20), 130+ (i*20), 90+ (i*20)); } kavēšanās (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Uzzīmējiet dažus aizpildītus, noapaļotus taisnstūrus (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255); pārtraukums; 2. gadījums: myGLCD.setColor (255, 0, 0); pārtraukums; 3. gadījums: myGLCD.setColor (0, 255, 0); pārtraukums; 4. gadījums: myGLCD.setColor (0, 0, 255); pārtraukums; 5. gadījums: myGLCD.setColor (255, 255, 0); pārtraukums; } myGLCD.fillRoundRect (190- (i*20), 30+ (i*20), 250- (i*20), 90+ (i*20)); } kavēšanās (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Uzzīmējiet dažus aizpildītus apļus (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255)); pārtraukums; 2. gadījums: myGLCD.setColor (255, 0, 0); pārtraukums; 3. gadījums: myGLCD.setColor (0, 255, 0); pārtraukums; 4. gadījums: myGLCD.setColor (0, 0, 255); pārtraukums; 5. gadījums: myGLCD.setColor (255, 255, 0); pārtraukums; } myGLCD.fillCircle (100+ (i*20), 60+ (i*20), 30); } kavēšanās (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Zīmējiet dažas līnijas modelī myGLCD.setColor (255, 0, 0); par (int i = 15; i <224; i+= 5) {myGLCD.drawLine (1, i, (i*1,44) -10, 224); } myGLCD.setColor (255, 0, 0); par (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (318, i, (i*1,44) -11, 15); } myGLCD.setColor (0, 255, 255); par (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (1, i, 331- (i*1,44), 15); } myGLCD.setColor (0, 255, 255); par (int i = 15; i <224; i+= 5) {myGLCD.drawLine (318, i, 330- (i*1,44), 224); } kavēšanās (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Uzzīmējiet nejaušus apļus (int i = 0; i <100; i ++) {myGLCD.setColor (nejauši (255), nejauši (255), nejauši (255))); x = 32+nejaušs (256); y = 45+nejaušs (146); r = nejaušs (30); myGLCD.drawCircle (x, y, r); } kavēšanās (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Uzzīmējiet dažus izlases taisnstūrus (int i = 0; i <100; i ++) {myGLCD.setColor (nejauši (255), nejauši (255), nejauši (255))); x = 2+nejaušs (316); y = 16+nejaušs (207); x2 = 2+nejaušs (316); y2 = 16+nejaušs (207); myGLCD.drawRect (x, y, x2, y2); } kavēšanās (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Uzzīmējiet nejauši noapaļotus taisnstūrus (int i = 0; i <100; i ++) {myGLCD.setColor (nejauši (255), nejauši (255), nejauši (255)); x = 2+nejaušs (316); y = 16+nejaušs (207); x2 = 2+nejaušs (316); y2 = 16+nejaušs (207); myGLCD.drawRoundRect (x, y, x2, y2); } kavēšanās (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); par (int i = 0; i <100; i ++) {myGLCD.setColor (nejauši (255), nejauši (255), nejauši (255)); x = 2+nejaušs (316); y = 16+nejaušs (209); x2 = 2+nejaušs (316); y2 = 16+nejaušs (209); myGLCD.drawLine (x, y, x2, y2); } kavēšanās (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); par (int i = 0; i <10000; i ++) {myGLCD.setColor (nejauši (255), nejauši (255), nejauši (255)); myGLCD.drawPixel (2+izlases (316), 16+izlases (209)); } kavēšanās (2000); myGLCD.fillScr (0, 0, 255); myGLCD.setColor (255, 0, 0); myGLCD.fillRoundRect (80, 70, 239, 169); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (255, 0, 0); myGLCD.print ("Tas tā!", CENTRS, 93); myGLCD.print ("Restarting in a", CENTER, 119); myGLCD.print ("dažas sekundes…", CENTRS, 132); myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 255); myGLCD.print ("Izpildlaiks: (ms)", CENTRS, 210); myGLCD.printNumI (milis (), CENTRS, 225); kavēšanās (10000); }
7. darbība: UTFT bitkarte
#iekļaut
#include // Deklarējiet, kādus fontus mēs izmantosim, izmantojot extern uint8_t SmallFont ; // Iestatiet tapas uz pareizo attīstības vairoga // ------------------ ------------------------------------------ // Arduino Uno / 2009: / / ------------------- // Standarta Arduino Uno/ 2009 vairogs:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT vairogs:, A5, A4, A3, A2 // Arduino Mega: // ------------------- // Standarta Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD vairogs Arduino Mega:, 38, 39, 40, 41 // // Atcerieties mainīt modeļa parametru atbilstoši jūsu displeja modulim! UTFT myGLCD (ITDB32S, A5, A4, A3, A2); ārēja neparakstīta int informācija [0x400]; extern unsigned int ikona [0x400]; extern unsigned int tux [0x400]; void setup () {myGLCD. InitLCD (); myGLCD.setFont (SmallFont); } void loop () {myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("*** A 10x7 režģis no 32x32 ikonas ***", CENTRS, 228); par (int x = 0; x <10; x ++) par (int y = 0; y <7; y ++) myGLCD.drawBitmap (x*32, y*32, 32, 32, info); kavēšanās (5000); myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("Divas dažādas ikonas skalā no 1 līdz 4", CENTRS, 228); int x = 0; par (int s = 0; s0; s--) {myGLCD.drawBitmap (x, 224- (s*32), 32, 32, ikona, s); x+= (s*32); } kavēšanās (5000); }
8. solis: pogu saskarne
#include #include // Inicializēt displeju // ------------------ // Iestatiet tapas uz pareiziem, lai tie atbilstu jūsu attīstības padomei // ------- -------------------------------------------------- - // Standarta Arduino Uno/2009 Shield:, 19, 18, 17, 16 // Standarta Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD Shield for Arduino Due:, 25, 26, 27, 28 // Teensy 3.x TFT testa dēlis:, 23, 22, 3, 4 // ElecHouse TFT LCD/SD vairogs Arduino Termiņš:, 22, 23, 31, 33 // // Atcerieties mainiet modeļa parametru, lai tas atbilstu jūsu displeja modulim! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); // Skārienekrāna inicializēšana // ---------------------- // Piespraudes iestatiet pareizi tie, kas paredzēti jūsu attīstības padomei // ------------------------------------------- ---------------- // Standarta Arduino Uno/2009 Shield: 15, 10, 14, 9, 8 // Standarta Arduino Mega/Due shield: 6, 5, 4, 3, 2 // CTE TFT LCD/SD vairogs Arduino dēļ: 6, 5, 4, 3, 2 // Teensy 3.x TFT testa dēlis: 26, 31, 27, 28, 29 // ElecHouse TFT LCD/SD vairogs Arduino termiņam: 25, 26, 27, 29, 30 // URTouch myTouch (6, 5, 4, 3, 2); // Paziņojiet, kurus fontus izmantosim, izmantojot extern uint8_t BigFont ; int x, y; char stCurrent [20] = ""; int stCurrentLen = 0; char stLast [20] = "";/************************* ** Pielāgotās funkcijas ** ********* ****************/void drawButtons () {// Zīmējiet augšējo pogu rindu (x = 0; x <5; x ++) {myGLCD.setColor (0, 0, 255); myGLCD.fillRoundRect (10+ (x*60), 10, 60+ (x*60), 60); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (10+ (x*60), 10, 60+ (x*60), 60); myGLCD.printNumI (x+1, 27+ (x*60), 27); } // Uzzīmējiet pogu (x = 0; x <5; x ++) {myGLCD.setColor (0, 0, 255) centrālo pogu rindu; myGLCD.fillRoundRect (10+ (x*60), 70, 60+ (x*60), 120); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (10+ (x*60), 70, 60+ (x*60), 120); ja (x <4) myGLCD.printNumI (x+6, 27+ (x*60), 87); } myGLCD.print ("0", 267, 87); // Uzzīmējiet apakšējo pogu pogu myGLCD.setColor (0, 0, 255); myGLCD.fillRoundRect (10, 130, 150, 180); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (10, 130, 150, 180); myGLCD.print ("Skaidrs", 40, 147); myGLCD.setColor (0, 0, 255); myGLCD.fillRoundRect (160, 130, 300, 180); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (160, 130, 300, 180); myGLCD.print ("Enter", 190, 147); myGLCD.setBackColor (0, 0, 0); } void updateStr (int val) {if (stCurrentLen = 10) && (y = 10) && (x = 70) && (x = 130) && (x = 190) && (x = 250) && (x = 70) && (y = 10) && (x = 70) && (x = 130) && (x = 190) && (x = 250) && (x = 130) && (y = 10) && (x = 160) && (x0) {par (x = 0; x
9. solis: Flappy Bird
#include #include #include // ==== Objektu izveide UTFT myGLCD (SSD1289, 38, 39, 40, 41); // Parametri jāpielāgo jūsu Display/Schield modelim UTouch myTouch (6, 5, 4, 3, 2); // ==== Fontu definēšana extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; extern unsigned int bird01 [0x41A]; // Putnu Bitmapint x, y; // Mainīgie lielumi koordinātām, kurās ir nospiests displejs // Floppy Bird int xP = 319; int yP = 100; int yB = 50; int moveRate = 3; int fallRateInt = 0; pludiņa kritumsRate = 0; int rezultāts = 0; int lastSpeedUpScore = 0; int highScore; Būla ekrāns Pressed = false; Būla spēleStarted = false; void setup () {// Uzsākt displeja myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); augstākais rādītājs = EEPROM.lasījums (0); // Lasīt augstāko punktu skaitu no EEPROM initiateGame (); // Spēles uzsākšana} void loop () {xP = xP-moveRate; // xP - x polāru koordināta; diapazons: 319 - (-51) drawPilars (xP, yP); // Zīmē pīlārus // yB - y koordinātu putnam, kas ir atkarīgs no krišanas ātruma mainīgā lieluma yB+= fallRateInt; kritumsRate = kritumsRate+0,4; // Katrs ievads kritiena ātruma pieaugums, lai mēs varētu paātrinājuma/ gravitācijas krituma ietekmiRateInt = int (fallRate); // Pārbauda sadursmi, ja (yB> = 180 || yB <= 0) {// augšējā un apakšējā spēleOver (); } if ((xP = 5) && (yB <= yP-2)) {// augšējā pīlāra spēleOver (); } if ((xP = 5) && (yB> = yP+60)) {// apakšējā pīlāra spēleOver (); } // Zīmē putnu drawBird (yB); // Kad pīlārs ir izgājis cauri ekrānam, ja (xPRESET = 250) && (x = 0) && (y = 0) && (x = 30) && (y = 270) {myGLCD.setColor (0, 200, 20)); myGLCD.fillRect (318, 0, x, y-1); myGLCD.setColor (0, 0, 0); myGLCD.drawRect (319, 0, x-1, y); myGLCD.setColor (0, 200, 20); myGLCD.fillRect (318, y+81, x, 203); myGLCD.setColor (0, 0, 0); myGLCD.drawRect (319, y+80, x-1, 204); } cits ja (x augstākais rādītājs) {augstākais rādītājs = rezultāts; EEPROM.write (0, augstākais rādītājs); } // Atiestata mainīgos uz sākuma pozīcijas vērtībām xP = 319; yB = 50; kritumsRate = 0; rezultāts = 0; lastSpeedUpScore = 0; MovingRate = 3; gameStarted = nepatiess; // Restartējiet spēli initiateGame (); }
10. solis: projekta darbs
Avota kodu varat atrast manā Github krātuvē.
Saite:
Palieciet īkšķi, ja tas jums patiešām palīdzēja, un sekojiet manam kanālam interesantiem projektiem:)
Ja vēlaties, kopīgojiet šo videoklipu.
Priecājamies, ka abonējat:
Paldies, ka izlasījāt!
Ieteicams:
Pamācība saskarnes HMC5883L kompasa sensoram ar Arduino: 10 soļi (ar attēliem)
Apmācība interfeisa HMC5883L kompasa sensoram ar Arduino: Apraksts HMC5883L ir 3 asu digitālais kompass, ko izmanto diviem vispārējiem mērķiem: lai izmērītu magnētiska materiāla, piemēram, feromagnēta, magnetizāciju vai mērītu stiprumu un dažos gadījumos virzienu. magnētiskais lauks s punktā
Saskarnes spiedpoga - Arduino pamati: 3 soļi
Saskarnes spiedpoga - Arduino pamati: Spiedpoga ir sastāvdaļa, kas savieno divus ķēdes punktus, kad to nospiežat. Kad poga ir atvērta (nespiesta), starp abām spiedpogas kājām nav savienojuma, tāpēc tapa ir savienota ar 5 volti (caur pievilkšanas stieni
Saskarnes tastatūra ar Arduino. [Unikāla metode]: 7 soļi (ar attēliem)
Saskarnes tastatūra ar Arduino. [Unikāla metode]: Sveiki, un laipni lūdzam manā pirmajā pamācībā! :) Šajā pamācībā es vēlos dalīties ar lielisku bibliotēku tastatūras saskarnei ar arinoino - “Paroļu bibliotēka”, ieskaitot “Tastatūras bibliotēka”. Šī bibliotēka ietver labākās funkcijas, kuras mēs
Saskarnes bezsuku līdzstrāvas motors (BLDC) ar Arduino: 4 soļi (ar attēliem)
Bezsuku līdzstrāvas motora (BLDC) saskarne ar Arduino: šī ir apmācība par to, kā saslēgt un darbināt bezsuku līdzstrāvas motoru, izmantojot Arduino. Ja jums ir kādi jautājumi vai komentāri, lūdzu, atbildiet komentāros vai pa pastu uz rautmithil [at] gmail [dot] com. Jūs varat arī sazināties ar mani @mithilraut twitter. Lai
RGB Led WS2812B saskarnes apmācība ar Arduino UNO: 7 soļi (ar attēliem)
RGB Led WS2812B saskarnes apmācība ar Arduino UNO: šī apmācība iemācīs jums dažus pamatus par Sparkfun RGB Led WS2812B lietošanu kopā ar Arduino UNO