Sadržaj:
- Korak 1: Zahtjevi hardvera i softvera
- Korak 2: Podešavanje UTFT Lib
- Korak 3: Inicijalizacija TFT štita
- Korak 4: Osnovni Hello World
- Korak 5: UTFT fontovi
- Korak 6: UTFT oblici, linije i uzorak
- Korak 7: UTFT bitmapa
- Korak 8: Povezivanje gumba
- Korak 9: Flappy Bird
- Korak 10: Rad na projektu
Video: Osnove Arduino TFT sučelja: 10 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
TFT zasloni osjetljivi na dodir nevjerojatno su grafičko sučelje koje se može koristiti s mikrokontrolerima poput Atmela, PIC -a, STM -a, jer ima širok raspon boja, dobre grafičke sposobnosti i dobro mapiranje piksela.
Danas idemo na sučelje 2,4 -inčni TFT LCD štit s Arduinom.
Ovaj štit je za Arduino UNO, ali naučit ću ga koristiti s Arduino Mega iz vrlo logičnog razloga, "Memorija programa".
Korištenjem ovog TFT LCD ekrana u boji možemo prikazati znakove, nizove, povezivanje gumba, bitmap slike itd. Na TFT LCD u boji.
Korak 1: Zahtjevi hardvera i softvera
Za izradu sučelja štita s Arduino mega, potrebno nam je sljedeće.
HARDVER:
• Arduino mega
• TFT LCD zaslon od 2,4/2,8/3,2 inča
• USB kabl
SOFTVER
• Arduino IDE
• UTFT knjižnica / spfd5408 Knjižnica
Štit je izvorno napravljen za Arduino UNO ploče, koje se mogu koristiti s Arduino mega.
Postoje dva glavna problema tijekom korištenja s Arduino UNO: "Memorija za pohranu" i upotreba pinova.
Teško je koristiti neiskorištene pinove koji su dostupni na UNO -u, dok je bolje s Arduino MEGA -om jer nam je ostalo još I/O pinova.
U sljedećem koraku pokazat ću kako urediti UTFT knjižnicu za korištenje TFT štita
Korak 2: Podešavanje UTFT Lib
Ova je knjižnica nastavak mojih knjižnica ITDB02_Graph, ITDB02_Graph16 i RGB_GLCD za Arduino i chipKit. Kako se broj podržanih ekranskih modula i kontrolera počeo povećavati, osjetio sam da je vrijeme za izradu jedinstvene, univerzalne knjižnice jer će je u budućnosti biti mnogo lakše održavati.
Arduino MEGA ima 256 KB programske memorije. Osim toga, postoje 54 igle.
Većina njih je besplatna za upotrebu, a analognih samo 5 uzeto je iz 16.
Ova knjižnica podržava brojne 8 -bitne, 16 -bitne i serijske grafičke zaslone te će raditi s Arduino, chipKit pločama i odabranim TI LaunchPad -ovima.
NAPOMENA: Zbog veličine knjižnice ne preporučujem je na ATmega328 (Arduino Uno) i ATmega32U4 (Arduino Leonardo) jer imaju samo 32 KB flash memorije. Radit će, ali bit ćete jako ograničeni u dostupnoj flash memoriji za svoju aplikaciju
Koraci
- Preuzmite UTFT knjižnicu
- Raspakirajte biblioteku
- Otvorite UTFT / hardware / avr u slučaju Arduina ili ovisno o korištenom mikrokontroleru
- Otvorite HW_AVR_defines pomoću Notepada
- Uncomment Line 7 za omogućavanje UNO štita za MEGA -u
- Spremite datoteku i dodajte ovu knjižnicu u Arduino IDE
Sada smo završili s ovim korakom! U sljedećem koraku pokazat ću korištenje biblioteke i definirati pinove za Arduino Mega.
Korak 3: Inicijalizacija TFT štita
Nakon uređivanja biblioteke, dodajte je u direktorij Arduino.
Zatim ću vam pokazati kako definirati pravi TFT modul koji imate
trebali bismo pronaći njegov naziv modula u knjižnici.
- otvorite datoteku knjižnice
- idite na dokumentaciju
Ove datoteke možete vidjeti u Dokumentaciji
• UTFT:
Ova datoteka prikazuje sve funkcije i naredbe uključene u ovu biblioteku.
• UTFT_Zahtjev
Ova datoteka sadrži informacije o modulima i njihovom odnosu s knjižnicom, poput konfiguracija pinova
• UTFT_Supported_display_modules _ & _ kontroler
Ovo je naš cilj, ova datoteka ima nazive modula i štitova koje podržava ova knjižnica, u njoj možete vidjeti popis naziva modula i naziva modula za UTFT koje biste trebali koristiti za definiranje vašeg modula.
Koraci za definiranje TFT -a:
Otvorite datoteku kontrolera UTFT_Supported_display_modules _ & _ kontrolera iz biblioteke
- Otvorite datoteku kontrolera UTFT_Supported_display_modules _ & _ kontrolera iz biblioteke
- Pronađite modele za UTFT za module (štit) koje imate.
- Sada za definiranje UTFT funkcije na Arduino IDE -u koristimo naredbu:
UTFT naziv (modul, Rs, Wr, Cs, Rst);
Otvorite datoteku UTFT_Requirement iz biblioteke
Iz dokumenta znamo da se igle nalaze na iglama A5, A4, A3 i A2.
koristimo naredbu:
UTFT myGLCD (ITDB28, 19, 18, 17, 16); # imajte na umu da pinovi 19, 18, 17, 16 u Arduino Mega
UTFT myGLCD (ITDB28, A5, A4, A3, A2); # imajte na umu da pinovi A5, A4, A3, A2 u Arduino UNO
I gotovo! Sada možete koristiti primjere knjižnice na Arduino IDE -u sa sljedećim promjenama.
Korak 4: Osnovni Hello World
#include // Deklarirajte koje ćemo fontove koristiti
vanjski uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Ne zaboravite promijeniti parametar modela koji odgovara vašem modulu zaslona! UTFT myGLCD (ITDB28, A5, A4, A3, A2); void setup () {myGLCD. InitLCD (); myGLCD.clrScr (); myGLCD.setFont (BigFont); } void loop () {myGLCD.setColor (0, 255, 0); // zelena myGLCD.print ("HELLO WORLD", 45, 100); while (istina) {}; }
Korak 5: UTFT fontovi
#include // Deklarirajte koje ćemo fontove koristiti
extern uint8_t SmallFont ; vanjski uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Postavite pinove na ispravne za svoj razvojni štit // ----------------------------------- ------------------------- // Arduino Uno / 2009: // ---------------- --- // Standardni Arduino Uno/2009 štit:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT štit:, A5, A4, A3, A2 // // Arduino Mega: // ----- -------------- // Standardni Arduino Mega/Due štit:, 38, 39, 40, 41 // CTE TFT LCD/SD štit za Arduino Mega:, 38, 39, 40, 41 // // Ne zaboravite promijeniti parametar modela koji odgovara vašem modulu zaslona! 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 ("! \"#$%& '()*+, -./", CENTAR, 0); myGLCD.print (" 0123456789:;? ", CENTAR, 16); myGLCD.print ("@ ABCDEFGHIJKLMNO ", CENTAR, 32); myGLCD.print (" PQRSTUVWXYZ ^_ ", CENTAR, 48); myGLCD.print (" `abcdefghijklmno", CENTAR, 64); myGLCD.print ("pqrstuvwxyz ~ ", CENTAR, 80); myGLCD.setFont (SmallFont); myGLCD.print ("! / "#$%& '()*+, -./0123456789:;?", CENTAR, 120); myGLCD.print ("@ABCDEFGHIJKLMNOPQRSTUVWXYZ ^_", CENTAR, 132); myGLCD.print ("` abcdefghijklmnopqrstuvwxyz {|} ~ ", CENTAR, 144); myGLCD.setFont (SevenSegNumFont); myGLCD.print ("0123456789", CENTAR, 190); while (1) {}; }
Korak 6: UTFT oblici, linije i uzorak
#include "UTFT.h" // Deklarirajte koje ćemo fontove koristitiextern uint8_t SmallFont ; // Postavite pinove na ispravne za vaš razvojni štit // -------------- ---------------------------------------------- // Arduino Uno / 2009: // ------------------- // Standardni Arduino Uno/ 2009 štit:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT štit:, A5, A4, A3, A2 // // Arduino Mega: // ------------------- // Standardni Arduino Mega/Due štit:, 38, 39, 40, 41 // CTE TFT LCD/SD štit za Arduino Mega:, 38, 39, 40, 41 // // Ne zaboravite promijeniti parametar modela koji odgovara vašem modulu zaslona! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); void setup () {randomSeed (analogRead (0)); // Postavljanje LCD myGLCD. InitLCD (); myGLCD.setFont (SmallFont); }
void loop ()
{int buf [318]; int x, x2; int y, y2; int r; // Očistite zaslon i nacrtajte okvir 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 (" * Univerzalna biblioteka TFT zaslona u boji *", CENTAR, 1); myGLCD.setBackColor (64, 64, 64); myGLCD.setColor (255, 255, 0); myGLCD.print ("", CENTAR, 227); myGLCD.setColor (0, 0, 255); myGLCD.drawRect (0, 14, 319, 225); // Nacrtaj nišan myGLCD.setColor (0, 0, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.drawLine (159, 15, 159, 224); myGLCD.drawLine (1, 119, 318, 119); za (int i = 9; i <310; i+= 10) myGLCD.drawLine (i, 117, i, 121); for (int i = 19; i <220; i+= 10) myGLCD.drawLine (157, i, 161, i); // Nacrtaj sin-, cos- i tan-linije myGLCD.setColor (0, 255, 255); myGLCD.print ("Sin", 5, 15); za (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); za (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); za (int i = 1; i <318; i ++) {myGLCD.drawPixel (i, 119+ (tan (((i*1,13)*3,14)/180))); } kašnjenje (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); // Nacrtajte pokretni sinusni val x = 1; za (int i = 1; i319) {if ((x == 159) || (buf [x-1] == 119)) myGLCD.setColor (0, 0, 255); else 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; } kašnjenje (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nacrtajte neke ispunjene pravokutnike za (int i = 1; i <6; i ++) {switch (i) {slučaj 1: myGLCD.setColor (255, 0, 255); pauza; slučaj 2: myGLCD.setColor (255, 0, 0); pauza; slučaj 3: myGLCD.setColor (0, 255, 0); pauza; slučaj 4: myGLCD.setColor (0, 0, 255); pauza; slučaj 5: myGLCD.setColor (255, 255, 0); pauza; } myGLCD.fillRect (70+ (i*20), 30+ (i*20), 130+ (i*20), 90+ (i*20)); } kašnjenje (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nacrtajte neke ispunjene, zaobljene pravokutnike za (int i = 1; i <6; i ++) {switch (i) {slučaj 1: myGLCD.setColor (255, 0, 255); pauza; slučaj 2: myGLCD.setColor (255, 0, 0); pauza; slučaj 3: myGLCD.setColor (0, 255, 0); pauza; slučaj 4: myGLCD.setColor (0, 0, 255); pauza; slučaj 5: myGLCD.setColor (255, 255, 0); pauza; } myGLCD.fillRoundRect (190- (i*20), 30+ (i*20), 250- (i*20), 90+ (i*20)); } kašnjenje (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nacrtajte neke ispunjene krugove za (int i = 1; i <6; i ++) {switch (i) {slučaj 1: myGLCD.setColor (255, 0, 255); pauza; slučaj 2: myGLCD.setColor (255, 0, 0); pauza; slučaj 3: myGLCD.setColor (0, 255, 0); pauza; slučaj 4: myGLCD.setColor (0, 0, 255); pauza; slučaj 5: myGLCD.setColor (255, 255, 0); pauza; } myGLCD.fillCircle (100+ (i*20), 60+ (i*20), 30); } kašnjenje (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nacrtajte neke linije u uzorku myGLCD.setColor (255, 0, 0); za (int i = 15; i <224; i+= 5) {myGLCD.drawLine (1, i, (i*1,44) -10, 224); } myGLCD.setColor (255, 0, 0); za (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (318, i, (i*1,44) -11, 15); } myGLCD.setColor (0, 255, 255); za (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (1, i, 331- (i*1,44), 15); } myGLCD.setColor (0, 255, 255); za (int i = 15; i <224; i+= 5) {myGLCD.drawLine (318, i, 330- (i*1,44), 224); } kašnjenje (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nacrtajte neke slučajne krugove za (int i = 0; i <100; i ++) {myGLCD.setColor (slučajno (255), slučajno (255), slučajno (255)); x = 32+slučajno (256); y = 45+slučajno (146); r = slučajno (30); myGLCD.drawCircle (x, y, r); } kašnjenje (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nacrtajte neke slučajne pravokutnike za (int i = 0; i <100; i ++) {myGLCD.setColor (slučajno (255), slučajno (255), slučajno (255)); x = 2+slučajno (316); y = 16+slučajno (207); x2 = 2+slučajno (316); y2 = 16+slučajno (207); myGLCD.drawRect (x, y, x2, y2); } kašnjenje (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nacrtajte nasumične zaobljene pravokutnike za (int i = 0; i <100; i ++) {myGLCD.setColor (slučajno (255), nasumično (255), slučajno (255)); x = 2+slučajno (316); y = 16+slučajno (207); x2 = 2+slučajno (316); y2 = 16+slučajno (207); myGLCD.drawRoundRect (x, y, x2, y2); } kašnjenje (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); za (int i = 0; i <100; i ++) {myGLCD.setColor (slučajno (255), slučajno (255), slučajno (255)); x = 2+slučajno (316); y = 16+slučajno (209); x2 = 2+slučajno (316); y2 = 16+slučajno (209); myGLCD.drawLine (x, y, x2, y2); } kašnjenje (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); za (int i = 0; i <10000; i ++) {myGLCD.setColor (slučajno (255), slučajno (255), slučajno (255)); myGLCD.drawPixel (2+slučajno (316), 16+slučajno (209)); } kašnjenje (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 ("To je to!", CENTAR, 93); myGLCD.print ("Ponovno pokretanje u", CENTAR, 119); myGLCD.print ("nekoliko sekundi …", CENTAR, 132); myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 255); myGLCD.print ("Runtime: (msecs)", CENTAR, 210); myGLCD.printNumI (millis (), CENTAR, 225); kašnjenje (10000); }
Korak 7: UTFT bitmapa
#uključi
#include // Deklarirajte koje ćemo fontove koristiti extern uint8_t SmallFont ; // Postavite pinove na ispravne za vaš razvojni štit // ------------------ ------------------------------------------ // Arduino Uno / 2009: / / ------------------- // Standardni Arduino Uno/ 2009 štit:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT štit:, A5, A4, A3, A2 // // Arduino Mega: // ------------------- // Standardni Arduino Mega/Due štit:, 38, 39, 40, 41 // CTE TFT LCD/SD štit za Arduino Mega:, 38, 39, 40, 41 // // Ne zaboravite promijeniti parametar modela koji odgovara vašem modulu zaslona! UTFT myGLCD (ITDB32S, A5, A4, A3, A2); vanjski nepotpisani int info [0x400]; vanjska bezznačna int ikona [0x400]; extern bez znaka 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 10 x 7 mreža ikone 32x32 ***", CENTAR, 228); for (int x = 0; x <10; x ++) for (int y = 0; y <7; y ++) myGLCD.drawBitmap (x*32, y*32, 32, 32, info); kašnjenje (5000); myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("Dvije različite ikone u ljestvici od 1 do 4", CENTAR, 228); int x = 0; za (int s = 0; s0; s--) {myGLCD.drawBitmap (x, 224- (s*32), 32, 32, ikona, s); x+= (s*32); } kašnjenje (5000); }
Korak 8: Povezivanje gumba
#include #include // Inicijalizacija prikaza // ------------------ // Postavite pinove na ispravne za svoju razvojnu ploču // ------- -------------------------------------------------- - // Standardni Arduino Uno/2009 štit:, 19, 18, 17, 16 // Standardni Arduino Mega/Due štit:, 38, 39, 40, 41 // CTE TFT LCD/SD štit za Arduino Due:, 25, 26, 27, 28 // Teensy 3.x TFT Testna ploča:, 23, 22, 3, 4 // ElecHouse TFT LCD/SD štit za Arduino Zbog:, 22, 23, 31, 33 // // Ne zaboravite da promijenite parametar modela tako da odgovara vašem modulu zaslona! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); // Inicijalizacija zaslona osjetljivog na dodir // ---------------------- // Postavite pinove na ispravnu one za vašu razvojnu ploču // ------------------------------------------- ---------------- // Standardni Arduino Uno/2009 štit: 15, 10, 14, 9, 8 // Standardni Arduino Mega/Due štit: 6, 5, 4, 3, 2 // CTE TFT LCD/SD štit za Arduino Zbog: 6, 5, 4, 3, 2 // Teensy 3.x TFT testna ploča: 26, 31, 27, 28, 29 // ElecHouse TFT LCD/SD štit za Arduino Due: 25, 26, 27, 29, 30 // URTouch myTouch (6, 5, 4, 3, 2); // Deklarirajte koje ćemo fontove koristiti extern uint8_t BigFont ; int x, y; char stCurrent [20] = ""; int stCurrentLen = 0; char stLast [20] = "";/************************* ** Prilagođene funkcije ** ********* ****************/void drawButtons () {// Nacrtajte gornji red gumba za (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); } // Nacrtajte središnji red gumba za (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); if (x <4) myGLCD.printNumI (x+6, 27+ (x*60), 87); } myGLCD.print ("0", 267, 87); // Nacrtajte donji red gumba myGLCD.setColor (0, 0, 255); myGLCD.fillRoundRect (10, 130, 150, 180); myGLCD.setColor (255, 255, 255); myGLCD.drawRoundRect (10, 130, 150, 180); myGLCD.print ("Očisti", 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) {za (x = 0; x
Korak 9: Flappy Bird
#include #include #include // ==== Stvaranje objekata UTFT myGLCD (SSD1289, 38, 39, 40, 41); // Parametre treba prilagoditi vašem Display/Schield modelu UTouch myTouch (6, 5, 4, 3, 2); // ==== Definiranje fontova extern uint8_t SmallFont ; vanjski uint8_t BigFont ; extern uint8_t SevenSegNumFont ; extern bez potpisa int bird01 [0x41A]; // Bitmapint ptica x, y; // Varijable za koordinate na kojima je pritisnut zaslon // Floppy Bird int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int rezultat = 0; int lastSpeedUpScore = 0; int mostScore; boolean screenPressed = false; boolean gameStarted = false; void setup () {// Pokretanje prikaza myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); najveća ocjena = EEPROM.čitano (0); // Očitajte najveći rezultat iz EEPROM -a InitiateGame (); // Pokretanje igre} void loop () {xP = xP-movingRate; // xP - x koordinata stupova; raspon: 319 - (-51) drawPilars (xP, yP); // Crta stupove // yB - y koordinatu ptice koja ovisi o vrijednosti padajuće varijable yB+= fallRateInt; fallRate = fallRate+0,4; // Svakim umetanjem stopa pada povećava se tako da možemo utjecati na ubrzanje/ gravitaciju fallRateInt = int (fallRate); // Provjerava sudar if (yB> = 180 || yB <= 0) {// vrh i dno gameOver (); } if ((xP = 5) && (yB <= yP-2)) {// gameOver (); } if ((xP = 5) && (yB> = yP+60)) {// gameOver (); } // Crta pticu drawBird (yB); // Nakon što je stup prošao kroz zaslon if (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); } else if (x najveći rezultat) {najviši rezultat = rezultat; EEPROM.write (0, najveći rezultat); } // Vraća varijable na početne vrijednosti položaja xP = 319; yB = 50; fallRate = 0; rezultat = 0; lastSpeedUpScore = 0; movingRate = 3; gameStarted = false; // Ponovno pokretanje igre initiateGame (); }
Korak 10: Rad na projektu
Izvorni kod možete pronaći u mom Github spremištu.
Veza:
Palac gore ako vam je zaista pomoglo i pratite moj kanal za zanimljive projekte:)
Podijelite ovaj video ako vam se sviđa.
Drago mi je što ste se pretplatili:
Hvala na čitanju!
Preporučeni:
Cijeli komplet Python web sučelja za PhidgetSBC3: 6 koraka
Potpuni komplet Python web sučelja za PhidgetSBC3: Ploča PhidgetSBC3 potpuno je funkcionalno računalo za jednu ploču s Debain Linuxom. Sličan je malinom Pi, ali ima 8 analognih senzorskih ulaza i 8 digitalnih ulaza i 8 digitalnih izlaza. Isporučuje se s web poslužiteljem i web aplikacijom za suradnju
Kako upravljati servo motorom s računala pomoću grafičkog sučelja: 5 koraka
Kako upravljati servo motorom s računala pomoću grafičkog sučelja: pritisnite Servo motor na računalu na grafičkom korisničkom sučelju (GUI) putem kontrole Upravljajte dijeljenjem Upute za korištenje myblog-www.mechanic37.com Želite li projekt Ako želite pročitati uputstva za čitanje, kliknite na računalo na računaru
Primjena MCP-23008 pomoću relejnog sučelja (I2C) :: 6 koraka
Primjena MCP-23008 pomoću relejnog sučelja (I2C) :: HelloGood Pozdrav .. !! Ja (Somanshu Choudhary) u ime tehnoloških pothvata Dcubea idem kontrolirati releje putem I2C protokola koristeći Arduino nano i MCP23008
Senzor ADXL335 sučelja na Raspberry Pi 4B u 4 koraka: 4 koraka
Sučelje ADXL335 senzora na Raspberry Pi 4B u 4 koraka: U ovom uputstvu ćemo spojiti senzor ADXL335 (akcelerometar) na Raspberry Pi 4 sa Shunya O/S
Upravljanje RC automobilom putem web sučelja: 6 koraka (sa slikama)
Upravljanje RC automobilom putem web sučelja: Zdravo prijatelji, U ovom uputstvu naučit ću vas kako napraviti RC automobil putem web sučelja. Bežično ćemo upravljati putem vlastitog poslužitelja. Koristeći metodu koju ću vam pokazati, nećemo morati koristiti RC prijemnik. Za hostiranje weba