Taula de continguts:
- Subministraments
- Pas 1: Muntatge de la pantalla LCD TFT
- Pas 2: programació de la pantalla TFT LCD
- Pas 3: Fet
Vídeo: Floppy Bird: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Avui farem un joc amb una pantalla TFT LCD. Sembla un joc molt popular i molta gent encara juga a aquest joc. El joc es diu Flappy Bird, però aquest joc és una mica diferent perquè la interfície d’usuari és diferent, així com la forma en què funciona el joc. Vaig anomenar aquest joc Floppy Bird, ja que això podria provocar problemes de copyright. Tot i això, és un joc molt divertit i fàcil de fer. He fet que sigui instructiu, cosa que us permetrà fer el joc completament i fer-lo funcionar com jo. Si teniu cap pregunta, feu un comentari a continuació i intentaré respondre-les el més ràpidament possible.
Subministraments
- Arduino Mega 2560 i cable
- Arduino Mega Shield
- Arduino TFT LCD Compatible amb l'Arduino Mega 2560
- Targeta SD
Pas 1: Muntatge de la pantalla LCD TFT
Ara podem començar a muntar el LCD TFT. Connectarem la pantalla TFT LCD a l’escut, de manera que primer agafeu la pantalla LCD TFT i bàsicament l’alineem amb els pins de l’escut. Un cop alineats els pins, premeu la pantalla TFT LCD cap avall perquè quedi al seu lloc. Quan tots els caps dels pins estan a l’escut i no es poden veure els caps, és aleshores quan sabeu que la pantalla LCD TFT està connectada correctament. A continuació, podem connectar l’escut a l’Arduino Mega 2560. Alineeu els pins de l’escut a l’Arduino Mega i connecteu-lo. Quan tots els capçals de pins estan a l’Arduino Mega i no podeu veure els caps de pin, quan sàpiga que la pantalla LCD TFT està connectada correctament i està a punt per encendre’s. Connecteu l’Arduino per veure si heu connectat correctament la pantalla LCD, si la pantalla LCD s’encén i la pantalla és blanca. Enhorabona, heu connectat correctament la pantalla LCD TFT i ara ja està a punt per programar-se. Per últim, tenim una cosa a fer, que és connectar la targeta SD a la pantalla LCD. A la part posterior de la pantalla LCD TFT hi ha una ranura per a targetes SD on podeu connectar-la simplement. Per tant, només cal que el connecteu i ja està.
Pas 2: programació de la pantalla TFT LCD
Ara, programarem la pantalla LCD perquè executi el joc i puguem jugar-la. A continuació es mostra el codi que heu de compilar i penjar mitjançant l’IDE Arduino.
Problemes que podríeu tenir:
Canvieu els paràmetres de la pantalla LCD TFT segons el model que tingueu.
CODI COMPLET:
#include #include #include
// ==== Creació d'objectes
UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Els paràmetres s’han d’ajustar al model de pantalla / escut URTouch myTouch (6, 5, 4, 3, 2);
// ==== Definició de tipus de lletra
extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ;
extern unsigned int bird01 [0x41A]; // Mapa de bits d’ocells
int x, y; // Variables de les coordenades on s'ha premut la pantalla
// Ocell disquet
int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int FallRateInt = 0; float fallRate = 0; puntuació int = 0; int lastSpeedUpScore = 0; int scoreScore més alt; pantalla booleana Pressed = false; boolean gameStarted = false;
configuració nul·la () {
// Iniciar la visualització de myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); puntuació més alta = EEPROM.read (0); // Llegiu la puntuació més alta de l'EEPROM initiateGame (); // Iniciar el joc}
bucle buit () {
xP = xP-movingRate; // xP - coordenada x dels pilars; interval: 319 - (-51) drawPilars (xP, yP); // Dibuixa els pilars // yB - coordenada y de l’ocell que depèn del valor de la variable caigudaRata yB + = caigudaRataInt; caiguda = caiguda + 0,4; // Cada inetració augmenta la taxa de caiguda de manera que podem obtenir l’efecte de l’acceleració / gravetat fallRateInt = int (fallRate); // Comprova si hi ha col·lisió si (yB> = 180 || yB <= 0) {// joc superior i inferior (); } if ((xP = 5) && (yB <= yP-2)) {// pilar superior gameOver (); } if ((xP = 5) && (yB> = yP + 60)) {// pilar inferior jocOver (); } // Dibuixa l’ocell drawBird (yB);
// Després que el pilar hagi passat per la pantalla
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 <= 268) {// Dibuixa un rectangle blau a la dreta del pilar myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x + 51, 0, x + 60, y); // Dibuixa el pilar myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x + 49, 1, x + 1, y-1); // Dibuixa el marc negre del pilar myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x + 50, 0, x, y); // Dibuixa el rectangle blau a l'esquerra del pilar myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, 0, x-3, y);
// El pilar inferior
myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x + 51, y + 80, x + 60, 204); myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x + 49, y + 81, x + 1, 203); myGLCD.setColor (0, 0, 0); myGLCD.drawRect (x + 50, y + 80, x, 204); myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x-1, y + 80, x-3, 204); } // Dibuixa la puntuació myGLCD.setColor (0, 0, 0); myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (puntuació, 100, 220); }
// ====== drawBird () - Funció personalitzada
void drawBird (int y) {// Dibuixa l'ocell - mapa de bits myGLCD.drawBitmap (50, y, 35, 30, bird01); // Dibuixa rectangles blaus per sobre i per sota de l’ocell per esborrar el seu estat previ myGLCD.setColor (114, 198, 206); myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y + 30, 85, y + 36); } // ======== gameOver () - Funció personalitzada void gameOver () {delay (3000); // 1 segon // Esborra la pantalla i imprimeix el text myGLCD.clrScr (); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print ("GAME OVER", CENTRE, 40); myGLCD.print ("Puntuació", 100, 80); myGLCD.printNumI (puntuació, 200, 80); myGLCD.print ("Reiniciant …", CENTRE, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, CENTRE, 150); retard (1000); myGLCD.printNumI (1, CENTRE, 150); retard (1000); // Escriu la puntuació més alta a l'EEPROM si (puntuació> puntuació més alta) {puntuació més alta = puntuació; EEPROM.write (0, puntuació més alta); } // Restableix les variables per iniciar els valors de posició xP = 319; yB = 50; caiguda = 0; puntuació = 0; lastSpeedUpScore = 0; RateRating = 3; gameStarted = fals; // Reinicieu el joc initiateGame (); }
Pas 3: Fet
Hem fet el circuit i hem compilat el codi. Ara només hem d’endollar el mega Arduino i jugar al joc.
Aquí tinc un enllaç a un vídeo que mostra com funciona aquest joc i què cal fer per configurar-lo:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
Aviseu-me si teniu problemes a continuació.
Recomanat:
Flappy Bird amb accionament muscular: 9 passos (amb imatges)
Muscle Powered Flappy Bird: és possible que recordeu quan Flappy Bird va prendre el món per la tempesta i, finalment, es va fer tan popular que el creador el va eliminar de les botigues d'aplicacions per evitar publicitat no desitjada. Es tracta de Flappy Bird com mai no havies vist abans; combinant uns quants components de la plataforma
Monitor Bird Feeder V2.0: 12 passos (amb imatges)
Bird Feeder Monitor V2.0: es tracta d’un projecte per controlar, fotografiar i registrar el nombre i el temps que passen els ocells visitant el nostre alimentador d’aus. Es van utilitzar diversos Raspberry Pi (RPi) per a aquest projecte. Un es va utilitzar com a sensor tàctil capacitiu, Adafruit CAP1188, per detectar, recorregut
Arduino Flappy Bird - Pantalla tàctil Arduino TFT de 2,4 "SPFD5408 Projecte Bird Game: 3 passos
Arduino Flappy Bird | Pantalla tàctil Arduino de 2,4 "TFT SPFD5408 Projecte de joc d'ocells: Flappy Bird va ser un joc massa popular d'aquí a pocs anys i molta gent el va crear de la seva manera, jo també, vaig crear la meva versió de Flappy Bird amb Arduino i el barat 2.4" TFT Pantalla tàctil SPFD5408, així que comencem
Apple II Floppy Hackintosh I7-7700 3.6Ghz: 7 passos
Apple II Floppy Hackintosh I7-7700 3.6Ghz: aquesta primera imatge us fa referència a una unitat verge (amb el logotip original d'Arc de Sant Martí), la meva té una mica més de quilometratge. La segona imatge són les internes, m’oblidava de fer una foto abans de desmuntar-la, així que per gentilesa de Goog
SD / MMC s'adapta al connector Floppy Edge: 8 passos (amb imatges)
SD / MMC S'adapta al connector Floppy Edge: podeu connectar una targeta de memòria de càmera SD a qualsevol projecte de bricolatge casolà que tingui uns quants pins d'E / S, mitjançant connectors habituals que probablement tingueu ara mateix. Per obtenir més informació, com obtenir mmc gratuït controladors de dispositiu i instal·lació de diversos sistemes de distribució de Linux de codi obert