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

מכונת ארקייד לאדרי פונג LED רצועת LED: 8 שלבים
מכונת ארקייד לאדרי פונג LED רצועת LED: 8 שלבים

וִידֵאוֹ: מכונת ארקייד לאדרי פונג LED רצועת LED: 8 שלבים

וִידֵאוֹ: מכונת ארקייד לאדרי פונג LED רצועת LED: 8 שלבים
וִידֵאוֹ: מכונת ארקייד שבניתי 2024, יולי
Anonim
מכונת ארקייד LED רצועת אטארי פונג
מכונת ארקייד LED רצועת אטארי פונג

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

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

רשימת החלקים הבסיסית תחולק במדורים: כלים, חלקי הרכבה ורכיבים

הכלים שתזדקקו להם יכללו את הדברים הבאים:

- תרגיל

- מלחם

- מברג (מתאים לברגים שאתה מחליט להשתמש בהם)

- מטר רב

- מסור במחזור, מסור להקה או חותך לייזר האם יש לך גישה לאחד

-חותך או מספריים

- אקדח דבק

חלקים שתזדקק להם להרכבה יכללו

- דבק לעץ

- 10 סנטימטרים על סנטימטר אחד בגושי עץ

- יריעה גדולה של עץ רבע אינץ 'או עץ לבחירה

- 24 ברגים באורך חצי סנטימטר

- 14 x 6.5 אינץ 'של פלסטיק מפוזר לד (אופציונלי)

- סרט חשמל אדום וכחול

הרכיבים שתדרשו הם:

- 2 פוטנציומטרים של 100k אוהם

- 8 מטרים של פס לד שניתן להתייחס אליו בנפרד (30 נוריות למטר)

www.amazon.ca/ALITOVE-WS2812B-Individually-Addressable-Waterproof/dp/B018XAELE4/ref=sr_1_1?s=hi&ie=UTF8&qid=1535323567&sr=1-

- כמה מטרים של חוט או מספר צבעים של חוט

- מתאם מתח AC ל DC שיוצא 6V דרך תקע שקע חבית

- אחד Arduino Uno R3

אם אין לך גישה ל- Arduino Uno R3 כמוני אתה יכול לבנות אחד כמו זה בו אשתמש בפרויקט זה המשתמש במעבד atmel328-pu. עקוב אחר קישור זה כדי ללמוד כיצד לבנות משלך

אם אתה משתמש ב- arduino uno המשך לשלב הראשון.

שלב 1: בניית מערך ה- LED

בניית מערך LED
בניית מערך LED
בניית מערך LED
בניית מערך LED
בניית מערך LED
בניית מערך LED

שלב זה הוא השלב הפשוט ביותר שדורש זמן רב בשל כל ההלחמות שעליך לבצע.

-לכתחילה תצטרך חתיכת עץ בגודל 10 3/4 אינץ על 6 1/2 אינץ '.

-ברגע שיש לך את פיסת העץ שלך, תפוס את רצועת הלד שלך וחתוך 26 קטע כל 10 לד או כל 6 1/2 אינץ '.

-לאחר חיתוך הקטעים הדביקו אותם לעץ שלכם בצורה אנכית כמו המראה בתמונות הבאות המוצגות בתמונה הראשונה למעלה.

-ברגע שהדבקת את הרצועות ואפשרת להן להתייצב נתחיל בהלחמה.

-תזדקק לשלושה חוטים בצבעים שונים

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

-בסוף לאחר שהלחמת אותם פשוט תעטוף רצועת חשמל על חיבורי ההלחמה שלך עם הצבעים המתאימים. כפי שמוצג בתמונה השלישית למעלה.

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

שלב 2: פקדי ההנעה

פקדי ההנעה
פקדי ההנעה
פקדי ההנעה
פקדי ההנעה
פקדי ההנעה
פקדי ההנעה

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

לאחר שהלחמת את החוטים, נחבר אותם ל- Arduino. אתם האפסיביים והשליליים תתחברו לשם לגשמים חיוביים ושליליים תואמים. אתה פלט חוטים על הפוטנציומטרים יתחברו לכניסות שונות בארדואינו. אחד יתחבר לתקע (A0) והשני יתחבר לתקע (A1).

