Talaan ng mga Nilalaman:
- Hakbang 1: Mga Kinakailangan sa Hardware at Software
- Hakbang 2: Tweaking UTFT Lib
- Hakbang 3: Inisialisa ang TFT Shield
- Hakbang 4: Pangunahing Hello World
- Hakbang 5: Mga UTFT Font
- Hakbang 6: Mga UTFT na Hugis, Linya at pattern
- Hakbang 7: UTFT Bitmap
- Hakbang 8: Pag-interface ng Button
- Hakbang 9: Flappy Bird
- Hakbang 10: Paggawa ng Proyekto
Video: Mga Pangunahing Kaalaman sa Arduino TFT Interfacing: 10 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Ang TFT touchscreens ay ang kamangha-manghang interface ng grapiko na maaaring magamit sa mga microcontroller tulad ng Atmel, PIC, STM, dahil mayroon itong malawak na saklaw ng kulay, at mahusay na kakayahang grapiko at isang mahusay na pagmamapa ng mga pixel.
Ngayon, pupunta kami sa Interface 2.4 inch TFT LCD Shield kasama ang Arduino.
Ang kalasag na ito ay para sa Arduino UNO, ngunit tuturuan ko kung paano ito gamitin sa Arduino Mega para sa isang napaka-lohikal na dahilan, ang "Memory ng Program".
Sa pamamagitan ng paggamit ng kulay na ito ng TFT LCD na kalasag maaari naming ipakita ang mga character, string, interface ng pindutan, mga bitmap na imahe, atbp sa kulay na TFT LCD.
Hakbang 1: Mga Kinakailangan sa Hardware at Software
Upang gawin ang interface ng kalasag sa Arduino mega, kailangan namin ang sumusunod.
HARDWARE:
• Arduino mega
• TFT 2.4 / 2.8 / 3.2 pulgada LCD
• Kable ng USB
SOFTWARE
• Arduino IDE
• UTFT Library / spfd5408 Library
Ang Shield ay orihinal na ginawa para sa Arduino UNO boards, na maaaring magamit sa Arduino mega.
Mayroong dalawang pangunahing isyu habang ginagamit ito sa Arduino UNO: "Memory ng imbakan" at paggamit ng mga pin.
Mahirap gamitin ang mga hindi nagamit na pin na magagamit sa UNO, samantalang mas mabuti sa Arduino MEGA dahil mayroon kaming natitirang I / O pin.
Sa susunod na hakbang, ipapakita ko kung paano i-edit ang UTFT library upang magamit ang TFT na kalasag
Hakbang 2: Tweaking UTFT Lib
Ang library na ito ay ang pagpapatuloy ng aking mga aklatan ng ITDB02_Graph, ITDB02_Graph16 at RGB_GLCD para sa Arduino at chipKit. Tulad ng bilang ng mga sinusuportahang modyul sa pagpapakita at mga kontroler na nagsimulang tumaas nadama ko na oras na upang gumawa ng isang solong, unibersal na silid-aklatan sapagkat mas madaling mapanatili sa hinaharap.
Ang Arduino MEGA ay may 256kb ng memorya ng programa. Bilang karagdagan, mayroong 54 na mga pin.
Karamihan sa kanila ay malayang gamitin, at ang analog na 5 lamang ay kinuha mula sa 16.
Sinusuportahan ng library na ito ang isang bilang ng 8bit, 16bit, at mga serial graphic display, at gagana sa parehong Arduino, chipKit boards at piliin ang TI LaunchPads.
TANDAAN: Dahil sa laki ng library hindi ko inirerekumenda ang paggamit nito sa ATmega328 (Arduino Uno) at ATmega32U4 (Arduino Leonardo) dahil mayroon lamang silang 32KB ng flash memory. Gagana ito, ngunit malubhang malilimitahan ka sa magagamit na flash memory para sa iyong aplikasyon
Mga hakbang
- I-download ang UTFT Library
- I-unzip ang Library
- Buksan ang UTFT / hardware / avr sa kaso ng Arduino o depende sa ginamit na microcontroller
- Buksan ang HW_AVR_defines gamit ang Notepad
- Uncomment Line 7 upang paganahin ang UNO kalasag para sa MEGA
- I-save ang file at Idagdag ang Library na ito sa Arduino IDE
Tapos na kami sa hakbang na ito! Sa susunod na hakbang, ipapakita ko na gamitin ang library at tukuyin ang mga pin para sa Arduino Mega.
Hakbang 3: Inisialisa ang TFT Shield
Pagkatapos i-edit ang library, Idagdag ito sa direktoryo ng Arduino.
Susunod, ipapakita ko sa iyo kung paano tukuyin ang tamang module ng TFT na mayroon ka
dapat nating makita ang pangalan ng modyul nito sa silid-aklatan.
- buksan ang file ng library
- pumunta sa dokumentasyon
Maaari mong makita ang mga file na ito sa Dokumentasyon
• UTFT:
Ipinapakita ng file na ito ang lahat ng mga pagpapaandar at utos na kasama sa library na ito.
• UTFT_Requiring
Ang file na ito ay may impormasyon tungkol sa mga module at kung paano ito nauugnay sa library, tulad ng mga pagsasaayos ng mga pin
• UTFT_Supported_display_modules _ & _ controller
Ito ang aming target, ang file na ito ay may mga pangalan ng mga module at kalasag na sinusuportahan ng library na ito, maaari mong makita dito ang isang listahan ng mga pangalan ng module at mga pangalan ng module para sa UTFT na dapat mong gamitin upang tukuyin ang iyong module.
Mga Hakbang upang Tukuyin ang TFT:
Buksan ang UTFT_Supported_display_modules _ & _ file ng controller mula sa silid-aklatan
- Buksan ang UTFT_Supported_display_modules _ & _ file ng controller mula sa library
- Hanapin ang Mga Modelong para sa UTFT para sa Mga Modyul (kalasag) na mayroon ka.
- Ngayon upang tukuyin ang isang pagpapaandar ng UTFT sa Arduino IDE, ginagamit namin ang utos:
Pangalan ng UTFT (module, Rs, Wr, Cs, Rst);
Buksan ang UTFT_Requiring file mula sa library
Mula sa dokumento, alam namin na ang mga pin ay matatagpuan sa mga A5, A4, A3, at A2 na mga pin.
ginagamit namin ang utos:
UTFT myGLCD (ITDB28, 19, 18, 17, 16); # tandaan na ang mga pin na 19, 18, 17, 16 sa Arduino Mega
UTFT myGLCD (ITDB28, A5, A4, A3, A2); # tandaan na pin ang A5, A4, A3, A2 sa Arduino UNO
At tapos na! Maaari mo nang magamit ang mga halimbawa ng library sa Arduino IDE sa mga Sumusunod na pagbabago.
Hakbang 4: Pangunahing Hello World
#include // Ideklara kung aling mga font ang gagamitin namin
extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Tandaan na baguhin ang parameter ng modelo upang umangkop sa iyong display module! UTFT myGLCD (ITDB28, A5, A4, A3, A2); void setup () {myGLCD. InitLCD (); myGLCD.clrScr (); myGLCD.setFont (BigFont); } void loop () {myGLCD.setColor (0, 255, 0); // green myGLCD.print ("HELLO WORLD", 45, 100); habang (totoo) {}; }
Hakbang 5: Mga UTFT Font
#include // Ideklara kung aling mga font ang gagamitin namin
extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Itakda ang mga pin sa mga tamang tama para sa iyong kalasag sa pag-unlad // ----------------------------------- ----------------- // Arduino Uno / 2009: // ---------------- --- // Standard Arduino Uno / 2009 kalasag:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT kalasag:, A5, A4, A3, A2 // // Arduino Mega: // ----- -------------- // Standard Arduino Mega / Takdang kalasag:, 38, 39, 40, 41 // CTE TFT LCD / SD Shield para sa Arduino Mega:, 38, 39, 40, 41 // // Tandaan na baguhin ang parameter ng modelo upang umangkop sa iyong module ng pagpapakita! 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:;? ", CENTER, 16); myGLCD.print (" @ ABCDEFGHIJKLMNO ", CENTER, 32); myGLCD.print (" PQRSTUVWXYZ ^ _ ", CENTER, 48); myGLCD.print (" "abcdefghijklmno", CENTER, 64); myGLCD.print ("pqrstuvwxyz ~ ", CENTER, 80); myGLCD.setFont (SmallFont); myGLCD.print ("! / "# $% & '() * +, -. / 0123456789:;?", CENTER, 120); myGLCD.print ("@ ABCDEFGHIJKLMNOPQRSTUVWXYZ ^ _", CENTER, 132); myGLCD.print ("` abcdefghijklmnopqrstuvwxyz {|} ~ ", CENTER, 144); myGLCD.setFont (SevenSegNumFont); myGLCD.print ("0123456789", CENTER, 190); habang (1) {}; }
Hakbang 6: Mga UTFT na Hugis, Linya at pattern
# isama ang "UTFT.h" // Ideklara kung aling mga font ang gagamitin namin sa labas uint8_t SmallFont ; // Itakda ang mga pin sa mga tama para sa iyong kalasag sa pag-unlad // ---------------- -------------------------------------------- // Arduino Uno / 2009: // ----------------- // Standard Arduino Uno / 2009 kalasag:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT na kalasag:, A5, A4, A3, A2 // // Arduino Mega: // ----------------- // Standard Arduino Mega / Takdang kalasag:, 38, 39, 40, 41 // CTE TFT LCD / SD Shield para sa Arduino Mega:, 38, 39, 40, 41 // // Tandaan na baguhin ang parameter ng modelo upang umangkop sa iyong display module! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); void setup () {randomSeed (analogRead (0)); // Setup the LCD myGLCD. InitLCD (); myGLCD.setFont (SmallFont); }
walang bisa loop ()
{int buf [318]; int x, x2; int y, y2; int r; // I-clear ang screen at iguhit ang frame 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 ("* Universal Color TFT Display Library *", CENTER, 1); myGLCD.setBackColor (64, 64, 64); myGLCD.setColor (255, 255, 0); myGLCD.print ("", CENTER, 227); myGLCD.setColor (0, 0, 255); myGLCD.drawRect (0, 14, 319, 225); // Gumuhit ng mga crosshair myGLCD.setColor (0, 0, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.drawLine (159, 15, 159, 224); myGLCD.drawLine (1, 119, 318, 119); para sa (int i = 9; i <310; i + = 10) myGLCD.drawLine (i, 117, i, 121); para sa (int i = 19; i <220; i + = 10) myGLCD.drawLine (157, i, 161, i); // Gumuhit ng sin-, cos- at tan-lines myGLCD.setColor (0, 255, 255); myGLCD.print ("Sin", 5, 15); para sa (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); para sa (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); para sa (int i = 1; i <318; i ++) {myGLCD.drawPixel (i, 119+ (tan (((i * 1.13) * 3.14) / 180))); } pagkaantala (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); // Gumuhit ng isang gumagalaw na sinewave x = 1; para sa (int i = 1; i319) {kung ((x == 159) || (buf [x-1] == 119)) myGLCD.setColor (0, 0, 255); kung hindi man myGLCD.setColor (0, 0, 0); myGLCD.drawPixel (x, buf [x-1]); } myGLCD.setColor (0, 255, 255); y = 119 + (kasalanan (((i * 1.1) * 3.14) / 180) * (90- (i / 100))); myGLCD.drawPixel (x, y); buf [x-1] = y; } pagkaantala (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Gumuhit ng ilang mga pinuno na parihaba para sa (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255); pahinga; kaso 2: myGLCD.setColor (255, 0, 0); pahinga; kaso 3: myGLCD.setColor (0, 255, 0); pahinga; kaso 4: myGLCD.setColor (0, 0, 255); pahinga; kaso 5: myGLCD.setColor (255, 255, 0); pahinga; } myGLCD.fillRect (70+ (i * 20), 30+ (i * 20), 130+ (i * 20), 90+ (i * 20)); } pagkaantala (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Gumuhit ng ilang puno, bilugan na mga parihaba para sa (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255); pahinga; kaso 2: myGLCD.setColor (255, 0, 0); pahinga; kaso 3: myGLCD.setColor (0, 255, 0); pahinga; kaso 4: myGLCD.setColor (0, 0, 255); pahinga; kaso 5: myGLCD.setColor (255, 255, 0); pahinga; } myGLCD.fillRoundRect (190- (i * 20), 30+ (i * 20), 250- (i * 20), 90+ (i * 20)); } pagkaantala (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Gumuhit ng ilang mga napunan na bilog para sa (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255); pahinga; kaso 2: myGLCD.setColor (255, 0, 0); pahinga; kaso 3: myGLCD.setColor (0, 255, 0); pahinga; kaso 4: myGLCD.setColor (0, 0, 255); pahinga; kaso 5: myGLCD.setColor (255, 255, 0); pahinga; } myGLCD.fillCircle (100+ (i * 20), 60+ (i * 20), 30); } pagkaantala (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Gumuhit ng ilang mga linya sa isang pattern na myGLCD.setColor (255, 0, 0); para sa (int i = 15; i <224; i + = 5) {myGLCD.drawLine (1, i, (i * 1.44) -10, 224); } myGLCD.setColor (255, 0, 0); para sa (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (318, i, (i * 1.44) -11, 15); } myGLCD.setColor (0, 255, 255); para sa (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (1, i, 331- (i * 1.44), 15); } myGLCD.setColor (0, 255, 255); para sa (int i = 15; i <224; i + = 5) {myGLCD.drawLine (318, i, 330- (i * 1.44), 224); } pagkaantala (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Gumuhit ng ilang mga random na bilog para sa (int i = 0; i <100; i ++) {myGLCD.setColor (random (255), random (255), random (255)); x = 32 + random (256); y = 45 + random (146); r = random (30); myGLCD.drawCircle (x, y, r); } pagkaantala (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Gumuhit ng ilang mga random na parihaba para sa (int i = 0; i <100; i ++) {myGLCD.setColor (random (255), random (255), random (255)); x = 2 + random (316); y = 16 + random (207); x2 = 2 + random (316); y2 = 16 + random (207); myGLCD.drawRect (x, y, x2, y2); } pagkaantala (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Gumuhit ng ilang mga random na bilugan na parihaba para sa (int i = 0; i <100; i ++) {myGLCD.setColor (random (255), random (255), random (255)); x = 2 + random (316); y = 16 + random (207); x2 = 2 + random (316); y2 = 16 + random (207); myGLCD.drawRoundRect (x, y, x2, y2); } pagkaantala (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); para sa (int i = 0; i <100; i ++) {myGLCD.setColor (random (255), random (255), random (255)); x = 2 + random (316); y = 16 + random (209); x2 = 2 + random (316); y2 = 16 + random (209); myGLCD.drawLine (x, y, x2, y2); } pagkaantala (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); para sa (int i = 0; i <10000; i ++) {myGLCD.setColor (random (255), random (255), random (255)); myGLCD.drawPixel (2 + random (316), 16 + random (209)); } pagkaantala (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 ("Iyon lang!", CENTER, 93); myGLCD.print ("Pag-restart sa isang", CENTER, 119); myGLCD.print ("ilang segundo …", CENTER, 132); myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 255); myGLCD.print ("Runtime: (msecs)", CENTER, 210); myGLCD.printNumI (millis (), CENTER, 225); pagkaantala (10000); }
Hakbang 7: UTFT Bitmap
# isama
#include // Ideklara kung aling mga font ang gagamitin namin extern uint8_t SmallFont ; // Itakda ang mga pin sa tamang mga para sa iyong kalasag sa pag-unlad // ---------------- ------------------------------------------ // Arduino Uno / 2009: / / ----------------- // Standard Arduino Uno / 2009 kalasag:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT kalasag:, A5, A4, A3, A2 // // Arduino Mega: // ----------------- // Standard Arduino Mega / Takdang kalasag:, 38, 39, 40, 41 // CTE TFT LCD / SD Shield para sa Arduino Mega:, 38, 39, 40, 41 // // Tandaan na baguhin ang parameter ng modelo upang umangkop sa iyong display module! UTFT myGLCD (ITDB32S, A5, A4, A3, A2); extern unsigned int info [0x400]; extern unsigned int icon [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 ("*** Isang 10 by 7 grid ng isang 32x32 icon ***", CENTER, 228); para sa (int x = 0; x <10; x ++) para sa (int y = 0; y <7; y ++) myGLCD.drawBitmap (x * 32, y * 32, 32, 32, impormasyon); pagkaantala (5000); myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("Dalawang magkakaibang mga icon sa scale 1 hanggang 4", CENTER, 228); int x = 0; para sa (int s = 0; s0; s--) {myGLCD.drawBitmap (x, 224- (s * 32), 32, 32, icon, s); x + = (s * 32); } pagkaantala (5000); }
Hakbang 8: Pag-interface ng Button
#include #include // Initialize display // ------------------ // Itakda ang mga pin sa tamang mga para sa iyong development board // ------- ---- - // Standard Arduino Uno / 2009 Shield:, 19, 18, 17, 16 // Standard Arduino Mega / Takdang kalasag:, 38, 39, 40, 41 // CTE TFT LCD / SD Shield para sa Arduino Dahil:, 25, 26, 27, 28 // Teensy 3.x TFT Test Board:, 23, 22, 3, 4 // ElecHouse TFT LCD / SD Shield para sa Arduino Dahil:, 22, 23, 31, 33 // // Tandaan na baguhin ang parameter ng modelo upang umangkop sa iyong display module! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); // Pinasimulan ang touchscreen // ----------------- // Itakda ang mga pin sa tama mga para sa iyong development board // ---------------- // Standard Arduino Uno / 2009 Shield: 15, 10, 14, 9, 8 // Standard Arduino Mega / Takdang kalasag: 6, 5, 4, 3, 2 // CTE TFT LCD / SD Shield para sa Arduino Dahil: 6, 5, 4, 3, 2 // Teensy 3.x TFT Test Board: 26, 31, 27, 28, 29 // ElecHouse TFT LCD / SD Shield para sa Arduino Dahil: 25, 26, 27, 29, 30 // URTouch myTouch (6, 5, 4, 3, 2); // Ipahayag kung aling mga font ang gagamitin namin ng extern uint8_t BigFont ; int x, y; char stCurrent [20] = ""; int stCurrentLen = 0; char stLast [20] = ""; / ***** *****, 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); } // Iguhit ang gitnang hilera ng mga pindutan para sa (x = 0; x <5; x ++) {myGLCD.setColor (0, 0, 255); 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); kung (x <4) myGLCD.printNumI (x + 6, 27+ (x * 60), 87); } myGLCD.print ("0", 267, 87); // Iguhit ang ibabang hilera ng mga pindutan myGLCD.setColor (0, 0, 255); myGLCD.fillRoundRect (10, 130, 150, 180); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (10, 130, 150, 180); myGLCD.print ("Malinaw", 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) {para sa (x = 0; x
Hakbang 9: Flappy Bird
#include #include #include // ==== Paglikha ng Mga Bagay UTFT myGLCD (SSD1289, 38, 39, 40, 41); // Parameter dapat ayusin sa iyong modelo ng Display / Schield UTouch myTouch (6, 5, 4, 3, 2); // ==== Ang pagtukoy ng mga Font extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; extern unsigned int bird01 [0x41A]; // Bird Bitmapint x, y; // Variable para sa mga coordinate kung saan ang display ay na-press // Floppy Bird int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int iskor = 0; int lastSpeedUpScore = 0; int pinakamataas naScore; boolean screenPressed = false; boolean gameStarted = false; void setup () {// Initiate display myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); pinakamataas naScore = EEPROM.read (0); // Basahin ang pinakamataas na iskor mula sa EEPROM initiateGame (); // Initiate the game} void loop () {xP = xP-movingRate; // xP - x coordinate ng pilars; saklaw: 319 - (-51) drawPilars (xP, yP); // Gumuhit ang mga haligi // yB - y coordinate ng ibon na nakasalalay sa halaga ng fallRate variable na yB + = fallRateInt; fallRate = fallRate + 0.4; // Ang bawat pagpasok ng pagtaas ng rate ng pagkahulog upang maaari naming ang epekto ng pagpapabilis / gravity fallRateInt = int (fallRate); // Checks for collision if (yB> = 180 || yB <= 0) {// top and bottom gameOver (); } kung ((xP = 5) && (yB <= yP-2)) {// itaas na haligi ng laroOver (); } kung ((xP = 5) && (yB> = yP + 60)) {// lower game gameOver (); } // Nakaguhit ang bird drawBird (yB); // Matapos ang poste ay dumaan sa screen kung (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); } iba pa kung (x pinakamataas naScore) {highestScore = iskor; EEPROM.write (0, pinakamataas naScore); } // I-reset ang mga variable upang simulan ang mga halaga ng posisyon xP = 319; yB = 50; fallRate = 0; puntos = 0; lastSpeedUpScore = 0; gumagalawRate = 3; gameStarted = false; // Restart game initiateGame (); }
Hakbang 10: Paggawa ng Proyekto
Mahahanap mo ang source code sa aking Github na imbakan.
Link:
Magbigay ng isang thumbs up kung nakatulong talaga ito sa iyo at sundin ang aking channel para sa mga kagiliw-giliw na proyekto:)
Ibahagi ang video na ito kung nais mo.
Maligaya na nag-subscribe ka:
Salamat sa pagbabasa!
Inirerekumendang:
Mga Soldering Surface Mount Component - Mga Pangunahing Kaalaman sa Paghinang: 9 Mga Hakbang (na may Mga Larawan)
Mga Soldering Surface Mount Component | Mga Pangunahing Kaalaman sa Paghinang: Sa ngayon sa aking Serye ng Mga Pangunahing Kaalaman sa Soldering, tinalakay ko ang sapat na mga pangunahing kaalaman tungkol sa paghihinang para masimulan mong magsanay. Sa Ituturo na ito kung ano ang tatalakayin ko ay medyo mas advanced, ngunit ito ay ilan sa mga pangunahing kaalaman para sa paghihinang sa Surface Mount Compo
Paghihinang Sa Pamamagitan ng Mga Bahagi ng Hole - Mga Pangunahing Kaalaman sa Paghinang: 8 Hakbang (na may Mga Larawan)
Paghihinang Sa Pamamagitan ng Mga Bahagi ng Hole | Mga Pangunahing Kaalaman sa Paghinang: Sa Maituturo na Ito Magtatalakay ako ng ilang mga pangunahing kaalaman tungkol sa mga soldering through-hole na bahagi sa mga circuit board. Ipagpapalagay ko na nasuri mo na ang unang 2 Mga Tagubilin para sa aking seryeng Mga Panghinang na Pangunahing Kaalaman. Kung hindi mo pa nasuri ang aking In
Mga Maliliit na H-Bridge Driver - Mga Pangunahing Kaalaman: 6 na Hakbang (na may Mga Larawan)
Mga Maliliit na H-Bridge Driver | Mga Pangunahing Kaalaman: Kumusta at maligayang pagdating pabalik sa isa pang maituturo! Sa nakaraang isa, ipinakita ko sa iyo kung paano ako gumawa ng mga coil sa KiCad gamit ang isang script ng sawa. Pagkatapos ay nilikha ko at sinubukan ang ilang mga pagkakaiba-iba ng mga coil upang makita kung alin ang pinakamahusay na gumagana. Ang aking hangarin ay palitan ang malaking
Interfacing Pushbutton - Mga Pangunahing Kaalaman sa Arduino: 3 Mga Hakbang
Interfacing Pushbutton - Mga Pangunahing Kaalaman sa Arduino: Ang pushbutton ay isang bahagi na nag-uugnay sa dalawang puntos sa isang circuit kapag pinindot mo ito. Kapag ang pushbutton ay bukas (hindi naka-compress) walang koneksyon sa pagitan ng dalawang binti ng pushbutton, kaya ang pin ay konektado sa 5 volts (sa pamamagitan ng pull-up resi
Program Pro-mini Paggamit ng Uno (Mga Pangunahing Kaalaman sa Arduino): 7 Mga Hakbang (na may Mga Larawan)
Program Pro-mini Paggamit ng Uno (Mga Pangunahing Kaalaman sa Arduino): Hai lahat, Sa itinuturo na ito nais kong ibahagi sa iyo ang aking karanasan sa aking kamakailang biniling Arduino pro-mini at kung paano ko na-upload ang code dito sa unang pagkakataon, gamit ang aking ang lumang Arduino Uno. Angrduino pro-mini ay may mga sumusunod na tampok: Ito ay