Sisukord:

Arduino TFT liidese põhitõed: 10 sammu (piltidega)
Arduino TFT liidese põhitõed: 10 sammu (piltidega)

Video: Arduino TFT liidese põhitõed: 10 sammu (piltidega)

Video: Arduino TFT liidese põhitõed: 10 sammu (piltidega)
Video: MKS Gen L - Marlin 1 1 9 (configuration.h) 2024, Juuli
Anonim
Arduino TFT liidese põhitõed
Arduino TFT liidese põhitõed

TFT puuteekraanid on hämmastav graafiline liides, mida saab kasutada selliste mikrokontrolleritega nagu Atmel, PIC, STM, kuna sellel on lai värvivalik, hea graafiline võime ja pikslite hea kaardistamine.

Täna läheme Arduinoga liidesesse 2,4 -tolline TFT LCD -kilp.

See kilp on mõeldud Arduino UNO -le, kuid ma õpetan seda kasutama koos Arduino Mega väga loogilisel põhjusel - "Programmi mälu".

Seda värvilist TFT LCD -ekraani kasutades saame värvilisel TFT -LCD -l näidata märke, stringe, nuppude liideseid, bitikaardipilte jne.

1. samm: nõuded riistvarale ja tarkvarale

Nõuded riistvarale ja tarkvarale
Nõuded riistvarale ja tarkvarale
Nõuded riistvarale ja tarkvarale
Nõuded riistvarale ja tarkvarale

Kilbi liidese loomiseks Arduino megaga vajame järgmist.

RIISTVARA:

• Arduino mega

• TFT 2,4/2,8/3,2 -tolline LCD

• USB -kaabel

TARKVARA

• Arduino IDE

• UTFT raamatukogu / spfd5408 raamatukogu

Shield on algselt valmistatud Arduino UNO plaatide jaoks, mida saab kasutada koos Arduino megaga.

Arduino UNO -ga kasutamisel on kaks peamist probleemi: "mälumälu" ja tihvtide kasutamine.

UNO -s saadaolevaid kasutamata tihvte on raske kasutada, samas kui see on parem Arduino MEGA puhul, kuna meil on rohkem sisend-/väljundnõelu alles.

Järgmises etapis näitan, kuidas muuta UTFT -teeki TFT -kilbi kasutamiseks

2. samm: UTFT Libi muutmine

UTFT libi muutmine
UTFT libi muutmine

See raamatukogu on minu Arduino ja chipKiti raamatukogude ITDB02_Graph, ITDB02_Graph16 ja RGB_GLCD jätk. Kui toetatud kuvamoodulite ja kontrollerite arv hakkas suurenema, tundsin, et on aeg luua üks universaalne raamatukogu, kuna seda on tulevikus palju lihtsam hooldada.

Arduino MEGA -l on 256 kb programmmälu. Lisaks on 54 tihvti.

Enamikku neist saab tasuta kasutada ja ainult 5 analoogi võetakse 16 -st.

See teek toetab mitut 8 -bitist, 16 -bitist ja seeriagraafikat ning töötab nii Arduino, chipKiti tahvlite kui ka valitud TI LaunchPadidega.

MÄRKUS. Raamatukogu suuruse tõttu ei soovita ma seda kasutada ATmega328 (Arduino Uno) ja ATmega32U4 (Arduino Leonardo) seadmetes, kuna neil on ainult 32 KB välkmälu. See töötab, kuid teie rakenduse jaoks saadaval olev välkmälu on väga piiratud

Sammud

  • Laadige alla UTFT raamatukogu
  • Pakkige raamatukogu lahti
  • Avage UTFT / hardware / avr Arduino korral või sõltuvalt kasutatavast mikrokontrollerist
  • Avage Notebooki abil HW_AVR_defines
  • Eemaldage rida 7, et lubada UNO kilp MEGA jaoks
  • Salvestage fail ja lisage see kogu Arduino IDE -sse

Nüüd oleme selle sammuga valmis! Järgmise sammuna näitan, kuidas kasutada kogu ja määrata Arduino Mega tihvtid.

3. samm: TFT -kilbi lähtestamine