שלב 3: חיתוך המארז

חיתוך התיק
חיתוך התיק
חיתוך התיק
חיתוך התיק
חיתוך התיק
חיתוך התיק
חיתוך התיק
חיתוך התיק

חלק זה ייתן לך את המידות והזוויות על מה שתצטרך לחתוך

**** חשוב מאוד ***** וודא שהעץ שלך הוא בעובי רבע סנטימטר (1/4 אינץ ')

גם בעת חיתוך חלקים זכור לתייג את החלקים שלך

החלק הבסיסי לחיתוך יהיה מסומן תחתון, אחורי, עליון, קדמי למעלה, תחתון קדמי …. מוצג בתמונות בהתחלה

מידות חלק

- תחתון: 13 3/4 אינץ 'X 10 1/4 אינץ'

- גב: 13 3/4 אינץ 'X 15 1/2 אינץ'

- למעלה: 13 3/4 אינץ 'X 6 1/2 אינץ'

- תחתית קדמית: 13 3/4 אינץ 'X 4 1/4 אינץ'

- לוח חיוג: 13 3/4 אינץ 'X 6 אינץ'

- חלק עליון פנימי: 13 3/4 אינץ 'X 3 1/4 אינץ'

- ציפוי LED: 6 1/4 אינץ 'X 1 אינץ' (חתוך שניים מאלה)

- תחתון פנימי LED: 13 1/4 אינץ 'X 4 1/2 אינץ'

- לוח LED אחורי פנימי: 13 1/4 אינץ 'X 9 אינץ'

- בלוקים: 1 אינץ 'X 1 אינץ' X 1 אינץ '(חותכים 10 בלוקים)

- לוח אקריליק: 13 3/4 אינץ 'X 6 1/2 אינץ'

התמונות שלמעלה יראו לכם את הזוויות והמידות של חלק הלוח הצדדי. גם תצטרך לחתוך שניים מהחלק הזה

שלב 4: הרכבת מארז

הרכבת מארז
הרכבת מארז
הרכבת מארז
הרכבת מארז
הרכבת מארז
הרכבת מארז

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

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

-כדי להתחיל בהרכבה נזדקק ל -4 קוביות עץ 1x1x1 של הבסיס, שני לוחות הצד, החלק האחורי והתחתון הקדמי. הניחו את 4 הגושים בכל פינה בתחתית והשאירו רבע סנטימטר בין הקצה לגוש כפי שמוצג בתמונה השנייה בהתחננות המדרגה.

-בהמשך תצטרך לקדוח כמה חורי טייס דרך העץ והבלוקים. ברגע שעשית את הבורג אז לתחתית.

-במשך נשים את לוחות הצד. מניחים את הלוחות על המרווח של רבע אינץ 'בצד החיצוני של הבלוק. לקדוח חור טייס דרך הלוח הצדדי ובלוק העץ ולהבריג את הלוחות פנימה חזור על הצד השני.

-לאחר השלמת לוחות הצד. נשים את הלוח התחתון הקדמי. מניחים את הלוח סמוך לתחתית והצדדים מקדחים את חורי הטייסים לתוך הבלוקים ומבריגים את הלוח.

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

-בשלב זה יש לך בסיס לבנות ממנו והבנה כיצד אנו מרכיבים את התיק הזה.

החלק הבא הוא קצת יותר מאתגר בשל העובדה שאתה עובד עם שטח קטן יותר. כדי להתחיל נצטרך את כל החלקים העליונים ו -6 בלוקים.

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

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

-עכשיו נרכיב את שאר החלק העליון

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

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

-ישאר לך משהו כזה (מוצג בתמונה הראשונה של שלב זה)

השלב הבא יסביר את שאר ההרכבה.

שלב 5: סיום ההרכבה

סיום האסיפה
סיום האסיפה
סיום האסיפה
סיום האסיפה
סיום האסיפה
סיום האסיפה

בשלב זה כמעט השלמת את התיק ואת הבנייה רק כמה דברים שתוכנן ותסיים.

עכשיו כל שנותר הוא התקנת האלקטרוניקה.

-נתחיל בקידוח חורים בלוח החיוג שלך לפוטנציומטר שלך. אל תהסס לקדוח את החורים שבהם אתה מרגיש שזה יהיה נוח. במקרה שלי יש לי למקם את החורים 2 1/2 אינץ 'מלמטה ו -3 1/2 אינץ' מהצד לשני הפוטנציומטרים.

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

לאחר שהדבק יסיים לייבש, נכניס את החלקים האלקטרוניים. אך ראשית נצטרך להסיר את הלוח האחורי.

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

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

*** זהירות ***-היזהר במיוחד בעת הכנסת מערך ה- LED מכיוון שנקודות הלחמה יכולות להיות שבירות.

-עכשיו הגענו לחלק החשוב ביותר, הכנסת מערך ה- led. פשוט הניחו את הלוח כפי שמוצג בתמונה השנייה.

ברגע שתשיג את הלוח הפנימי שלך והנח אותו בתוך המארז ישירות מתחת ללוח האחורי של מערך ה- LED. היצירה הזו עשויה להתאים לי. תן לזה להתייבש לפני שתמשיך.

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

נדע למקם את זה ישירות מאחורי גיבוי ה- LED וללחוץ קלות על החלק האחורי של הלדים כדי למנוע מהם לזוז. לאחר הכנסת יש למרוח דבק לאורך הקצה כדי למנוע ממנו לזוז. מוצג בתמונה השלישית.

**** מזל טוב שסיימת את כל ההרכבה !!!

המשך לשלב האחרון לקידוד המשחק

שלב 6: הקוד

כל הכבוד שוב על הגעתך עד הלום.

בחלק זה אראה לך את הקוד וכיצד לגרום לו לפעול בנוסף לדברים בקוד תוכל לשנות ולהתאים אותו אישית.

אבל לפני שנכנס לזה תצטרך את (adafruit_NeoPixel-master) קישרתי גם את ההורדה.

כדי להתקין את המאסטר פתח את תוכנית הארדואינו שלך

1. ללכת לסקיצה

2. פתוח כולל ספרייה

3. לחץ על (add.zip ספריית)

4. בחר את הקובץ (adafruit_NeoPixel-master) וסיימת

מתחת לזה הדבקתי את הקוד למשחק.

#לִכלוֹל

#לִכלוֹל

כדורים ארוכים = 12;

ballYabs ארוך = 4;

int ballX;

int ballY;

int ballvelX = 1;

int ballvelY = 1;

אינדקס int;

int fps = 50;

int paddlewidth = 3;

int paddlemax = 9 - רוחב ההנעה + 1;

int knobseg = 1023 / (paddlemax);

int paddle1 = 4;

int paddle2 = 4;

#הגדר NUMPIXELS 260

#הגדר PIN 6

Adafruit_NeoPixel פיקסלים = Adafruit_NeoPixel (NUMPIXELS, PIN6, NEO_GRB + NEO_KHZ800);

הגדרת בטל () {

פיקסלים.התחל ();

Serial.begin (9600);

}

לולאת חלל () {

מסך נקי();

updateBall ();

updatePaddle1 ();

updatePaddle2 ();

displayBall ();

displayPaddle1 ();

displayPaddle2 ();

pixels.show ();

detectCollision ();

עיכוב (fps);

}

void clearScreen () {

עבור (int i = 0; i <NUMPIXELS; i ++) {

pixels.setPixelColor (i, pixels. Color (0, 0, 0));

}

}

void updateBall () {

ballXabs += ballvelX;

ballYabs += ballvelY;

}

void detectCollision () {

Serial.print (ballYabs);

Serial.print ("");

Serial.println (paddle1);

אם (ballvelX> 0 && ballXabs> = 25) {// להתנגש בקיר הימני

Serial.println ("CollisionX");

ציון 1 (); // ballvelX*=-1;

}

אם (ballvelX <0 && ballXabs <= 0) {// להתנגש בקיר השמאלי

Serial.println ("CollisionX");

ציון 2 (); // ballvelX*=-1;

}

if (ballvelY> 0 && ballYabs> = 9) {// להתנגש בקיר העליון

Serial.println ("התנגשות Y"); ballvelY *= -1;

}

if (ballvelY <0 && ballYabs <= 0) {// להתנגש בקיר התחתון

Serial.println ("התנגשות Y");

ballvelY *= -1;

}

// לזהות התנגשות משוט 2

אם ((ballvelX> 0 && ballXabs == 24) && ((ballYabs> = paddle2) && (ballYabs <= paddle2 + paddlewidth - 1)))

{// התנגשות בקיר הימני

Serial.println ("CollisionPaddle");

ballvelX *= -1;

}

// לזהות התנגשות משוט 1

אם ((ballvelX = paddle1) && (ballYabs <= paddle1 + paddlewidth - 1)))

{// התנגשות בקיר הימני

Serial.println ("CollisionPaddle");

ballvelX *= -1;

}

}

