תוכן עניינים:
וִידֵאוֹ: ציפור תקליטונים: 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:12
היום נכין משחק באמצעות TFT LCD. זה ייראה כמו משחק שהוא ממש פופולרי והרבה אנשים עדיין משחקים את המשחק הזה. המשחק נקרא Flappy Bird אבל המשחק הזה קצת שונה מכיוון שממשק המשתמש שונה כמו גם האופן בו המשחק פועל. קראתי למשחק הזה Floppy Bird מכיוון שזה עלול להוביל לבעיות זכויות יוצרים. עם זאת, הוא משחק מהנה מאוד וקל להכנה. עשיתי את זה להנחיה שיאפשר לך להפוך את המשחק לחלוטין ולגרום לו לעבוד כמו שעשיתי. אם יש לך שאלות, אנא הערה למטה ואני אנסה לענות על שאלות אלה במהירות האפשרית.
אספקה
- Arduino מגה 2560 וכבל
- מגן מגה ארדואינו
- Arduino TFT LCD תואם ל- Arduino Mega 2560
- כרטיס זיכרון
שלב 1: הרכבת מסך TFT
כעת, אנו יכולים להתחיל להרכיב את LCD TFT. נחבר את ה- LCD TFT למגן, אז ראשית קח את ה- LCD TFT ובעצם יישר אותו עם הסיכות שעל המגן. לאחר יישור הסיכות, דחוף את ה- LCD TFT כלפי מטה כך שיתאים למקומו. כאשר כל ראשי הסיכות נמצאים במגן ואתה לא יכול לראות את ראשי הסיכות, אז אתה יודע ש- TFT LCD מחובר כראוי. לאחר מכן, אנו יכולים לחבר את המגן ל- Arduino Mega 2560. יישר את סיכות המגן על ה- Arduino Mega ולחבר אותו. כאשר כל ראשי הסיכות נמצאים במגה Arduino ואתה לא יכול לראות את ראשי הסיכות, זה כאשר אתה יודע ש- TFT LCD מחובר כהלכה והוא מוכן להפעלה. חבר את ה- Arduino כדי לראות אם חיברת את ה- LCD כראוי, אם ה- LCD נדלק והמסך לבן אז מזל טוב, חיברת בהצלחה את ה- TFT LCD ועכשיו הוא מוכן לתכנות. לבסוף, יש לנו דבר אחד לעשות, שהוא חיבור כרטיס ה- SD ב- LCD. בחלקו האחורי של TFT LCD יש חריץ לכרטיס SD שבו אתה יכול פשוט לחבר את כרטיס ה- SD. לכן, פשוט חבר אותו וזה נגמר.
שלב 2: תכנות LCD TFT
כעת, נתכנת את ה- LCD כך שיפעיל את המשחק ונוכל לשחק אותו. להלן הקוד שאתה צריך לאסוף ולהעלות באמצעות Arduino IDE.
בעיות שעשויות להיות לך:
שנה את הפרמטרים של LCD TFT בהתאם לדגם שיש לך.
קוד מלא:
#include #include #include
// ==== יצירת אובייקטים
UTFT myGLCD (ILI9341_16, 38, 39, 40, 41); // יש להתאים את הפרמטרים לדגם התצוגה/מגן URTouch myTouch (6, 5, 4, 3, 2);
// ==== הגדרת גופנים
חיצוני uint8_t SmallFont ; חיצוני uint8_t BigFont ; חיצוני uint8_t SevenSegNumFont ;
חיצוני int חתום int bird01 [0x41A]; // מפת סיביות לציפורים
int x, y; // משתנים לקואורדינטות שבהן נלחצה התצוגה
// ציפורי תקליטונים
int xP = 319; int yP = 100; int yB = 50; int movingRate = 3; int fallRateInt = 0; float fallRate = 0; int score = 0; int lastSpeedUpScore = 0; int הגבוה ביותר; screen booleanPressed = false; game booleanStarted = false;
הגדרת בטל () {
// התחל להציג myGLCD. InitLCD (); myGLCD.clrScr (); myTouch. InitTouch (); myTouch.setPrecision (PREC_MEDIUM); highestScore = EEPROM.read (0); // קרא את הציון הגבוה ביותר מ- EEPROM initiateGame (); // ליזום את המשחק}
לולאת חלל () {
xP = xP-movingRate; // xP - קואורדינטת x של העמודים; טווח: 319 - (-51) drawPilars (xP, yP); // מצייר את העמודים // yB - y קואורדינטה של הציפור שתלויה בערך משתנה fallRate yB+= fallRateInt; fallRate = fallRate+0.4; // בכל כניסה קצב הנפילה עולה כך שנוכל להשפיע על האצה/ כוח הכבידה fallRateInt = int (fallRate); // בודק התנגשות אם (yB> = 180 || yB <= 0) {// gameOver () למעלה ותחתון (); } אם ((xP = 5) && (yB <= yP-2)) {// עמוד עליון gameOver (); } אם ((xP = 5) && (yB> = yP+60)) {// gameunder עמוד תחתון (); } // מצייר את הציפור 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); } אחרת אם (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) {// מצייר את הציפור - מפת סיביות 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 () {delay (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, CENTRE, 150); עיכוב (1000); myGLCD.printNumI (1, CENTRE, 150); עיכוב (1000); // כותב את הציון הגבוה ביותר ב- EEPROM אם (ציון> הציון הגבוה ביותר) {הגבוה ביותר = הציון; EEPROM.write (0, הגבוה ביותר); } // מאפס את המשתנים להתחלת ערכי מיקום xP = 319; yB = 50; fallRate = 0; ציון = 0; lastSpeedUpScore = 0; movingRate = 3; gameStarted = false; // הפעל מחדש את המשחק initateGame (); }
שלב 3: בוצע
יצרנו את המעגל וריכזנו את הקוד. עכשיו, אנחנו רק צריכים לחבר את המגה Arduino ולשחק את המשחק.
הנה, יש לי קישור לסרטון שמראה כיצד המשחק הזה עובד ומה עלי לעשות כדי להגדיר אותו:
drive.google.com/file/d/18hKQ8v2w2OkM_std-…
הודע לי אם יש לך בעיות למטה.
מוּמלָץ:
ציפור פלאפפי המופעלת על ידי שרירים: 9 שלבים (עם תמונות)
Muscle Powered Flappy Bird: אתה אולי זוכר מתי Flappy Bird כבש את העולם בסערה, ובסופו של דבר הפך להיות כל כך פופולרי שהיוצר הסיר אותו מחנויות האפליקציות כדי להימנע מפרסום לא רצוי. זהו ציפור פלאפי כפי שמעולם לא ראיתם; על ידי שילוב של כמה מהמדפים
מערכת היגוי חכמה למכוניות רובוט באמצעות מנוע צעד של כונן תקליטונים/כונן תקליטורים ישן: 8 שלבים (עם תמונות)
מערכת היגוי חכמה למכוניות רובוט באמצעות מנוע צעד של כונן תקליטונים/כונן ישן: מערכת היגוי חכמה למכוניות רובוטיות האם אתה חושש להכין מערכת היגוי טובה לרכב הרובוט שלך? להלן פתרון מעולה רק באמצעות כונני התקליטונים/ CD/ DVD הישנים שלך. צפה בו וקבל מושג על זה בקר georgeraveen.blogspot.com
מארז/מארז כונן תקליטונים של Amiga Arduino: 5 שלבים
מארז/מארז כונן תקליטונים של Amiga Arduino: הוראה זו מסבירה כיצד להרכיב את מארז הכוננים לתקליטור/כותב התקליטונים של Arduino Amiga Floppy Drive. להשלמת הפרויקט תצטרך: מדפסת תלת מימד לוח Arduino pro mini ו- FTDI על אבו
תיק תקליטונים: התקנת דיסק 2: 21 שלבים (עם תמונות)
תיק תקליטונים: התקנת דיסק 2: קרוב לפני שנתיים, התחלתי לעבוד על תיק התקליטונים הראשון שלי (תמונה שנייה) ולאחר מכן על ההוראה הראשונה שלי. בתוך השנתיים האלה, התיק כבר בלוג ברחבי העולם, זכה בתחרות instructables.com ובפרסי אמנות שונים, b
תיקון מחדש של תיקי תקליטונים: חוט EL: 6 שלבים (עם תמונות)
תיקון תיקי תקליטונים: W Wire: מכיוון שרבים מהשיעורים שלי מונח זה יהיה בלילה ולאחר שראיתי כמה זול חוט EL, החלטתי להוסיף כמה לתיק שלי, מכיוון שרבים מהשיעורים שלי מונח זה יהיה בלילה. זה גם יגדיל את הנראות בעת השימוש בו כתיק אופניים. מה אתה