Sadržaj:

Osnove Arduino TFT sučelja: 10 koraka (sa slikama)
Osnove Arduino TFT sučelja: 10 koraka (sa slikama)

Video: Osnove Arduino TFT sučelja: 10 koraka (sa slikama)

Video: Osnove Arduino TFT sučelja: 10 koraka (sa slikama)
Video: Программирование Ардуино с нуля. Arduino для начинающих. 2024, Studeni
Anonim
Osnove Arduino TFT sučelja
Osnove Arduino TFT sučelja

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

Zahtjevi hardvera i softvera
Zahtjevi hardvera i softvera
Zahtjevi hardvera i softvera
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

Podešavanje UTFT Lib
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

Pokretanje TFT štita
Pokretanje 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

Osnovni Hello World
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

UTFT fontovi
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

UTFT oblici, linije i uzorak
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

UTFT Bitmapa
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

Interfejs gumba
Interfejs 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

Flappy Bird
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: