Obsah:
Video: Základy rozhrania TFT Arduino: 10 krokov (s obrázkami)
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Dotykové obrazovky TFT sú úžasné grafické rozhranie, ktoré je možné použiť s mikrokontrolérmi, ako sú Atmel, PIC, STM, pretože má široký farebný rozsah a dobré grafické schopnosti a dobré mapovanie pixelov.
Dnes ideme na Rozhranie 2,4 palcový TFT LCD štít s Arduino.
Tento štít je pre Arduino UNO, ale naučím ho používať s Arduino Mega z veľmi logického dôvodu, „programovej pamäte“.
Použitím tohto farebného TFT LCD štítu môžeme na farebnom TFT LCD displeji zobrazovať znaky, reťazce, rozhrania tlačidiel, bitmapové obrázky atď.
Krok 1: Požiadavky na hardvér a softvér
Na vytvorenie rozhrania štítu s mega Arduino potrebujeme nasledujúce.
HARDWARE:
• Arduino mega
• TFT 2,4/2,8/3,2 palcový LCD
• USB kábel
SOFTVÉR
• Arduino IDE
• Knižnica UTFT / knižnica spfd5408
Shield je pôvodne vyrobený pre dosky Arduino UNO, ktoré je možné použiť s Arduino mega.
Pri použití s Arduino UNO existujú dva hlavné problémy: „Pamäť pamäte“a využitie pinov.
Je ťažké použiť nepoužité piny, ktoré sú k dispozícii na UNO, zatiaľ čo je to lepšie s Arduino MEGA, pretože nám zostáva viac I/O pinov.
V nasledujúcom kroku ukážem, ako upraviť knižnicu UTFT tak, aby používala štít TFT
Krok 2: Vyladenie UTFT Lib
Táto knižnica je pokračovaním mojich knižníc ITDB02_Graph, ITDB02_Graph16 a RGB_GLCD pre Arduino a chipKit. Ako sa počet podporovaných zobrazovacích modulov a radičov začal zvyšovať, cítil som, že je načase vytvoriť jednu univerzálnu knižnicu, pretože údržba bude v budúcnosti oveľa jednoduchšia.
Arduino MEGA má 256 kB programovej pamäte. Okrem toho je tu 54 pinov.
Väčšina z nich je voľne použiteľná a iba 5 analógových je zo 16.
Táto knižnica podporuje množstvo 8bitových, 16bitových a sériových grafických displejov a bude fungovať s doskami Arduino, chipKit a vybranými TI LaunchPads.
POZNÁMKA: Vzhľadom na veľkosť knižnice neodporúčam používať ju na ATmega328 (Arduino Uno) a ATmega32U4 (Arduino Leonardo), pretože majú iba 32 kB flash pamäte. Bude to fungovať, ale v dostupnej flash pamäti pre vašu aplikáciu budete výrazne obmedzení
Kroky
- Stiahnite si knižnicu UTFT
- Rozbaľte knižnicu
- V prípade Arduina alebo v závislosti od použitého mikrokontroléra otvorte UTFT / hardware / avr
- Otvorte HW_AVR_defines pomocou programu Poznámkový blok
- Odkomentujte riadok 7 a povoľte štít UNO pre MEGA
- Uložte súbor a pridajte túto knižnicu do Arduino IDE
Teraz sme s týmto krokom hotoví! V nasledujúcom kroku ukážem používanie knižnice a definovanie pinov pre Arduino Mega.
Krok 3: Inicializácia štítu TFT
Po úprave knižnice ju pridajte do adresára Arduino.
Ďalej vám ukážem, ako definovať správny modul TFT, ktorý máte
názov jeho modulu by sme mali nájsť v knižnici.
- otvorte súbor knižnice
- prejdite na dokumentáciu
Tieto súbory môžete vidieť v dokumentácii
• UTFT:
Tento súbor zobrazuje všetky funkcie a príkazy zahrnuté v tejto knižnici.
• UTFT_Requirement
Tento súbor obsahuje informácie o moduloch a tom, ako súvisí s knižnicou, napríklad konfigurácie pinov
• UTFT_Supported_display_modules _ & _ controller
Toto je náš cieľ, tento súbor má názvy modulov a štítov, ktoré táto knižnica podporuje, môžete v ňom vidieť zoznam názvov modulov a názvov modulov pre UTFT, ktoré by ste mali použiť na definovanie modulu.
Kroky na definovanie TFT:
V knižnici otvorte súbor ovládača UTFT_Supported_display_modules _ & _
- V knižnici otvorte súbor ovládača UTFT_Supported_display_modules _ & _
- Nájdite modely pre UTFT pre moduly (štít), ktoré máte.
- Teraz, aby sme definovali funkciu UTFT na IDE Arduino, použijeme príkaz:
Názov UTFT (modul, Rs, Wr, Cs, Rst);
Otvorte súbor UTFT_Requirement z knižnice
Z dokumentu vieme, že kolíky sú umiestnené na kolíkoch A5, A4, A3 a A2.
používame príkaz:
UTFT myGLCD (ITDB28, 19, 18, 17, 16); # všimnite si, že kolíky 19, 18, 17, 16 v Arduino Mega
UTFT myGLCD (ITDB28, A5, A4, A3, A2); # všimnite si, že kolíky A5, A4, A3, A2 v Arduino UNO
A hotovo! Teraz môžete použiť príklady knižnice v Arduino IDE s nasledujúcimi zmenami.
Krok 4: Základný Hello World
#include // Deklarujte, ktoré písma budeme používať
externý uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Nezabudnite zmeniť parameter modelu tak, aby vyhovoval vášmu zobrazovaciemu modulu! UTFT myGLCD (ITDB28, A5, A4, A3, A2); void setup () {myGLCD. InitLCD (); myGLCD.clrScr (); myGLCD.setFont (BigFont); } void loop () {myGLCD.setColor (0, 255, 0); // zelený myGLCD.print ("AHOJ SVET", 45, 100); while (true) {}; }
Krok 5: Písma UTFT
#include // Deklarujte, ktoré písma budeme používať
extern uint8_t SmallFont ; externý uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Nastavte kolíky na správne pre svoj vývojový štít // ----------------------------------- ------------------------- // Arduino Uno / 2009: // ---------------- --- // Štandardný štít Arduino Uno/2009:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT štít:, A5, A4, A3, A2 // // Arduino Mega: // ----- -------------- // Štandardný Arduino Mega/Due štít:, 38, 39, 40, 41 // CTE TFT LCD/SD štít pre Arduino Mega:, 38, 39, 40, 41 // // Nezabudnite zmeniť parameter modelu tak, aby vyhovoval vášmu zobrazovaciemu modulu! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); neplatné nastavenie () {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 ("pqrstuvwxy ~ ", CENTER, 80); myGLCD.setFont (SmallFont); myGLCD.print ("! / "#$%& '()*+, -./0123456789:;?", CENTER, 120); myGLCD.print ("@ABCDEFGHIJKLMNOPQRSTUVWXYZ ^_", CENTRUM, 132); myGLCD.print ("" abcdefghijklmnopqrstuvwxyz {|} ~ ", CENTER, 144); myGLCD.setFont (SevenSegNumFont); myGLCD.print ("0123456789", CENTRUM, 190); while (1) {}; }
Krok 6: Tvary, čiary a vzory UTFT
#include "UTFT.h" // Deklarujte, ktoré fonty budeme používaťextern uint8_t SmallFont ; // Nastavte kolíky na správne pre svoj vývojový štít // -------------- ---------------------------------------------- // Arduino Uno / 2009: // ------------------- // Štandardný Arduino Uno/ 2009 štít:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT štít:, A5, A4, A3, A2 // // Arduino Mega: // ------------------- // Štandardné Arduino Mega/Due štít:, 38, 39, 40, 41 // Štít CTE TFT LCD/SD pre Arduino Mega:, 38, 39, 40, 41 // // Nezabudnite zmeniť parameter modelu tak, aby vyhovoval vášmu zobrazovaciemu modulu! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); void setup () {randomSeed (analogRead (0)); // Nastavenie LCD myGLCD. InitLCD (); myGLCD.setFont (SmallFont); }
prázdna slučka ()
{int buf [318]; int x, x2; int y, y2; int r; // Vymažte obrazovku a nakreslite rámček 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 (" * Univerzálna farebná knižnica displeja TFT *", 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); // Nakreslite nitkový kríž myGLCD.setColor (0, 0, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.drawLine (159, 15, 159, 224); myGLCD.drawLine (1, 119, 318, 119); pre (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); // Draw sin-, cos- and tan-lines myGLCD.setColor (0, 255, 255); myGLCD.print ("Sin", 5, 15); pre (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); pre (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); pre (int i = 1; i <318; i ++) {myGLCD.drawPixel (i, 119+ (tan ((((i*1,13)*3,14)/180))); } oneskorenie (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); // Nakreslite pohyblivú sinusovú vlnu x = 1; pre (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; } oneskorenie (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslite niektoré vyplnené obdĺžniky pre (int i = 1; i <6; i ++) {switch (i) {prípad 1: myGLCD.setColor (255, 0, 255); prestávka; prípad 2: myGLCD.setColor (255, 0, 0); prestávka; prípad 3: myGLCD.setColor (0, 255, 0); prestávka; prípad 4: myGLCD.setColor (0, 0, 255); prestávka; prípad 5: myGLCD.setColor (255, 255, 0); prestávka; } myGLCD.fillRect (70+ (i*20), 30+ (i*20), 130+ (i*20), 90+ (i*20)); } oneskorenie (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslite vyplnené, zaoblené obdĺžniky pre (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255); prestávka; prípad 2: myGLCD.setColor (255, 0, 0); prestávka; prípad 3: myGLCD.setColor (0, 255, 0); prestávka; prípad 4: myGLCD.setColor (0, 0, 255); prestávka; prípad 5: myGLCD.setColor (255, 255, 0); prestávka; } myGLCD.fillRoundRect (190- (i*20), 30+ (i*20), 250- (i*20), 90+ (i*20)); } oneskorenie (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslite nejaké vyplnené kruhy pre (int i = 1; i <6; i ++) {switch (i) {prípad 1: myGLCD.setColor (255, 0, 255); prestávka; prípad 2: myGLCD.setColor (255, 0, 0); prestávka; prípad 3: myGLCD.setColor (0, 255, 0); prestávka; prípad 4: myGLCD.setColor (0, 0, 255); prestávka; prípad 5: myGLCD.setColor (255, 255, 0); prestávka; } myGLCD.fillCircle (100+ (i*20), 60+ (i*20), 30); } oneskorenie (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslite niekoľko čiar do vzoru myGLCD.setColor (255, 0, 0); pre (int i = 15; i <224; i+= 5) {myGLCD.drawLine (1, i, (i*1,44) -10, 224); } myGLCD.setColor (255, 0, 0); pre (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (318, i, (i*1,44) -11, 15); } myGLCD.setColor (0, 255, 255); pre (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (1, i, 331- (i*1,44), 15); } myGLCD.setColor (0, 255, 255); pre (int i = 15; i <224; i+= 5) {myGLCD.drawLine (318, i, 330- (i*1,44), 224); } oneskorenie (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslite niekoľko náhodných kruhov pre (int i = 0; i <100; i ++) {myGLCD.setColor (random (255), random (255), random (255))); x = 32+náhodný (256); y = 45+náhodný (146); r = náhodný (30); myGLCD.drawCircle (x, y, r); } oneskorenie (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslite niekoľko náhodných obdĺžnikov pre (int i = 0; i <100; i ++) {myGLCD.setColor (random (255), random (255), random (255))); x = 2+náhodný (316); y = 16+náhodný (207); x2 = 2+náhodný (316); y2 = 16+náhodný (207); myGLCD.drawRect (x, y, x2, y2); } oneskorenie (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslite niekoľko náhodných zaoblených obdĺžnikov pre (int i = 0; i <100; i ++) {myGLCD.setColor (random (255), random (255), random (255)); x = 2+náhodný (316); y = 16+náhodný (207); x2 = 2+náhodný (316); y2 = 16+náhodný (207); myGLCD.drawRoundRect (x, y, x2, y2); } oneskorenie (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); pre (int i = 0; i <100; i ++) {myGLCD.setColor (random (255), random (255), random (255)); x = 2+náhodný (316); y = 16+náhodný (209); x2 = 2+náhodný (316); y2 = 16+náhodný (209); myGLCD.drawLine (x, y, x2, y2); } oneskorenie (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); pre (int i = 0; i <10 000; i ++) {myGLCD.setColor (random (255), random (255), random (255)); myGLCD.drawPixel (2+náhodné (316), 16+náhodné (209)); } oneskorenie (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 ono!“, CENTER, 93); myGLCD.print („Reštartovanie v“, CENTER, 119); myGLCD.print („niekoľko sekúnd …“, CENTER, 132); myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 255); myGLCD.print ("Runtime: (msecs)", CENTER, 210); myGLCD.printNumI (millis (), CENTER, 225); oneskorenie (10 000); }
Krok 7: Bitová mapa UTFT
#zahrnúť
#include // Deklarujte, ktoré písma budeme používať extern uint8_t SmallFont ; // Nastavte kolíky na správne pre svoj vývojový štít // ------------------ ------------------------------------------ // Arduino Uno / 2009: / / ------------------- // Štandardný Arduino Uno/ 2009 štít:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT štít:, A5, A4, A3, A2 // // Arduino Mega: // ------------------- // Štandardné Arduino Mega/Due štít:, 38, 39, 40, 41 // Štít CTE TFT LCD/SD pre Arduino Mega:, 38, 39, 40, 41 // // Nezabudnite zmeniť parameter modelu tak, aby vyhovoval vášmu zobrazovaciemu modulu! UTFT myGLCD (ITDB32S, A5, A4, A3, A2); externé nepodpísané int informácie [0x400]; externá nepodpísaná ikona int [0x400]; externý nepodpísaný int tux [0x400]; void setup () {myGLCD. InitLCD (); myGLCD.setFont (SmallFont); } void loop () {myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print ("*** Mriežka 10 x 7 ikony 32 x 32 ***", CENTER, 228); pre (int x = 0; x <10; x ++) pre (int y = 0; y <7; y ++) myGLCD.drawBitmap (x*32, y*32, 32, 32, info); oneskorenie (5 000); myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print („Dve rôzne ikony v mierke 1 až 4“, CENTER, 228); int x = 0; pre (int s = 0; s0; s--) {myGLCD.drawBitmap (x, 224- (s*32), 32, 32, ikona, s); x+= (s*32); } oneskorenie (5 000); }
Krok 8: Rozhranie tlačidiel
#include #include // Inicializácia displeja // ------------------ // Nastavte kolíky na správne pre vývojovú dosku // ------- ---------------------------------------------------------- - // Štandardný štít Arduino Uno/2009:, 19, 18, 17, 16 // Štandardný štít Arduino Mega/Due:, 38, 39, 40, 41 // Štít CTE TFT LCD/SD pre Arduino Termín:, 25, 26, 27, 28 // Teensy 3.x TFT Test Board:, 23, 22, 3, 4 // ElecHouse TFT LCD/SD Shield for Arduino Due:, 22, 23, 31, 33 // // Nezabudnite zmeňte parameter modelu tak, aby vyhovoval vášmu zobrazovaciemu modulu! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); // Inicializácia dotykovej obrazovky // ---------------------- // Nastavte kolíky na správne tie pre vašu vývojovú dosku // ------------------------------------------- ---------------- // Štandardný štít Arduino Uno/2009: 15, 10, 14, 9, 8 // Štandardný štít Arduino Mega/Due: 6, 5, 4, 3, 2 // CTE TFT LCD/SD Shield for Arduino Due: 6, 5, 4, 3, 2 // Teensy 3.x TFT Test Board: 26, 31, 27, 28, 29 // ElecHouse TFT LCD/SD Shield pre Arduino Termín: 25, 26, 27, 29, 30 // URTouch myTouch (6, 5, 4, 3, 2); // Deklarujte, ktoré písma budeme používať extern uint8_t BigFont ; int x, y; char stCurrent [20] = ""; int stCurrentLen = 0; char stLast [20] = "";/************************* ** Vlastné funkcie ** ********* ****************/void drawButtons () {// Nakreslite horný rad tlačidiel pre (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); } // Nakreslite stredný rad tlačidiel pre (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); ak (x <4) myGLCD.printNumI (x+6, 27+ (x*60), 87); } myGLCD.print ("0", 267, 87); // Nakreslite dolný rad tlačidiel 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) {pre (x = 0; x
Krok 9: Flappy Bird
#include #include #include // ==== Vytváranie objektov UTFT myGLCD (SSD1289, 38, 39, 40, 41); // Parametre by mali byť prispôsobené vášmu modelu Display/Schield UTouch myTouch (6, 5, 4, 3, 2); // ==== Definovanie písem externe uint8_t SmallFont ; externý uint8_t BigFont ; extern uint8_t SevenSegNumFont ; extern unsigned int bird01 [0x41A]; // Bird Bitmapint x, y; // Premenné pre súradnice, kde bol stlačený displej // Floppy Bird int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int skóre = 0; int lastSpeedUpScore = 0; int najvyššie skóre; boolean screenPressed = false; boolean gameStarted = false; void setup () {// Spustenie zobrazenia myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); najvyššie skóre = EEPROM.read (0); // Prečítajte si najvyššie skóre z EEPROM initiateGame (); // Spustenie hry} void loop () {xP = xP-movingRate; // xP - x súradnica pilarov; rozsah: 319 - (-51) drawPilars (xP, yP); // Nakreslí piliere // yB - y súradnica vtáka, ktorá závisí od hodnoty premennej klesajúcej rýchlosti yB+= fallRateInt; fallRate = fallRate+0,4; // Každou inetráciou sa rýchlosť pádu zvyšuje, aby sme mohli ovplyvniť zrýchlenie/ gravitáciu fallRateInt = int (fallRate); // Kontroluje kolíziu, ak (yB> = 180 || yB <= 0) {// horná a dolná časť gameOver (); } if ((xP = 5) && (yB <= yP-2)) {// horný pilier gameOver (); } if ((xP = 5) && (yB> = yP+60)) {// nižší pilier gameOver (); } // Nakreslí vták drawBird (yB); // Potom, čo stĺp prejde obrazovkou, ak (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 najvyššie skóre) {najvyššie skóre = skóre; EEPROM.write (0, najvyššie skóre); } // Resetuje premenné na počiatočné hodnoty polohy xP = 319; yB = 50; fallRate = 0; skóre = 0; lastSpeedUpScore = 0; movingRate = 3; gameStarted = false; // Reštartujte hru initiateGame (); }
Krok 10: Práca na projekte
Zdrojový kód nájdete v mojom úložisku Github.
Odkaz:
Dajte palec hore, ak vám to skutočne pomohlo, a sledujte môj kanál pre zaujímavé projekty:)
Ak chcete, zdieľajte toto video.
Sme radi, že ste sa prihlásili na odber:
Vďaka za prečítanie!