TFT -kilbi initsialiseerimine
TFT -kilbi initsialiseerimine

Pärast kogu muutmist lisage see Arduino kataloogi.

Järgmisena näitan teile, kuidas määratleda õige TFT -moodul, mis teil on

peaksime selle mooduli nime teegist leidma.

  • avage raamatukogu fail
  • minge dokumentatsiooni juurde

Neid faile näete dokumentatsioonis

• UTFT:

See fail näitab kõiki selles raamatukogus sisalduvaid funktsioone ja käske.

• UTFT_Nõue

See fail sisaldab teavet moodulite ja selle kohta, kuidas see on teekiga seotud, näiteks tihvtide konfiguratsioonid

• UTFT_Supported_display_modules _ & _ kontroller

See on meie sihtmärk, sellel failil on moodulite ja kilpide nimed, mida see raamatukogu toetab, näete selles UTFT moodulite nimede ja moodulite nimede loendit, mida peaksite oma mooduli määratlemiseks kasutama.

TFT määratlemise sammud:

Avage teegist kontrollerifail UTFT_Supported_display_modules _ & _

  • Avage teegist kontrollerifail UTFT_Supported_display_modules _ & _
  • Leidke olemasolevate moodulite (kilp) UTFT mudelid.
  • Nüüd, et Arduino IDE -s UTFT -funktsiooni määratleda, kasutame käsku:

UTFT nimi (moodul, Rs, Wr, Cs, Rst);

Avage teegist fail UTFT_Requirement

Dokumendist teame, et tihvtid asuvad A5, A4, A3 ja A2 tihvtidel.

kasutame käsku:

UTFT myGLCD (ITDB28, 19, 18, 17, 16); # pange tähele, et Arduino Mega tihvtid 19, 18, 17, 16

UTFT myGLCD (ITDB28, A5, A4, A3, A2); # pange tähele, et Arduino UNO tihvtid A5, A4, A3, A2

Ja tehtud! Nüüd saate kasutada Arduino IDE raamatukogu näiteid järgmiste muudatustega.

Samm 4: Basic Hello World

Põhiline Tere maailm
Põhiline Tere maailm

#include // Määrake, milliseid fonte kasutame

extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Ärge unustage muuta mudeli parameetrit vastavalt oma kuvamoodulile! UTFT myGLCD (ITDB28, A5, A4, A3, A2); void setup () {myGLCD. InitLCD (); myGLCD.clrScr (); myGLCD.setFont (BigFont); } void loop () {myGLCD.setColor (0, 255, 0); // roheline myGLCD.print ("HELLO WORLD", 45, 100); while (tõsi) {}; }

Samm: UTFT -fondid

UTFT -fondid
UTFT -fondid

#include // Määrake, milliseid fonte kasutame

extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Seadke tihvtid oma arengukilbi jaoks õigeks // ----------------------------------- ------------------------- // Arduino Uno / 2009: // ---------------- --- // Standardne Arduino Uno/2009 kilp:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT shield:, A5, A4, A3, A2 // Arduino Mega: // ----- -------------- // Standard Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD Shield for Arduino Mega:, 38, 39, 40, 41 // // Pidage meeles, et muutke mudeli parameetrit vastavalt oma ekraanimoodulile! 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 ("pqrs }www ~ ", CENTER, 80); myGLCD.setFont (SmallFont); myGLCD.print ("! / "#$%& '()*+, -./0123456789:;?", CENTER, 120); myGLCD.print ("@ABCDEFGHIJKLMNOPQRSTUVWXYZ ^_", KESKUS, 132); myGLCD.print ("` abcdefghijklmnopqrstuvwxyz {|} ~ ", CENTER, 144); myGLCD.setFont (SevenSegNumFont); myGLCD.print ("0123456789", CENTER, 190); samas (1) {}; }

6. samm: UTFT -vormid, jooned ja mustrid

UTFT kujud, jooned ja mustrid
UTFT kujud, jooned ja mustrid

#include "UTFT.h" // Kuulutage, milliseid fonte hakkame kasutama ---------------------------------------------- // Arduino Uno / 2009: // ------------------- // Standardne Arduino Uno/ 2009 kilp:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT kilp:, A5, A4, A3, A2 // Arduino Mega: // ------------------- // Standardne Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD kilp Arduino Mega jaoks:, 38, 39, 40, 41 // // Ärge unustage muuta mudeli parameetrit vastavalt oma ekraanimoodulile! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); void setup () {randomSeed (analogRead (0)); // LCD seadistamine myGLCD. InitLCD (); myGLCD.setFont (SmallFont); }

tühine tsükkel ()

{int buf [318]; int x, x2; int y, y2; int r; // Kustuta ekraan ja joonista raam 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 (" * Universaalne värviline TFT -ekraaniteek *", 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); // Joonista ristandid myGLCD.setColor (0, 0, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.drawLine (159, 15, 159, 224); myGLCD.drawLine (1, 119, 318, 119); (int i = 9; i <310; i+= 10) jaoks myGLCD.drawLine (i, 117, i, 121); for (int i = 19; i <220; i+= 10) myGLCD.drawLine (157, i, 161, i); // Joonista sin-, cos- ja tan-read myGLCD.setColor (0, 255, 255); myGLCD.print ("Patt", 5, 15); (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); jaoks (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); jaoks (int i = 1; i <318; i ++) {myGLCD.drawPixel (i, 119+ (tan (((i*1,13)*3,14)/180))); } viivitus (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); // Joonista liikuva siinuslaine x = 1; jaoks (int i = 1; i319) {if ((x == 159) || (buf [x-1] == 119)) myGLCD.setColor (0, 0, 255); muidu myGLCD.setColor (0, 0, 0); myGLCD.drawPixel (x, buf [x-1]); } myGLCD.setColor (0, 255, 255); y = 119+(sin ((((i*1,1)*3,14) / 180)*(90- (i / 100))); myGLCD.drawPixel (x, y); buf [x-1] = y; } viivitus (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Joonista mõned täidetud ristkülikud (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255)); murda; juhtum 2: myGLCD.setColor (255, 0, 0); murda; juhtum 3: myGLCD.setColor (0, 255, 0); murda; juhtum 4: myGLCD.setColor (0, 0, 255); murda; juhtum 5: myGLCD.setColor (255, 255, 0); murda; } myGLCD.fillRect (70+ (i*20), 30+ (i*20), 130+ (i*20), 90+ (i*20)); } viivitus (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Joonista mõned täidetud ümarad ristkülikud (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255); murda; juhtum 2: myGLCD.setColor (255, 0, 0); murda; juhtum 3: myGLCD.setColor (0, 255, 0); murda; juhtum 4: myGLCD.setColor (0, 0, 255); murda; juhtum 5: myGLCD.setColor (255, 255, 0); murda; } myGLCD.fillRoundRect (190- (i*20), 30+ (i*20), 250- (i*20), 90+ (i*20)); } viivitus (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Joonista mõned täidetud ringid (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255)); murda; juhtum 2: myGLCD.setColor (255, 0, 0); murda; juhtum 3: myGLCD.setColor (0, 255, 0); murda; juhtum 4: myGLCD.setColor (0, 0, 255); murda; juhtum 5: myGLCD.setColor (255, 255, 0); murda; } myGLCD.fillCircle (100+ (i*20), 60+ (i*20), 30); } viivitus (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Joonista mustrile mõned jooned myGLCD.setColor (255, 0, 0); (int i = 15; i <224; i+= 5) {myGLCD.drawLine (1, i, (i*1,44) -10, 224); } myGLCD.setColor (255, 0, 0); (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (318, i, (i*1,44) -11, 15); } myGLCD.setColor (0, 255, 255); jaoks (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (1, i, 331- (i*1,44), 15); } myGLCD.setColor (0, 255, 255); jaoks (int i = 15; i <224; i+= 5) {myGLCD.drawLine (318, i, 330- (i*1,44), 224); } viivitus (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Joonista mõned juhuslikud ringid (int i = 0; i <100; i ++) {myGLCD.setColor (juhuslik (255), juhuslik (255), juhuslik (255))); x = 32+juhuslik (256); y = 45+juhuslik (146); r = juhuslik (30); myGLCD.drawCircle (x, y, r); } viivitus (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Joonista mõned juhuslikud ristkülikud (int i = 0; i <100; i ++) {myGLCD.setColor (juhuslik (255), juhuslik (255), juhuslik (255))); x = 2+juhuslik (316); y = 16+juhuslik (207); x2 = 2+juhuslik (316); y2 = 16+juhuslik (207); myGLCD.drawRect (x, y, x2, y2); } viivitus (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Joonista mõned juhuslikult ümardatud ristkülikud (int i = 0; i <100; i ++) {myGLCD.setColor (juhuslik (255), juhuslik (255), juhuslik (255)); x = 2+juhuslik (316); y = 16+juhuslik (207); x2 = 2+juhuslik (316); y2 = 16+juhuslik (207); myGLCD.drawRoundRect (x, y, x2, y2); } viivitus (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); jaoks (int i = 0; i <100; i ++) {myGLCD.setColor (juhuslik (255), juhuslik (255), juhuslik (255)); x = 2+juhuslik (316); y = 16+juhuslik (209); x2 = 2+juhuslik (316); y2 = 16+juhuslik (209); myGLCD.drawLine (x, y, x2, y2); } viivitus (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); jaoks (int i = 0; i <10000; i ++) {myGLCD.setColor (juhuslik (255), juhuslik (255), juhuslik (255)); myGLCD.drawPixel (2+juhuslikku (316), 16+juhuslikku (209)); } viivitus (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 ("See on kõik!", CENTER, 93); myGLCD.print ("Restarting in a", CENTER, 119); myGLCD.print ("paar sekundit…", CENTER, 132); myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 255); myGLCD.print ("Käitusaeg: (ms)", CENTER, 210); myGLCD.printNumI (millis (), CENTER, 225); viivitus (10000); }

7. samm: UTFT -bitikaart

UTFT Bitmap
UTFT Bitmap

#kaasake

#include // Deklareeri, milliseid fonte kasutame extern uint8_t SmallFont ; // Määra nööpnõelad oma arenduskilbi jaoks õigeks // ------------------ ------------------------------------------ // Arduino Uno / 2009: / / ------------------- // Standardne Arduino Uno/ 2009 kilp:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT-kilp:, A5, A4, A3, A2 // Arduino Mega: // ------------------- // Standardne Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD kilp Arduino Mega jaoks:, 38, 39, 40, 41 // // Ärge unustage muuta mudeli parameetrit vastavalt oma ekraanimoodulile! UTFT myGLCD (ITDB32S, A5, A4, A3, A2); väline allkirjastamata int info [0x400]; extern allkirjastamata int ikoon [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 ruudustik 32x32 ikooni ***", CENTER, 228); (int x = 0; x <10; x ++) jaoks (int y = 0; y <7; y ++) myGLCD.drawBitmap (x*32, y*32, 32, 32, info); viivitus (5000); myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("Kaks erinevat ikooni skaalal 1 kuni 4", CENTER, 228); int x = 0; jaoks (int s = 0; s0; s--) {myGLCD.drawBitmap (x, 224- (s*32), 32, 32, ikoon, s); x+= (s*32); } viivitus (5000); }

8. samm: nuppude liidestamine

Nuppude liides
Nuppude liides

#include #include // Displei initsialiseerimine // ------------------ // Määrake nööpnõelad oma arendusplaadi jaoks õigeks // ------- -------------------------------------------------- - // Standard Arduino Uno/2009 Shield:, 19, 18, 17, 16 // Standard Arduino Mega/Due shield:, 38, 39, 40, 41 // CTE TFT LCD/SD Shield for Arduino Due:, 25, 26, 27, 28 // Teensy 3.x TFT testplaat:, 23, 22, 3, 4 // ElecHouse TFT LCD/SD kilp Arduino jaoks Tähtaeg:, 22, 23, 31, 33 // // Pidage meeles muutke mudeli parameetrit vastavalt oma ekraanimoodulile! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); // Puuteekraani initsialiseerimine // ---------------------- // Seadistage tihvtid õigeks need teie arendusnõukogule // ------------------------------------------- ---------------- // Standard Arduino Uno/2009 Shield: 15, 10, 14, 9, 8 // Standard Arduino Mega/Due kilp: 6, 5, 4, 3, 2 // CTE TFT LCD/SD kilp Arduino jaoks Tähtaeg: 6, 5, 4, 3, 2 // Teensy 3.x TFT testplaat: 26, 31, 27, 28, 29 // ElecHouse TFT LCD/SD kilp Arduino tähtaeg: 25, 26, 27, 29, 30 // URTouch myTouch (6, 5, 4, 3, 2); // kuulutage välja, milliseid fonte kasutame extern uint8_t BigFont ; int x, y; char stCurrent [20] = ""; int stCurrentLen = 0; char stLast [20] = "";/************************* ** Kohandatud funktsioonid ** ********* ****************/void drawButtons () {// Joonista nuppude ülemine rida (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); } // Joonista nuppude keskmine rida (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); kui (x <4) myGLCD.printNumI (x+6, 27+ (x*60), 87); } myGLCD.print ("0", 267, 87); // Joonista nuppude alumine rida myGLCD.setColor (0, 0, 255); myGLCD.fillRoundRect (10, 130, 150, 180); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (10, 130, 150, 180); myGLCD.print ("Selge", 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); } tühine 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) {jaoks (x = 0; x

9. samm: Flappy Bird

Flappy Bird
Flappy Bird

#include #include #include // ==== Objektide loomine UTFT myGLCD (SSD1289, 38, 39, 40, 41); // Parameetrid tuleks kohandada teie Display/Schield mudeli järgi UTouch myTouch (6, 5, 4, 3, 2); // ==== Fontide määratlemine extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; extern allkirjastamata int bird01 [0x41A]; // Lindude Bitmapint x, y; // Koordinaatide muutujad, kus ekraani on vajutatud // Floppy Bird int xP = 319; int yP = 100; int yB = 50; int moveRate = 3; int fallRateInt = 0; float fallRate = 0; int skoor = 0; int lastSpeedUpScore = 0; int kõrgeim tulemus; boolean screenPressed = vale; boolean gameStarted = false; void setup () {// Alusta kuvamist myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); kõrgeim tulemus = EEPROM.read (0); // Kõrgeima punktisumma lugemine EEPROM -ist initiateGame (); // Mängu algatamine} void loop () {xP = xP-moveRate; // xP - pilaaride x koordinaat; vahemik: 319 - (-51) drawPilars (xP, yP); // Joonistab sambad // linnu yB - y koordinaat, mis sõltub langeva kiiruse muutuja väärtusest yB+= fallRateInt; fallRate = languskiirus+0,4; // Iga sissetungimise korral langeb kukkumiskiirus nii, et saaksime kiirenduse/ gravitatsiooni languse mõjuRateInt = int (fallRate); // Kontrollib kokkupõrget, kui (yB> = 180 || yB <= 0) {// ülemine ja alumine mängOver (); } if ((xP = 5) && (yB <= yP-2)) {// ülemise samba mängOver (); } if ((xP = 5) && (yB> = yP+60)) {// alumise samba mängOver (); } // Joonistab linnu drawBird (yB); // Kui sammas on ekraani läbinud, kui (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); } muu kui (x kõrgeim tulemus) {kõrgeim tulemus = skoor; EEPROM.write (0, kõrgeim tulemus); } // Lähtestab muutujad lähtepositsiooni väärtusteks xP = 319; yB = 50; fallRate = 0; skoor = 0; lastSpeedUpScore = 0; liikuv kiirus = 3; gameStarted = vale; // Taaskäivitage mäng initiateGame (); }

10. samm: projekti töötamine

Lähtekoodi leiate minu Githubi hoidlast.

Link:

Pane pöidlad püsti, kui see sind tõepoolest aitas, ja jälgi minu kanalit huvitavate projektide jaoks:)

Kui soovite, jagage seda videot.

Hea meel, et tellisite:

Täname lugemise eest!

Soovitan: