INHOUDSOPGAWE:
- Stap 1: Vereistes vir hardeware en sagteware
- Stap 2: Aanpassing van UTFT Lib
- Stap 3: Initialiseer die TFT -skild
- Stap 4: Basiese Hello World
- Stap 5: UTFT -lettertipes
- Stap 6: UTFT -vorms, lyne en patrone
- Stap 7: UTFT -bitmap
- Stap 8: Knoppie -koppelvlak
- Stap 9: Flappy Bird
- Stap 10: Werk van die projek
Video: Arduino TFT Interfacing Basics: 10 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
TFT -raakskerms is die wonderlike grafiese koppelvlak wat gebruik kan word met mikrobeheerders soos Atmel, PIC, STM, aangesien dit 'n wye kleurreeks het, 'n goeie grafiese vermoë en 'n goeie kartering van pixels.
Vandag gaan ons na 'n 2.4 -duim TFT LCD -skerm met Arduino.
Hierdie skild is vir Arduino UNO, maar ek sal leer om dit met Arduino Mega te gebruik om 'n baie logiese rede, die 'Programgeheue'.
Deur hierdie kleur TFT LCD -skild te gebruik, kan ons karakters, snare, knoppie -koppelvlak, bitmap -beelde, ens op die kleur TFT LCD wys.
Stap 1: Vereistes vir hardeware en sagteware
Om die skerm -koppelvlak met die Arduino mega te maak, benodig ons die volgende.
HARDWARE:
• Arduino mega
• TFT 2,4/2,8/3,2 duim LCD
• USB -kabel
SAGTEWARE
• Arduino IDE
• UTFT -biblioteek / spfd5408 -biblioteek
Die skild is oorspronklik gemaak vir die Arduino UNO -borde, wat saam met Arduino mega gebruik kan word.
Daar is twee hoofkwessies tydens die gebruik daarvan met die Arduino UNO: 'Stoorgeheue' en gebruik van penne.
Dit is moeilik om die ongebruikte penne wat op UNO beskikbaar is, te gebruik, terwyl dit beter is met Arduino MEGA, aangesien ons meer I/O -penne oor het.
In die volgende stap sal ek wys hoe u die UTFT -biblioteek kan wysig om die TFT -skild te gebruik
Stap 2: Aanpassing van UTFT Lib
Hierdie biblioteek is die voortsetting van my ITDB02_Graph-, ITDB02_Graph16- en RGB_GLCD -biblioteke vir Arduino en chipKit. Namate die aantal ondersteunde skermmodules en beheerders toeneem, het ek gevoel dat dit tyd is om 'n enkele universele biblioteek te maak, aangesien dit in die toekoms baie makliker sal wees om dit te onderhou.
Arduino MEGA het 256 kb programgeheue. Daarbenewens is daar 54 penne.
Die meeste van hulle is gratis om te gebruik, en die analoog van slegs 5 is geneem uit 16.
Hierdie biblioteek ondersteun 'n aantal 8bit-, 16bit- en seriële grafiese skerms, en werk met beide Arduino-, chipKit -borde en uitgesoekte TI LaunchPads.
OPMERKING: As gevolg van die grootte van die biblioteek, beveel ek dit nie aan om dit op ATmega328 (Arduino Uno) en ATmega32U4 (Arduino Leonardo) te gebruik nie, aangesien dit slegs 32KB flitsgeheue het. Dit sal werk, maar u sal die beskikbare flitsgeheue vir u toepassing ernstig beperk
Stappe
- Laai die UTFT -biblioteek af
- Pak die biblioteek uit
- Maak UTFT / hardware / avr oop in die geval van Arduino of afhangende van die mikrobeheerder wat gebruik word
- Maak HW_AVR_defines oop met Notepad
- Los kommentaarlyn 7 op om UNO -skild vir MEGA moontlik te maak
- Stoor die lêer en voeg hierdie biblioteek by Arduino IDE
Nou is ons klaar met hierdie stap! In die volgende stap sal ek wys hoe u die biblioteek gebruik en die penne vir Arduino Mega definieer.
Stap 3: Initialiseer die TFT -skild
Nadat u die biblioteek gewysig het, voeg dit by die Arduino -gids.
Vervolgens gaan ek u wys hoe u die regte TFT -module kan definieer
ons moet die module se naam in die biblioteek vind.
- maak die biblioteeklêer oop
- gaan na die dokumentasie
U kan hierdie lêers in die dokumentasie sien
• UTFT:
Hierdie lêer toon al die funksies en opdragte wat in hierdie biblioteek ingesluit is.
• UTFT_Vereiste
Hierdie lêer bevat inligting oor die modules en hoe dit met die biblioteek verband hou, soos penkonfigurasies
• UTFT_Supported_display_modules _ & _ kontroleerder
Dit is ons doelwit; hierdie lêer het die name van die modules en skilde wat deur hierdie biblioteek ondersteun word; u kan daarin 'n lys met module name en module name vir die UTFT sien wat u moet gebruik om u module te definieer.
Stappe om die TFT te definieer:
Maak die lêer UTFT_Supported_display_modules _ & _ van die biblioteek oop
- Maak die lêer UTFT_Supported_display_modules _ & _ van die biblioteek oop
- Vind die UTFT -modelle vir die modules (skild) wat u het.
- Om 'n UTFT -funksie op die Arduino IDE te definieer, gebruik ons die opdrag:
UTFT -naam (module, Rs, Wr, Cs, Rst);
Maak UTFT_Requirement -lêer uit die biblioteek oop
Uit die dokument weet ons dat die penne op die A5-, A4-, A3- en A2 -penne geleë is.
ons gebruik die opdrag:
UTFT myGLCD (ITDB28, 19, 18, 17, 16); # let op dat penne 19, 18, 17, 16 in die Arduino Mega is
UTFT myGLCD (ITDB28, A5, A4, A3, A2); # let op die penne A5, A4, A3, A2 in die Arduino UNO
En klaar! Nou kan u die biblioteekvoorbeelde op die Arduino IDE gebruik met die volgende veranderinge.
Stap 4: Basiese Hello World
#include // Verklaar watter lettertipes ons gaan gebruik
eksterne uint8_t BigFont ; ekstern uint8_t SevenSegNumFont ; // Onthou om die modelparameter te verander om by u vertoonmodule te pas! UTFT myGLCD (ITDB28, A5, A4, A3, A2); ongeldige opstelling () {myGLCD. InitLCD (); myGLCD.clrScr (); myGLCD.setFont (BigFont); } leemte lus () {myGLCD.setColor (0, 255, 0); // groen myGLCD.print ("HELLO WORLD", 45, 100); terwyl (waar) {}; }
Stap 5: UTFT -lettertipes
#include // Verklaar watter lettertipes ons gaan gebruik
eksterne uint8_t SmallFont ; eksterne uint8_t BigFont ; ekstern uint8_t SevenSegNumFont ; // Stel die penne in die korrekte penne vir u ontwikkelingsskerm // ----------------------------------- ------------------------- // Arduino Uno / 2009: // ---------------- --- // Standaard Arduino Uno/2009-skild:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT-skild:, 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 // // Onthou om die modelparameter te verander wat by u vertoonmodule pas! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); ongeldige opstelling () {myGLCD. InitLCD () myGLCD.clrScr (); } leemte lus () {myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print ("! \"#$%& '()*+, -./", CENTRE, 0); myGLCD.print (" 0123456789:;? ", CENTER, 16); myGLCD.print ("@ ABCDEFGHIJKLMNO ", CENTRE, 32); myGLCD.print (" PQRSTUVWXYZ ^_ ", CENTER, 48); myGLCD.print (" `abcdefghijklmno", CENTER, 64); myGLCD.print ("pqrstuvwxyz {| ~ ", CENTRE, 80); myGLCD.setFont (SmallFont); myGLCD.print ("! / "#$%& '()*+, -./0123456789:;?", CENTER, 120); myGLCD.print ("@ABCDEFGHIJKLMNOPQRSTUVWXYZ ^_", CENTRE, 132); myGLCD.print ("` `abcdefghijklmnopqrstuvwxyz {|} ~", CENTRE, 144); myGLCD.setFont (SevenSegNumFont); myGLCD.print ("0123456789", CENTRE, 190); terwyl (1) {}; }
Stap 6: UTFT -vorms, lyne en patrone
#sluit "UTFT.h" in // Verklaar watter lettertipes ons gaan gebruik; uint8_t SmallFont ; // Stel die penne op die regte letters vir u ontwikkelingsskerm // -------------- ---------------------------------------------- // Arduino Uno / 2009: // ------------------- // Standard Arduino Uno/ 2009 shield:, 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 -skild vir Arduino Mega:, 38, 39, 40, 41 // // Onthou om die modelparameter te verander om by u vertoonmodule te pas! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); ongeldige opstelling () {randomSeed (analogRead (0)); // Stel die LCD myGLCD. InitLCD () op; myGLCD.setFont (SmallFont); }
leemte lus ()
{int buf [318]; int x, x2; int y, y2; int r; // Maak die skerm skoon en teken die 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 (" * Universal Color TFT Display Library *", CENTRE, 1); myGLCD.setBackColor (64, 64, 64); myGLCD.setColor (255, 255, 0); myGLCD.print ("", CENTRE, 227); myGLCD.setColor (0, 0, 255); myGLCD.drawRect (0, 14, 319, 225); // Teken syhare myGLCD.setColor (0, 0, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.drawLine (159, 15, 159, 224); myGLCD.drawLine (1, 119, 318, 119); vir (int i = 9; i <310; i+= 10) myGLCD.drawLine (i, 117, i, 121); vir (int i = 19; i <220; i+= 10) myGLCD.drawLine (157, i, 161, i); // Teken sin-, cos- en tan-lyne myGLCD.setColor (0, 255, 255); myGLCD.print ("Sonde", 5, 15); vir (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); vir (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); vir (int i = 1; i <318; i ++) {myGLCD.drawPixel (i, 119+ (tan (((i*1.13)*3.14)/180))); } vertraging (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); // Teken 'n bewegende sinusgolf x = 1; vir (int i = 1; i319) {if ((x == 159) || (buf [x-1] == 119)) myGLCD.setColor (0, 0, 255); anders 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; } vertraging (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Teken 'n paar gevulde reghoeke vir (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255); breek; geval 2: myGLCD.setColor (255, 0, 0); breek; geval 3: myGLCD.setColor (0, 255, 0); breek; geval 4: myGLCD.setColor (0, 0, 255); breek; saak 5: myGLCD.setColor (255, 255, 0); breek; } myGLCD.fillRect (70+ (i*20), 30+ (i*20), 130+ (i*20), 90+ (i*20)); } vertraging (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Teken 'n paar gevulde, afgeronde reghoeke vir (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255); breek; geval 2: myGLCD.setColor (255, 0, 0); breek; geval 3: myGLCD.setColor (0, 255, 0); breek; geval 4: myGLCD.setColor (0, 0, 255); breek; saak 5: myGLCD.setColor (255, 255, 0); breek; } myGLCD.fillRoundRect (190- (i*20), 30+ (i*20), 250- (i*20), 90+ (i*20)); } vertraging (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Teken 'n paar gevulde sirkels vir (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255); breek; geval 2: myGLCD.setColor (255, 0, 0); breek; geval 3: myGLCD.setColor (0, 255, 0); breek; geval 4: myGLCD.setColor (0, 0, 255); breek; saak 5: myGLCD.setColor (255, 255, 0); breek; } myGLCD.fillCircle (100+ (i*20), 60+ (i*20), 30); } vertraging (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Trek 'n paar lyne in 'n patroon myGLCD.setColor (255, 0, 0); vir (int i = 15; i <224; i+= 5) {myGLCD.drawLine (1, i, (i*1.44) -10, 224); } myGLCD.setColor (255, 0, 0); vir (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (318, i, (i*1.44) -11, 15); } myGLCD.setColor (0, 255, 255); vir (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (1, i, 331- (i*1.44), 15); } myGLCD.setColor (0, 255, 255); vir (int i = 15; i <224; i+= 5) {myGLCD.drawLine (318, i, 330- (i*1.44), 224); } vertraging (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Teken 'n paar ewekansige sirkels vir (int i = 0; i <100; i ++) {myGLCD.setColor (random (255), random (255), random (255))); x = 32+ewekansig (256); y = 45+ewekansig (146); r = ewekansig (30); myGLCD.drawCircle (x, y, r); } vertraging (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Teken 'n paar ewekansige reghoeke vir (int i = 0; i <100; i ++) {myGLCD.setColor (random (255), random (255), random (255))); x = 2+ewekansig (316); y = 16+ewekansig (207); x2 = 2+ewekansig (316); y2 = 16+ewekansig (207); myGLCD.drawRect (x, y, x2, y2); } vertraging (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Teken 'n paar ewekansige afgeronde reghoeke vir (int i = 0; i <100; i ++) {myGLCD.setColor (random (255), random (255), random (255)); x = 2+ewekansig (316); y = 16+ewekansig (207); x2 = 2+ewekansig (316); y2 = 16+ewekansig (207); myGLCD.drawRoundRect (x, y, x2, y2); } vertraging (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); vir (int i = 0; i <100; i ++) {myGLCD.setColor (random (255), random (255), random (255)); x = 2+ewekansig (316); y = 16+ewekansig (209); x2 = 2+ewekansig (316); y2 = 16+ewekansig (209); myGLCD.drawLine (x, y, x2, y2); } vertraging (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); vir (int i = 0; i <10000; i ++) {myGLCD.setColor (random (255), random (255), random (255)); myGLCD.drawPixel (2+random (316), 16+random (209)); } vertraging (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 ("Dit is dit!", CENTRE, 93); myGLCD.print ("Herbegin in a", CENTRE, 119); myGLCD.print ("'n paar sekondes …", CENTRE, 132); myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 255); myGLCD.print ("Runtime: (msecs)", CENTER, 210); myGLCD.printNumI (millis (), CENTRE, 225); vertraging (10000); }
Stap 7: UTFT -bitmap
#insluit
#include // Gee aan watter lettertipes ons eksterne uint8_t SmallFont sal gebruik; // Stel die penne op die regte lettertipes vir u ontwikkelingsskerm // ------------------ ------------------------------------------ // Arduino Uno / 2009: / / ------------------- // Standard Arduino Uno/ 2009 shield:, 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 -skild vir Arduino Mega:, 38, 39, 40, 41 // // Onthou om die modelparameter te verander om by u vertoonmodule te pas! UTFT myGLCD (ITDB32S, A5, A4, A3, A2); eksterne ongetekende int -inligting [0x400]; eksterne ongetekende int -ikoon [0x400]; eksterne ongetekende int tux [0x400]; ongeldige opstelling () {myGLCD. InitLCD (); myGLCD.setFont (SmallFont); } leemte -lus () {myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("*** 'n 10 by 7 rooster van 'n 32x32 ikoon ***", CENTRE, 228); vir (int x = 0; x <10; x ++) vir (int y = 0; y <7; y ++) myGLCD.drawBitmap (x*32, y*32, 32, 32, info); vertraging (5000); myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("Twee verskillende ikone in skaal 1 tot 4", CENTRE, 228); int x = 0; vir (int s = 0; s0; s--) {myGLCD.drawBitmap (x, 224- (s*32), 32, 32, ikoon, s); x+= (s*32); } vertraging (5000); }
Stap 8: Knoppie -koppelvlak
#include #include // Initialize display // ------------------ // Stel die penne in die korrekte penne vir u ontwikkelingsbord // ------- -------------------------------------------------- - // 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 -toetsbord:, 23, 22, 3, 4 // ElecHouse TFT LCD/SD -skild vir Arduino Due:, 22, 23, 31, 33 // // Onthou om verander die modelparameter om by u vertoonmodule te pas! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); // Initialiseer raakskerm // ---------------------- // Stel die penne in die regte dié vir u ontwikkelingsbord // ------------------------------------------- ---------------- // Standard Arduino Uno/2009 Shield: 15, 10, 14, 9, 8 // Standard Arduino Mega/Due shield: 6, 5, 4, 3, 2 // CTE TFT LCD/SD -skild vir Arduino Due: 6, 5, 4, 3, 2 // Teensy 3.x TFT -toetsbord: 26, 31, 27, 28, 29 // ElecHouse TFT LCD/SD Shield vir Arduino Due: 25, 26, 27, 29, 30 // URTouch myTouch (6, 5, 4, 3, 2); // Gee aan watter lettertipes ons eksterne uint8_t BigFont ; int x, y; char stCurrent [20] = ""; int stCurrentLen = 0; char stLast [20] = "";/************************* ** Pasgemaakte funksies ** ********* *****************/void drawButtons () {// Teken die boonste ry knoppies vir (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); } // Teken die middelste ry knoppies vir (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); as (x <4) myGLCD.printNumI (x+6, 27+ (x*60), 87); } myGLCD.print ("0", 267, 87); // Teken die onderste ry knoppies myGLCD.setColor (0, 0, 255); myGLCD.fillRoundRect (10, 130, 150, 180); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (10, 130, 150, 180); myGLCD.print ("Clear", 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) {vir (x = 0; x
Stap 9: Flappy Bird
#include #include #include // ==== Objects UTFT myGLCD (SSD1289, 38, 39, 40, 41) skep; // Parameters moet aangepas word by u Display/Schield -model UTouch myTouch (6, 5, 4, 3, 2); // ==== Definiëring van lettertipes extern uint8_t SmallFont ; eksterne uint8_t BigFont ; ekstern uint8_t SevenSegNumFont ; eksterne ongetekende int bird01 [0x41A]; // Voël Bitmapint x, y; // Veranderlikes vir die koördinate waar die vertoning ingedruk is // Floppy Bird int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int telling = 0; int lastSpeedUpScore = 0; int hoogste telling; boolean screenPressed = false; boolean gameStarted = false; leemte -opstelling () {// Begin vertoning myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); hoogste telling = EEPROM.read (0); // Lees die hoogste telling van die EEPROM initiateGame (); // Begin die spel} leemte-lus () {xP = xP-movingRate; // xP - x koördinaat van die pilare; reeks: 319 - (-51) drawPilars (xP, yP); // Teken die pilare // yB - y koördinaat van die voël wat afhang van die waarde van die veranderende fallRate yB+= fallRateInt; fallRate = fallRate+0.4; // Elke invoer styg die daling, sodat ons die effek van versnelling/ swaartekrag kan inslaan fallRateInt = int (fallRate); // Kontroleer op botsing as (yB> = 180 || yB <= 0) {// bo en onder gameOver (); } as ((xP = 5) && (yB <= yP-2)) {// boonste pilaar gameOver (); } as ((xP = 5) && (yB> = yP+60)) {// onderste pilaar gameOver (); } // Teken die voël drawBird (yB); // Nadat die pilaar deur die skerm gegaan het as (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); } anders as (x hoogste telling) {hoogste telling = telling; EEPROM.write (0, hoogste telling); } // Stel die veranderlikes terug om posisiewaardes te begin xP = 319; yB = 50; valkoers = 0; telling = 0; lastSpeedUpScore = 0; bewegende koers = 3; gameStarted = vals; // Herbegin spel initiateGame (); }
Stap 10: Werk van die projek
U kan die bronkode vind in my Github -bewaarplek.
Skakel:
Duim vas as dit jou werklik gehelp het en volg my kanaal vir interessante projekte:)
Deel hierdie video as u wil.
Gelukkig dat u ingeteken is:
Dankie vir die lees!
Aanbeveel:
Interfacing Brushless DC Motor (BLDC) met Arduino: 4 stappe (met foto's)
Interfacing Brushless DC Motor (BLDC) Met Arduino: Dit is 'n handleiding oor hoe u 'n Brushless DC -motor met Arduino kan koppel en bestuur. As u enige vrae of kommentaar het, antwoord dan in die kommentaar of per e -pos aan rautmithil [at] gmail [dot] com. U kan ook op Twitter met my in verbinding tree @mithilraut.To
Hoe om 'n intydse klok te maak met Arduino en TFT -skerm - Arduino Mega RTC met 3,5 duim TFT -skerm: 4 stappe
Hoe om 'n intydse horlosie te maak met behulp van Arduino en TFT-skerm | Arduino Mega RTC met 3,5 duim TFT-skerm: Besoek my Youtube-kanaal 2560 en DS3231 RTC-module … .Voordat u begin … kyk na die video van my YouTube-kanaal..Let op:- As u Arduin gebruik
Interfacing 7-segment vertoning met Shift Register met behulp van CloudX Microcontroller: 5 stappe
Koppel 7-segment vertoning met skofregister met behulp van CloudX Microcontroller: In hierdie projek publiseer ons 'n handleiding oor hoe om sewe segment LED-skerms met CloudX-mikrobeheerder te koppel. Sewe segmentskerms word gebruik in baie ingeboude stelsel- en industriële toepassings, waar die omvang van die uitsette te kenne kry
Program Pro-mini met Uno (Basics Arduino): 7 stappe (met foto's)
Program Pro-mini met behulp van Uno (Arduino Basics): Haai almal, in hierdie instruksies wil ek u my ervaring deel met my onlangs gekoopte Arduino pro-mini en hoe ek dit reggekry het om die kode vir die eerste keer daarheen te laai, met behulp van my ou Arduino Uno.Arduino pro-mini het die volgende funksies: Dit is i
Breadboard Basics vir absolute beginners: 10 stappe (met foto's)
Breadboard Basics for Absolute Beginners: Die doel van hierdie instruksies is nie om u 'n volledige gids oor broodbord te gee nie, maar om die basiese beginsels te wys, en sodra hierdie basiese beginsels geleer is, weet u omtrent alles wat u nodig het, so ek dink u kan dit 'n volledige noem gids, maar in 'n ander sin. Enige