Obsah:
- Krok 1: Hardwarové a softwarové požadavky
- Krok 2: Vylepšení UTFT Lib
- Krok 3: Inicializace štítu TFT
- Krok 4: Základní Hello World
- Krok 5: Písma UTFT
- Krok 6: Tvary, čáry a vzory UTFT
- Krok 7: Bitmapa UTFT
- Krok 8: Rozhraní tlačítek
- Krok 9: Flappy Bird
- Krok 10: Práce na projektu
Video: Základy rozhraní Arduino TFT: 10 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Dotykové obrazovky TFT jsou úžasné grafické rozhraní, které lze použít s mikrokontroléry, jako jsou Atmel, PIC, STM, protože má široký barevný rozsah a dobrou grafickou schopnost a dobré mapování pixelů.
Dnes jdeme na Rozhraní 2,4 palcový TFT LCD štít s Arduino.
Tento štít je pro Arduino UNO, ale naučím ho používat s Arduino Mega z velmi logického důvodu, „paměti programu“.
Použitím tohoto barevného TFT LCD štítu můžeme na barevném TFT LCD ukazovat znaky, řetězce, rozhraní tlačítek, bitmapové obrázky atd.
Krok 1: Hardwarové a softwarové požadavky
K vytvoření rozhraní štítu s Arduino mega potřebujeme následující.
HARDWARE:
• Arduino mega
• TFT 2,4/2,8/3,2 palcový LCD
• USB kabel
SOFTWARE
• Arduino IDE
• Knihovna UTFT / knihovna spfd5408
Shield je původně vyroben pro desky Arduino UNO, které lze použít s Arduino mega.
Při používání s Arduino UNO existují dva hlavní problémy: „Paměť úložiště“a využití pinů.
Je obtížné použít nepoužité piny, které jsou k dispozici na UNO, zatímco s Arduino MEGA je to lepší, protože zbývá více I/O pinů.
V dalším kroku ukážu, jak upravit knihovnu UTFT tak, aby používala štít TFT
Krok 2: Vylepšení UTFT Lib
Tato knihovna je pokračováním mých knihoven ITDB02_Graph, ITDB02_Graph16 a RGB_GLCD pro Arduino a chipKit. Jak se počet podporovaných zobrazovacích modulů a ovladačů začal zvyšovat, cítil jsem, že je na čase vytvořit jedinou univerzální knihovnu, protože její údržba bude v budoucnu mnohem snazší.
Arduino MEGA má 256 kB programové paměti. Kromě toho existuje 54 pinů.
Většina z nich je volně použitelná a analogových 5 je převzato z 16.
Tato knihovna podporuje řadu 8bitových, 16bitových a sériových grafických displejů a bude fungovat s deskami Arduino, chipKit a vybranými TI LaunchPady.
POZNÁMKA: Vzhledem k velikosti knihovny ji nedoporučuji používat na ATmega328 (Arduino Uno) a ATmega32U4 (Arduino Leonardo), protože mají pouze 32 kB flash paměti. Bude to fungovat, ale v dostupné paměti flash pro vaši aplikaci budete výrazně omezeni
Kroky
- Stáhněte si knihovnu UTFT
- Rozbalte knihovnu
- Otevřete UTFT / hardware / avr v případě Arduina nebo v závislosti na použitém mikrokontroléru
- Otevřete HW_AVR_defines pomocí programu Poznámkový blok
- Odkomentujte řádek 7 a povolte UNO štít pro MEGA
- Uložte soubor a přidejte tuto knihovnu do Arduino IDE
Nyní jsme s tímto krokem hotovi! V dalším kroku ukážu použití knihovny a definování pinů pro Arduino Mega.
Krok 3: Inicializace štítu TFT
Po úpravě knihovny ji přidejte do adresáře Arduino.
Dále vám ukážu, jak definovat správný modul TFT, který máte
název jeho modulu bychom měli najít v knihovně.
- otevřete soubor knihovny
- přejděte k dokumentaci
Tyto soubory můžete vidět v dokumentaci
• UTFT:
Tento soubor ukazuje všechny funkce a příkazy obsažené v této knihovně.
• UTFT_Requirement
Tento soubor obsahuje informace o modulech a tom, jak souvisí s knihovnou, například konfigurace pinů
• Ovladač UTFT_Supported_display_modules _ & _
Toto je náš cíl, tento soubor má názvy modulů a štítů, které tato knihovna podporuje, můžete v něm vidět seznam názvů modulů a názvů modulů pro UTFT, které byste měli použít k definování modulu.
Kroky k definování TFT:
Otevřete soubor řadiče UTFT_Supported_display_modules _ & _ z knihovny
- Otevřete soubor řadiče UTFT_Supported_display_modules _ & _ z knihovny
- Najděte modely pro UTFT pro moduly (štít), které máte.
- Nyní k definování funkce UTFT na Arduino IDE použijeme příkaz:
Název UTFT (modul, Rs, Wr, Cs, Rst);
Otevřete soubor UTFT_Requirement z knihovny
Z dokumentu víme, že piny jsou umístěny na pinech A5, A4, A3 a A2.
používáme příkaz:
UTFT myGLCD (ITDB28, 19, 18, 17, 16); # Všimněte si, že kolíky 19, 18, 17, 16 v Arduino Mega
UTFT myGLCD (ITDB28, A5, A4, A3, A2); # Všimněte si, že kolíky A5, A4, A3, A2 v Arduino UNO
A hotovo! Nyní můžete použít příklady knihoven v Arduino IDE s následujícími změnami.
Krok 4: Základní Hello World
#include // Deklarujte, která písma budeme používat
extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Nezapomeňte změnit parametr modelu tak, aby vyhovoval vašemu zobrazovacímu modulu! UTFT myGLCD (ITDB28, A5, A4, A3, A2); neplatné nastavení () {myGLCD. InitLCD (); myGLCD.clrScr (); myGLCD.setFont (BigFont); } void loop () {myGLCD.setColor (0, 255, 0); // zelená myGLCD.print ("HELLO WORLD", 45, 100); while (true) {}; }
Krok 5: Písma UTFT
#include // Deklarujte, která písma budeme používat
extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; // Nastavte piny na správné pro svůj vývojový štít // ----------------------------------- ------------------------- // Arduino Uno / 2009: // ---------------- --- // Standardní Arduino Uno/2009 štít:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT štít:, A5, A4, A3, A2 // // Arduino Mega: // ----- -------------- // Standardní Arduino Mega/Due štít:, 38, 39, 40, 41 // CTE TFT LCD/SD štít pro Arduino Mega:, 38, 39, 40, 41 // // Nezapomeňte změnit parametr modelu tak, aby vyhovoval vašemu zobrazovacímu modulu! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); neplatné nastavení () {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, čáry a vzory UTFT
#include "UTFT.h" // Deklarujte, která písma budeme používat extern uint8_t SmallFont ; // Nastavte piny na správné pro svůj vývojový štít // -------------- ---------------------------------------------- // Arduino Uno / 2009: // ------------------- // Standardní Arduino Uno/ 2009 štít:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT štít:, A5, A4, A3, A2 // // Arduino Mega: // ------------------- // Standardní Arduino Mega/Due štít:, 38, 39, 40, 41 // CTE TFT LCD/SD štít pro Arduino Mega:, 38, 39, 40, 41 // // Nezapomeňte změnit parametr modelu tak, aby vyhovoval vašemu zobrazovacímu modulu! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); neplatné nastavení () {randomSeed (analogRead (0)); // Nastavení LCD myGLCD. InitLCD (); myGLCD.setFont (SmallFont); }
prázdná smyčka ()
{int buf [318]; int x, x2; int y, y2; int r; // Vymažte obrazovku a nakreslete rámeč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ální barevná knihovna TFT displeje *", 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); // Nakreslete nitkový kříž myGLCD.setColor (0, 0, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.drawLine (159, 15, 159, 224); myGLCD.drawLine (1, 119, 318, 119); pro (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); pro (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); for (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); pro (int i = 1; i <318; i ++) {myGLCD.drawPixel (i, 119+ (tan ((((i*1,13)*3,14)/180))); } zpoždění (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); // Nakreslete pohybující se sinusovou vlnu x = 1; pro (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; } zpoždění (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslete nějaké vyplněné obdélníky pro (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255); přestávka; případ 2: myGLCD.setColor (255, 0, 0); přestávka; případ 3: myGLCD.setColor (0, 255, 0); přestávka; případ 4: myGLCD.setColor (0, 0, 255); přestávka; případ 5: myGLCD.setColor (255, 255, 0); přestávka; } myGLCD.fillRect (70+ (i*20), 30+ (i*20), 130+ (i*20), 90+ (i*20)); } zpoždění (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslete nějaké vyplněné, zaoblené obdélníky pro (int i = 1; i <6; i ++) {switch (i) {case 1: myGLCD.setColor (255, 0, 255); přestávka; případ 2: myGLCD.setColor (255, 0, 0); přestávka; případ 3: myGLCD.setColor (0, 255, 0); přestávka; případ 4: myGLCD.setColor (0, 0, 255); přestávka; případ 5: myGLCD.setColor (255, 255, 0); přestávka; } myGLCD.fillRoundRect (190- (i*20), 30+ (i*20), 250- (i*20), 90+ (i*20)); } zpoždění (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslete nějaké vyplněné kruhy pro (int i = 1; i <6; i ++) {switch (i) {případ 1: myGLCD.setColor (255, 0, 255); přestávka; případ 2: myGLCD.setColor (255, 0, 0); přestávka; případ 3: myGLCD.setColor (0, 255, 0); přestávka; případ 4: myGLCD.setColor (0, 0, 255); přestávka; případ 5: myGLCD.setColor (255, 255, 0); přestávka; } myGLCD.fillCircle (100+ (i*20), 60+ (i*20), 30); } zpoždění (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslete několik čar do vzoru myGLCD.setColor (255, 0, 0); pro (int i = 15; i <224; i+= 5) {myGLCD.drawLine (1, i, (i*1,44) -10, 224); } myGLCD.setColor (255, 0, 0); pro (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (318, i, (i*1,44) -11, 15); } myGLCD.setColor (0, 255, 255); pro (int i = 224; i> 15; i- = 5) {myGLCD.drawLine (1, i, 331- (i*1,44), 15); } myGLCD.setColor (0, 255, 255); pro (int i = 15; i <224; i+= 5) {myGLCD.drawLine (318, i, 330- (i*1,44), 224); } zpoždění (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslete nějaké náhodné kruhy pro (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); } zpoždění (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslete nějaké náhodné obdélníky pro (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); } zpoždění (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); // Nakreslete nějaké náhodné zaoblené obdélníky pro (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); } zpoždění (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); for (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); } zpoždění (2000); myGLCD.setColor (0, 0, 0); myGLCD.fillRect (1, 15, 318, 224); for (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)); } zpoždění (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 („Restartování v“, CENTER, 119); myGLCD.print („několik sekund…“, CENTER, 132); myGLCD.setColor (0, 255, 0); myGLCD.setBackColor (0, 0, 255); myGLCD.print ("Runtime: (msecs)", CENTER, 210); myGLCD.printNumI (millis (), CENTER, 225); zpoždění (10 000); }
Krok 7: Bitmapa UTFT
#zahrnout
#include // Deklarujte, která písma budeme používat extern uint8_t SmallFont ; // Nastavte piny na správné pro svůj vývojový štít // ------------------ ------------------------------------------ // Arduino Uno / 2009: / / ------------------- // Standardní Arduino Uno/ 2009 štít:, A5, A4, A3, A2 // DisplayModule Arduino Uno TFT štít:, A5, A4, A3, A2 // // Arduino Mega: // ------------------- // Standardní Arduino Mega/Due štít:, 38, 39, 40, 41 // CTE TFT LCD/SD štít pro Arduino Mega:, 38, 39, 40, 41 // // Nezapomeňte změnit parametr modelu tak, aby vyhovoval vašemu zobrazovacímu modulu! UTFT myGLCD (ITDB32S, A5, A4, A3, A2); externí nepodepsané int informace [0x400]; extern unsigned int ikona [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 ("*** Mřížka 10 x 7 ikony 32x32 ***", CENTER, 228); for (int x = 0; x <10; x ++) for (int y = 0; y <7; y ++) myGLCD.drawBitmap (x*32, y*32, 32, 32, info); zpoždění (5000); myGLCD.fillScr (255, 255, 255); myGLCD.setColor (255, 255, 255); myGLCD.print („Dvě různé ikony v měřítku 1 až 4“, CENTER, 228); int x = 0; pro (int s = 0; s0; s--) {myGLCD.drawBitmap (x, 224- (s*32), 32, 32, ikona, s); x+= (s*32); } zpoždění (5 000); }
Krok 8: Rozhraní tlačítek
#include #include // Inicializace displeje // ------------------ // Nastavte kolíky na správné pro vývojovou desku // ------- ---------------------------------------------------------- - // Standardní Arduino Uno/2009 štít:, 19, 18, 17, 16 // Standardní Arduino Mega/Due štít:, 38, 39, 40, 41 // CTE TFT LCD/SD štít pro 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 // // Nezapomeňte změňte parametr modelu tak, aby vyhovoval vašemu zobrazovacímu modulu! UTFT myGLCD (ITDB32S, 38, 39, 40, 41); // Inicializace dotykové obrazovky // ---------------------- // Nastavte kolíky na správné jedny pro vaši vývojovou desku // ------------------------------------------- ---------------- // Standardní Arduino Uno/2009 štít: 15, 10, 14, 9, 8 // Standardní Arduino Mega/Due štít: 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 pro Arduino Due: 25, 26, 27, 29, 30 // URTouch myTouch (6, 5, 4, 3, 2); // Deklarujte, která písma budeme používat extern uint8_t BigFont ; int x, y; char stCurrent [20] = ""; int stCurrentLen = 0; char stLast [20] = "";/************************* ** Vlastní funkce ** ********* ****************/void drawButtons () {// Nakreslete horní řadu tlačítek pro (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); } // Nakreslete středovou řadu tlačítek pro (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); // Nakreslete spodní řadu tlačítek 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) {pro (x = 0; x
Krok 9: Flappy Bird
#include #include #include // ==== Vytváření objektů UTFT myGLCD (SSD1289, 38, 39, 40, 41); // Parametry by měly být přizpůsobeny vašemu modelu Display/Schield UTouch myTouch (6, 5, 4, 3, 2); // ==== Definování písem extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ; extern unsigned int bird01 [0x41A]; // Bird Bitmapint x, y; // Proměnné pro souřadnice, kde bylo stisknuto zobrazení // 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 nejvyšší skóre; boolean screenPressed = false; boolean gameStarted = false; void setup () {// Zahájit zobrazení myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); nejvyšší skóre = EEPROM.read (0); // Přečíst nejvyšší skóre z EEPROM initiateGame (); // Zahájení hry} void loop () {xP = xP-movingRate; // xP - x souřadnice pilířů; rozsah: 319 - (-51) drawPilars (xP, yP); // Nakreslí pilíře // yB - y souřadnice ptáka, která závisí na hodnotě proměnné klesající rychlosti yB+= fallRateInt; fallRate = fallRate+0,4; // Každou inetrací se rychlost pádu zvyšuje, abychom mohli efekt akcelerace/ gravitace fallRateInt = int (fallRate); // Kontroluje kolizi, pokud (yB> = 180 || yB <= 0) {// horní a dolní část gameOver (); } if ((xP = 5) && (yB <= yP-2)) {// horní pilíř gameOver (); } if ((xP = 5) && (yB> = yP+60)) {// nižší pilíř gameOver (); } // Nakreslí ptáka drawBird (yB); // Poté, co pilíř prošel obrazovkou, pokud (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 nejvyšší skóre) {nejvyšší skóre = skóre; EEPROM.write (0, nejvyšší skóre); } // Resetuje proměnné na počáteční hodnoty polohy xP = 319; yB = 50; fallRate = 0; skóre = 0; lastSpeedUpScore = 0; movingRate = 3; gameStarted = false; // Restartujte hru initiateGame (); }
Krok 10: Práce na projektu
Zdrojový kód najdete v mém úložišti Github.
Odkaz:
Dejte palec nahoru, pokud vám to opravdu pomohlo, a sledujte můj kanál pro zajímavé projekty:)
Pokud chcete, sdílejte toto video.
Jsme rádi, že jste se přihlásili k odběru:
Děkuji za přečtení!
Doporučuje:
Dot Matrix 32x8 Max7219 Rozhraní s Ardiuno: 5 kroků (s obrázky)
Rozhraní Dot Matrix 32x8 Max7219 s Ardiuno: Ahoj všichni, Dot Matrix o Max7219 není v roce 2020 novinkou, až donedávna byl proces nastavení dobře zdokumentován, dalo by se stáhnout hardwarová knihovna z MajicDesigns. a změnilo několik řádků v souborech záhlaví a FC16 fungoval jako kouzlo. To bylo do
Vyberte rozhraní SD pro ESP32: 12 kroků (s obrázky)
Select SD Interface for ESP32: This instructables show something about selecting a SD interface for your ESP32 project
Tlačítko pro propojení rozhraní - základy Arduina: 3 kroky
Propojovací tlačítko - základy Arduina: Tlačítko je součást, která spojuje dva body v obvodu, když jej stisknete.Když je tlačítko otevřené (nestlačené), neexistuje žádné spojení mezi oběma nohami tlačítka, takže je kolík připojen k 5 volty (prostřednictvím vytahovacího odporu
Robot SCARA: učení o Fowardově a inverzní kinematice !!! (Plot Twist Naučte se, jak vytvořit rozhraní v reálném čase v ARDUINO pomocí ZPRACOVÁNÍ !!!!): 5 kroků (s obrázky)
Robot SCARA: učení o Fowardově a inverzní kinematice !!! (Plot Twist Naučte se, jak vytvořit rozhraní v reálném čase v ARDUINO pomocí ZPRACOVÁNÍ !!!!): Robot SCARA je ve světě průmyslu velmi oblíbeným strojem. Název znamená jak robotické rameno sestavené podle výběru, tak kloubové rameno robota. Je to v zásadě robot se třemi stupni volnosti, který je prvními dvěma ukázkami
Tutorial Jak 4místné rozhraní displeje s Arduino UNO: 6 kroků (s obrázky)
Tutorial Jak 4místné rozhraní displeje s Arduino UNO: Tento tutoriál vás naučí některé základy používání 4místného displeje s Arduino UNO