Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Συναρμολόγηση της οθόνης TFT LCD
- Βήμα 2: Προγραμματισμός της οθόνης TFT LCD
- Βήμα 3: Τέλος
Βίντεο: Floppy Bird: 3 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Σήμερα θα κάνουμε ένα παιχνίδι χρησιμοποιώντας μια TFT LCD. Αυτό θα μοιάζει με ένα παιχνίδι που είναι πολύ δημοφιλές και πολλοί άνθρωποι εξακολουθούν να παίζουν αυτό το παιχνίδι. Το παιχνίδι ονομάζεται Flappy Bird αλλά αυτό το παιχνίδι είναι λίγο διαφορετικό γιατί το UI είναι διαφορετικό καθώς και ο τρόπος λειτουργίας του παιχνιδιού. Κάλεσα αυτό το παιχνίδι Floppy Bird καθώς αυτό θα μπορούσε να οδηγήσει σε προβλήματα πνευματικών δικαιωμάτων. Παρ 'όλα αυτά είναι ένα πραγματικά διασκεδαστικό παιχνίδι και είναι εύκολο να το φτιάξετε. Έκανα αυτό το διδακτικό που θα σας επιτρέψει να κάνετε το παιχνίδι εντελώς και να το κάνετε να λειτουργήσει όπως έκανα. Εάν έχετε οποιεσδήποτε ερωτήσεις, παρακαλώ σχολιάστε παρακάτω και θα προσπαθήσω να απαντήσω σε αυτές τις ερωτήσεις το συντομότερο δυνατό.
Προμήθειες
- Arduino Mega 2560 και καλώδιο
- Arduino Mega Shield
- Arduino TFT LCD Συμβατό με το Arduino Mega 2560
- Κάρτα SD
Βήμα 1: Συναρμολόγηση της οθόνης TFT LCD
Τώρα, μπορούμε να ξεκινήσουμε τη συναρμολόγηση της TFT LCD. Θα συνδέσουμε το TFT LCD στην ασπίδα, οπότε πρώτα πάρτε το TFT LCD και βασικά ευθυγραμμίστε το με τις ακίδες της ασπίδας. Αφού ευθυγραμμίσετε τις καρφίτσες, σπρώξτε την οθόνη TFT LCD προς τα κάτω ώστε να ταιριάζει στη θέση της. Όταν όλες οι κεφαλές καρφιτσών βρίσκονται στην ασπίδα και δεν μπορείτε να δείτε τις κεφαλές καρφιτσών, τότε γνωρίζετε ότι η οθόνη TFT LCD είναι σωστά συνδεδεμένη. Στη συνέχεια, μπορούμε να συνδέσουμε την ασπίδα στο Arduino Mega 2560. Ευθυγραμμίστε τις ακίδες της ασπίδας στο Arduino Mega και συνδέστε το. Όταν όλες οι κεφαλές καρφιτσών βρίσκονται στο Arduino Mega και δεν μπορείτε να δείτε τις κεφαλές των καρφιτσών, αυτό είναι όταν γνωρίζετε ότι η οθόνη LCD TFT είναι σωστά συνδεδεμένη και είναι έτοιμη για ενεργοποίηση. Συνδέστε το Arduino για να δείτε αν έχετε συνδέσει σωστά την οθόνη LCD, εάν η οθόνη LCD ανάβει και η οθόνη είναι λευκή τότε συγχαρητήρια, έχετε συνδέσει με επιτυχία την οθόνη TFT LCD και τώρα είναι έτοιμο για προγραμματισμό. Τέλος, έχουμε ένα πράγμα να κάνουμε, δηλαδή να συνδέσουμε την κάρτα SD στην οθόνη LCD. Στο πίσω μέρος της οθόνης TFT LCD υπάρχει υποδοχή κάρτας SD όπου μπορείτε απλά να συνδέσετε την κάρτα SD. Επομένως, απλώς συνδέστε το και τελείωσε.
Βήμα 2: Προγραμματισμός της οθόνης TFT LCD
Τώρα, θα προγραμματίσουμε την οθόνη LCD έτσι ώστε να τρέχει το παιχνίδι και να μπορούμε να το παίξουμε. Παρακάτω είναι ο κώδικας που πρέπει να μεταγλωττίσετε και να ανεβάσετε χρησιμοποιώντας το Arduino IDE.
Προβλήματα που μπορεί να έχετε:
Αλλάξτε τις παραμέτρους της TFT LCD ανάλογα με το μοντέλο που έχετε.
ΠΛΗΡΗΣ ΚΩΔΙΚΟΣ:
#συμπεριλάβω #συμπεριλάβω #συμπεριλάβω
// ==== Δημιουργία αντικειμένων
UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // Οι παράμετροι πρέπει να προσαρμοστούν στο μοντέλο οθόνης/ασπίδας URTouch myTouch (6, 5, 4, 3, 2).
// ==== Καθορισμός γραμματοσειρών
extern uint8_t SmallFont ; extern uint8_t BigFont ; extern uint8_t SevenSegNumFont ;
εξωτερικό ανυπόγραφο int bird01 [0x41A]; // Birdmap
int x, y; // Μεταβλητές για τις συντεταγμένες όπου έχει πατηθεί η οθόνη
// Floppy Bird
int xP = 319; int yP = 100; int yB = 50; int moveRate = 3; int fallRateInt = 0; float fallRate = 0; βαθμολογία int = 0; int lastSpeedUpScore = 0; int υψηλότερη βαθμολογία; boolean screenPressed = false; boolean gameStarted = false;
void setup () {
// Έναρξη εμφάνισης myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); υψηλότερη βαθμολογία = EEPROM.read (0); // Διαβάστε την υψηλότερη βαθμολογία από το EEPROM initateGame (); // Ξεκινήστε το παιχνίδι}
void loop () {
xP = xP-moveRate; // xP - x συντεταγμένη των πυλώνων. εύρος: 319 - (-51) drawPilars (xP, yP); // Σχεδιάζει τους πυλώνες // yB - y συντεταγμένη του πουλιού που εξαρτάται από την τιμή της μεταβλητής πτώσηςRate yB+= fallRateInt; fallRate = fallRate+0,4; // Κάθε εισροή ο ρυθμός πτώσης αυξάνεται έτσι ώστε να μπορούμε να επιδράσουμε στην επιτάχυνση/ βαρύτητα fallRateInt = int (fallRate). // Ελέγχει για σύγκρουση εάν (yB> = 180 || yB <= 0) {// πάνω και κάτω gameOver (); } if ((xP = 5) && (yB <= yP-2)) {// παιχνίδι άνω πυλώναOver (); } if ((xP = 5) && (yB> = yP+60)) {// χαμηλότερη κολόνα gameOver (); } // Σχεδιάζει το πουλί drawBird (yB);
// Αφού περάσει ο στύλος από την οθόνη
εάν (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) {// Σχεδιάζει μπλε ορθογώνιο δεξιά στον πυλώνα myGLCD.setColor (114, 198, 206); myGLCD.fillRect (x+51, 0, x+60, y); // Σχεδιάζει τον πυλώνα myGLCD.setColor (0, 200, 20); myGLCD.fillRect (x+49, 1, x+1, y-1); // Σχεδιάζει το μαύρο πλαίσιο του στύλου myGLCD.setColor (0, 0, 0). myGLCD.drawRect (x+50, 0, x, y); // Σχεδιάζει το μπλε ορθογώνιο αριστερά του πυλώνα myGLCD.setColor (114, 198, 206). myGLCD.fillRect (x-1, 0, x-3, y);
// Ο κάτω πυλώνας
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); } // Σχεδιάζει τη βαθμολογία myGLCD.setColor (0, 0, 0); myGLCD.setBackColor (221, 216, 148); myGLCD.setFont (BigFont); myGLCD.printNumI (βαθμολογία, 100, 220); }
// ====== drawBird () - Προσαρμοσμένη λειτουργία
void drawBird (int y) {// Draws the bird - bitmap myGLCD.drawBitmap (50, y, 35, 30, bird01); // Σχεδιάζει μπλε ορθογώνια πάνω και κάτω από το πουλί προκειμένου να καθαρίσει την κατάσταση του προγενέστερου myGLCD.setColor (114, 198, 206). myGLCD.fillRoundRect (50, y, 85, y-6); myGLCD.fillRoundRect (50, y+30, 85, y+36); } // ======== gameOver () - Προσαρμοσμένη λειτουργία void gameOver () {καθυστέρηση (3000); // 1 δευτερόλεπτο // Καθαρίζει την οθόνη και εκτυπώνει το κείμενο myGLCD.clrScr (); myGLCD.setColor (255, 255, 255); myGLCD.setBackColor (0, 0, 0); myGLCD.setFont (BigFont); myGLCD.print ("GAME OVER", CENTER, 40); myGLCD.print ("Βαθμολογία:", 100, 80); myGLCD.printNumI (βαθμολογία, 200, 80); myGLCD.print ("Επανεκκίνηση …", CENTER, 120); myGLCD.setFont (SevenSegNumFont); myGLCD.printNumI (2, ΚΕΝΤΡΟ, 150); καθυστέρηση (1000)? myGLCD.printNumI (1, ΚΕΝΤΡΟ, 150); καθυστέρηση (1000)? // Γράφει την υψηλότερη βαθμολογία στην EEPROM εάν (βαθμολογία> υψηλότερη βαθμολογία) {υψηλότερη βαθμολογία = βαθμολογία? EEPROM.write (0, υψηλότερη βαθμολογία); } // Επαναφέρει τις μεταβλητές για να ξεκινήσει τις τιμές θέσης xP = 319; yB = 50; fallRate = 0; βαθμολογία = 0; lastSpeedUpScore = 0; κίνησηRate = 3; gameStarted = false? // Επανεκκίνηση παιχνιδιού initateGame (); }
Βήμα 3: Τέλος
Έχουμε κάνει το κύκλωμα και έχουμε συντάξει τον κώδικα. Τώρα, απλώς πρέπει να συνδέσουμε το Arduino mega και να παίξουμε το παιχνίδι.
Εδώ, έχω έναν σύνδεσμο για ένα βίντεο που δείχνει πώς λειτουργεί αυτό το παιχνίδι και τι πρέπει να κάνετε για να το ρυθμίσετε:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
Ενημερώστε με αν έχετε προβλήματα παρακάτω.
Συνιστάται:
Floppy Disk IR Camera Hack: 8 βήματα (με εικόνες)
Floppy Disk IR Camera Hack: Τα τελευταία επτά χρόνια, είχα μια σπασμένη ψηφιακή φωτογραφική μηχανή ξαπλωμένη. Είναι ακόμα σε θέση να τραβήξει φωτογραφίες, αλλά είναι σχεδόν αδύνατο να χρησιμοποιηθεί λόγω σπασμένης οθόνης. Το θεμελιώδες πρόβλημα είναι ότι μερικές φορές το μενού θα πάρει κατά λάθος
Arduino Flappy Bird - Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: 3 Βήματα
Arduino Flappy Bird | Arduino 2.4 "TFT Touchscreen SPFD5408 Bird Game Project: Το Flappy Bird ήταν πολύ δημοφιλές παιχνίδι εκεί σε λίγα χρόνια και πολλοί το δημιούργησαν με τον δικό τους τρόπο, όπως και εγώ, δημιούργησα τη δική μου έκδοση flappy bird με το Arduino και το φθηνό 2.4" TFT " Οθόνη αφής SPFD5408, Ας ξεκινήσουμε λοιπόν
Έξυπνο σύστημα διεύθυνσης για αυτοκίνητα ρομπότ που χρησιμοποιούν Stepper Motor of Old Floppy/CD Drive: 8 βήματα (με εικόνες)
Έξυπνο σύστημα διεύθυνσης για αυτοκίνητα ρομπότ χρησιμοποιώντας Stepper Motor of Old Floppy/CD Drive: Έξυπνο σύστημα διεύθυνσης για ρομποτικά αυτοκίνητα Ανησυχείτε να φτιάξετε ένα καλό σύστημα διεύθυνσης για το ρομπότ σας; Εδώ είναι μια εξαιρετική λύση χρησιμοποιώντας μόνο τις παλιές μονάδες δισκέτας/ CD/ DVD. προσέξτε το και πάρτε μια ιδέα για αυτόΕπισκεφτείτε το georgeraveen.blogspot.com
Apple II Floppy Hackintosh I7-7700 3.6Ghz: 7 Βήματα
Apple II Floppy Hackintosh I7-7700 3.6Ghz: Αυτή η πρώτη εικόνα είναι για να σας δώσει αναφορά σε μια παρθένα μονάδα δίσκου (με το αρχικό λογότυπο της Ουράνιο τόξο της Apple), η δική μου έχει λίγο παραπάνω χιλιόμετρα. Η δεύτερη εικόνα είναι η εσωτερική, ξέχασα να βγάλω μια φωτογραφία πριν την αποσυναρμολογήσω, έτσι ευγενική προσφορά του Goog
Θήκη/περίβλημα για Amiga Arduino Floppy Drive: 5 Βήματα
Θήκη/περίβλημα για Amiga Arduino Floppy Drive: Αυτό το οδηγό εξηγεί πώς να συναρμολογήσετε τη θήκη της δισκέτας για το έργο Arduino Amiga Floppy Disk Reader/Writer για Windows. Για να ολοκληρώσετε αυτό το έργο θα χρειαστείτε: Τρισδιάστατο εκτυπωτή στο abo