void updatePaddle1 () {

כפתור int = analogRead (A0);

משוט 1 = כפתור עגול ((ארוך) / (ארוך) כפתור);

}

void updatePaddle2 () {

int knob2 = analogRead (A1);

paddle2 = כפתור עגול ((ארוך) 2 / (ארוך));

}

void displayBall () {

ballX = עגול (ballXabs);

ballY = עגול (ballYabs);

אם (ballX % 2! = 0) {

אינדקס = (9 - כדור Y) + 10 * כדור X;

אם (ballX! = 0) {

pixels.setPixelColor (ballY + 10 * (ballX - 1), פיקסלים.צבע (30, 0, 0)); // צד שמאל של כדור צבע

}

אם (ballX! = 25) {pixels.setPixelColor (ballY + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // צד ימין של צבע הכדור

}

if (ballY! = 9) {pixels.setPixelColor (index - 1, pixels. Color (30, 0, 0)); // צדדים תחתונים של צבע הכדור

}

if (ballY! = 0) {pixels.setPixelColor (index + 1, pixels. Color (30, 0, 0)); // צדדים עליונים של צבע הכדור

}

}

אחר {

אינדקס = כדור Y + 10 * כדור X; אם (ballX! = 0) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX - 1), פיקסלים.צבע (30, 0, 0)); // צד שמאל של הכדור אפילו בשורה

}

אם (ballX! = 25) {

pixels.setPixelColor ((9 - ballY) + 10 * (ballX + 1), pixels. Color (30, 0, 0)); // צד ימין של הכדור אפילו בשורה

}

אם (ballY! = 9) {

pixels.setPixelColor (אינדקס + 1, פיקסלים. צבע (30, 0, 0)); // הצדדים התחתונים של הכדור אפילו בשורה

}

if (ballY! = 0) {pixels.setPixelColor (index - 1, pixels. Color (30, 0, 0)); // הצדדים העליונים של הכדור בשורה אחידה

}

}

pixels.setPixelColor (אינדקס, פיקסלים. צבע (255, 0, 0)); /// מרכז צבע הכדור

}

void displayPaddle1 () {

for (int i = 0; i <paddlewidth; i ++) {pixels.setPixelColor (paddle1+i, pixels. Color (0, 0, 255));

}

}

void displayPaddle2 () {

for (int i = 0; i <paddlewidth; i ++) {pixels.setPixelColor (NUMPIXELS - 1 - paddle2 - i, pixels. Color (0, 0, 255));

}

}

ניקוד חלל 1 () {

resetBall (0);

}

ניקוד חלל 2 () {

resetBall (1);

}

void resetBall (int player) {

עיכוב (1000);

ballXabs = 12

; ballYabs = 4;

ballvelX = שחקן? 1: -1;

ballvelY = 1;

מסך נקי();

עיכוב (1000);

displayBall ();

pixels.show ();

עיכוב (1000);

displayPaddle1 ();

displayPaddle2 (); pixels.show (); עיכוב (2000); }

שלב 7: סיום

מסיים
מסיים

לאחר שהעלית את הקוד קודח חור בלוח האחורי מספיק גדול למתאם החשמל של חבית החבית שלך. חבר אותו לארדואינו ולבסוף הרכיב את הגב מחדש.

כללתי גם ברשימת החלקים את אקריליק מפזר הלדים שאתה יכול כעת למקם אותו מעל הלדים ולהדביק אותו

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

לבסוף אני רוצה לברך אותך על השלמת הפרויקט.

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

מוּמלָץ: