תוכן עניינים:

פוינג! - משחק ארקייד ארדואינו !: 3 שלבים
פוינג! - משחק ארקייד ארדואינו !: 3 שלבים

וִידֵאוֹ: פוינג! - משחק ארקייד ארדואינו !: 3 שלבים

וִידֵאוֹ: פוינג! - משחק ארקייד ארדואינו !: 3 שלבים
וִידֵאוֹ: מה משחקים ביפן- ארקדיית חול קסמים 2024, דֵצֶמבֶּר
Anonim
Image
Image
פוינג! - משחק ארקייד ארדואינו!
פוינג! - משחק ארקייד ארדואינו!

נבנה משחק ארקייד בסגנון PONG העושה שימוש בחלקים מתוך ערכת "ערכת המתחרים השלמה ביותר UNO R3 Project" של חברת Elegoo Inc.

גילוי מלא - רוב החלקים שסופקו להוראה זו נמסרו למחבר על ידי חברת Elegoo Inc.

רציתי לבנות פרויקט באמצעות מודול LED Matrix. צג ה- LED 8x8 הבסיסי דורש שימוש ברשמי משמרות נוספים בכדי שניתן יהיה לטפל בנוריות הנפרדות במטריצה. במקום זאת, פרויקט זה משתמש במודול LED 8X8 MAX7219. זהו מודול קל מאוד לשימוש.

הייתי מציע שבגלל ריבוי חיבורי החיווט בפרויקט זה, זה ייחשב ברמה בינונית להדרכה.

בואו נתחיל!

אספקה

השתמשו בחלקי ערכת Starter Elegoo (https://rebrand.ly/dvjb3w8)

  • בקר מיקרו UNO R3
  • מודול LED MAX7219 8x8
  • מודול תצוגה LCD 16x2
  • 10K חיתוך פוטנציומטר וכפתור
  • חוטי דופונט
  • הנגד 220R
  • באזר פסיו פסיבי
  • מודול אספקת חשמל
  • מתאם 9V 1A - נחוץ מכיוון שה UNO לא יכול לספק מספיק זרם למודול LED 8x8
  • לוח לחם

יש צורך בחלקים נוספים

2 x 10K פוטנציומטר לינארי - זול וזמין באופן נרחב ב- eBay, AliExpress, Banggood וכו '.

שלב 1: חיווט המעגל

חיווט במעגל
חיווט במעגל

חבר את המעגל לפי תרשים החיווט. קח את הזמן. יש הרבה חיבורים הדרושים לשתי התצוגות.

שימו לב בתצלום המעגל שמודול החשמל מחובר לצד השמאלי של לוח הלחם ומתאם DC 9V 1A מחובר למודול החשמל כך שיסופק מספיק זרם למטריצת ה- LED. אין קשר בין סיכת 5V ב- UNO ללוח הלחם. אבל סיכת ה- GND ב- UNO מחוברת ל- GND בלוח הלחם.

בדוק את העבודה שלך כפול ושליש.

שלב 2: קוד ארדואינו

מדריך זה מניח שאתה כבר יודע לתכנת בארדואינו.

הורד את מערכון הארדואינו המצורף. ודא שהוספת בספריית LedControl לספריות ה- Arduino שלך. השתמשתי בגרסה של אברהרד פאהל. פשוט חפש את MAX7219 בדפדפן ניהול הספריות ותמצא אותו והתקן אותו.

ודא שקובץ pitches.h נמצא בתיקיית הסקיצה שלך. הוא משמש לניגון הצלילים במשחק.

קצת על תזמון

מכיוון שפקודת ה עיכוב () מפסיקה את ביצוע הסקיצה שלך במלואה כאשר היא פועלת, אנו מחפשים במקום פרקי זמן שחלפו כאשר אנו רוצים לבצע חלקים הקשורים לאנימציה בסקיצה. אנו מחפשים זמן מוגדר מראש עד שנבצע חלקים מהסקיצה כגון עדכון מיקום הכדור בתצוגה.

באופן משמעותי יותר, הפקודה delay () מבוצעת באמת רק בשיטת הלולאה (). בדרך כלל הוא אינו מתבצע כצפוי בשיטות אחרות. כך שכל התזמון הקשור לאנימציה מתבצע בשיטת הלולאה ().

דוגמא:

אנו מגדירים כמה משתנים מסוג 'ארוך' וכמה בולינים ואז מגדירים אותם בסוף ההתקנה ().

bThresh = 80; // הזמן באלפיות השנייה בין עדכוני הכדור

ballTime = millis (); // מוגדר לזמן המערכת הנוכחי

bon = false; // האם הכדור LED מופעל או כבוי

ballReturn = false; // האם אנו מחזירים כדור לאחר חבטת משוט?

בלולאה () לציור הכדור יש לנו:

if ((millis () - ballTime> bThresh) && bon == false) {// אם הכדור כבוי והזמן מספיק עבר ballOn (); // הפעל את נורית הכדור

bon = נכון; // הכדור מופעל כעת

ballTime = millis (); // אפס את ballTime לשעה הנוכחית

}

if ((millis () - ballTime> bThresh) && bon == true) {// אם הכדור מופעל וחלף מספיק זמן

ballOff (); // לכבות את LED הכדור

bon = false; // הכדור כעת כבוי

ballTime = millis (); אפס את ballTIme לשעה הנוכחית

}

ישנן דרכים רבות ליצור את המשחק הזה. אלה רק ההעדפות שלי.

המערכון מתועד במלואו ולכן אני מזמין אותך לקרוא את הקוד כדי לראות כיצד הוא פועל.

בדוק, ריכז והעלה את הקוד שלך.

תהנה לשחק את המשחק שלך!

שלב 3: מסקנה

סיכום
סיכום
סיכום
סיכום

תודתי מגיעה ל- Elegoo Inc על אספקת ערכת המתנע המשמשת בפרויקט זה. זוהי ערכה עם מגוון גדול של חלקים ומודולים שיכניסו אותך היטב לעולם Arduino Maker.

מוּמלָץ: