Sisukord:
- 1. samm: nõuded riistvarale ja tarkvarale
- 2. samm: UTFT Libi muutmine
- 3. samm: TFT -kilbi lähtestamine
- Samm 4: Basic Hello World
- Samm: UTFT -fondid
- 6. samm: UTFT -vormid, jooned ja mustrid
- 7. samm: UTFT -bitikaart
- 8. samm: nuppude liidestamine
- 9. samm: Flappy Bird
- 10. samm: projekti töötamine
Video: Arduino TFT liidese põhitõed: 10 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
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
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
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
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
#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
#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
#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
#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
#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
#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:
Liidese HMC5883L kompassianduri õpetus Arduinoga: 10 sammu (piltidega)
HMC5883L liidese õpetus Arduinoga: Kirjeldus HMC5883L on 3-teljeline digitaalne kompass, mida kasutatakse kahel üldotstarbel: magnetilise materjali, näiteks ferromagneti, magnetiseerimise mõõtmiseks või tugevuse ja mõnel juhul ka suuna mõõtmiseks. magnetväli punktis s
Liidese nupp - Arduino põhitõed: 3 sammu
Liidese nupp - Arduino põhitõed: Nupp on komponent, mis ühendab selle vajutamisel ahela kaks punkti. Kui nupp on avatud (vajutamata), ei ole surunupu kahe jala vahel ühendust, nii et tihvt on ühendatud 5 -ga Voltid (ülestõmbejõu kaudu
Liigutuskull: käsitsi liigutatav robot pilditöötluspõhise liidese abil: 13 sammu (piltidega)
Gesture Hawk: käsitsi liigutatav robot pilditöötluspõhise liidese abil: Gesture Hawki tutvustati TechEvince 4.0-s lihtsa pilditöötluspõhise inimese ja masina liidesena. Selle kasulikkus seisneb selles, et erinevatel autodel töötava robotauto juhtimiseks ei ole vaja täiendavaid andureid ega kanda, välja arvatud kinnas
RGB Led WS2812B liidese õpetus Arduino UNO -ga: 7 sammu (piltidega)
RGB Led WS2812B liidese õpetus koos Arduino UNO -ga: see õpetus õpetab teile mõningaid põhitõdesid Sparkfun RGB Led WS2812B kasutamise kohta koos Arduino UNO -ga
Liidese õpetus 0,91 tolli 128x32 Arduino UNO -ga: 7 sammu (piltidega)
Õpetus liidese OLED 0,91 tolli 128x32 kasutamiseks Arduino UNO -ga: see õpetus õpetab teile mõningaid põhitõdesid OLED 0,91 -tollise LCD128x32 kasutamise kohta koos Arduino UNO -ga