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

בקר On the Go: 8 שלבים
בקר On the Go: 8 שלבים

וִידֵאוֹ: בקר On the Go: 8 שלבים

וִידֵאוֹ: בקר On the Go: 8 שלבים
וִידֵאוֹ: האנשים הכי שמנים בעולם | טופטן 2024, נוֹבֶמבֶּר
Anonim
בקר ב- Go
בקר ב- Go
בקר ב- Go
בקר ב- Go
בקר ב- Go
בקר ב- Go

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

למה לא להכין בעצמך בקר בדרכים?

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

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

רקע כללי:

החלטתי להמשיך בפרוייקט הזה לאחר שיצרתי מקלדת קיצור. בזמן שלמדתי את ספריית המקלדות של הארדואינו והגעתי לקיצורי דרך, קשרתי כמה מכפתורי הבדיקה ל- WASD. זה התחיל לעבוד עם משחקי המחשב שלי וזה גרם לגלגלים להסתובב. בערך באותו הזמן נגמר לי המקום בטלפון לספרי שמע ובדקתי כיצד להשתמש בכונן הבזק מסוג USB עם הטלפון שלי מכיוון שהדגם שלי אינו מאפשר כרטיסי microSD. אז למדתי על OTG. OTG מנצל את הטעינה מסוללת הטלפונים שלך כדי להפעיל את המכשיר המחובר אליו. זה כולל מקלדות, עכברים וכונני הבזק בכמה שמות. הטלפון יכול להפעיל התקני 5V ולנחש מה דורש המיקרו הארדואינו כדי להפעיל אותו? זו הייתה שידוך שנעשה בגן עדן.

אספקה

Arduino Micro

לוח אב טיפוס

כפתורים 12 x 6 מ מ (השתמשתי במתגים רגעיים מיושנים של קרש לחם)

מלחם והלחמה

מדפסת תלת מימד

כבל בדרכים (OTG); הכנתי לבד

כבל טעינה מיקרו USB

שלב 1: עיצוב

לְעַצֵב
לְעַצֵב
לְעַצֵב
לְעַצֵב
לְעַצֵב
לְעַצֵב

רציתי שהבקר שלי יהיה נייד ויציע את כל הכפתורים שאצטרך כדי לשחק משחקים עד עידן הסופר נינטנדו. המשמעות היא שאצטרך 12 כפתורים. ארבעה לכרית הכיוון (d-pad) ושמונה עבור A, B, X, Y, Start, Select, Left Trigger ו- Right Trigger. הייתה לי גם דרישה נוספת שאני רוצה שזה יהיה סימטרי כדי שאוכל לשחק בזה ביד אחת משתי הידיים. דרישה נוספת זו עשויה להישמע מוזרה, אך על מנת לתת קצת הקשר אני חייב לציין כי לאחרונה אני מוצא את עצמי מחזיק תינוק ישן ויש לי שימוש ביד אחת בלבד בזמן המשחק המוגבל שלי.

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

(אני מתכוון אך את קבצי.stl ב- Thingiverse כשיזמן יאפשר. הקבצים יהיו שם כדי שאוכל לעדכן אותם מבלי להעלות כל הזמן קבצים לכאן.)

שלב 2: הדפס את יצירתך

הדפס את יצירתך!
הדפס את יצירתך!

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

שלב 3: הכנת לוח האב טיפוס שלך

הכנת לוח האב טיפוס שלך
הכנת לוח האב טיפוס שלך
הכנת לוח האב טיפוס שלך
הכנת לוח האב טיפוס שלך

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

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

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

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

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

שלב 4: אופציונלי: לשדרג את בית הבקר שלך

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

שלב 5: הרכבה אחרונה

הרכבה סופית
הרכבה סופית

עכשיו זה הזמן להכניס את כל הכפתורים ולוח האב טיפוס שהושלם לתוך הדיור. השתמשתי בברגי #4-24 x 1/2 גיליון מתכת לעיצוב שלי. הם מבצעים את העבודה אבל לא מתאימים כמו שהייתי רוצה.

שלב 6: תכנת את הארדואינו שלך

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

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

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

#include #include "Keyboard.h" #הגדר NUM_BUTTONS 12 const uint8_t BUTTON_PINS [NUM_BUTTONS] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}; // a = 'x' // b = 'z' // x = 's' // y = 'a' // כתף שמאל = 'q' // כתף ימין = 'w' // select = 'rshift '// start =' enter '// up =' key: up '// down =' key: down '// left =' key: left '// right =' key: right 'const char BUTTON_KEYS [NUM_BUTTONS] = {KEY_RETURN, KEY_DOWN_ARROW, KEY_UP_ARROW, KEY_LEFT_ARROW, KEY_RIGHT_ARROW, KEY_RIGHT_SHIFT, 'z', 'x', 's', 'a', 'q', 'w'}; כפתורי הקפצה * = קפיצה חדשה [NUM_BUTTONS]; הגדרת void () {for (int i = 0; i <NUM_BUTTONS; i ++) {כפתורים . Attach (BUTTON_PINS , INPUT_PULLUP); כפתורים . מרווח (25); } // לאתחל את השליטה במקלדת: Keyboard.begin (); } לולאת void () {// בדוק אם ערך השתנה עבור (int i = 0; i <NUM_BUTTONS; i ++) {לחצנים .update (); if (כפתורים .fell ()) {Keyboard.press (BUTTON_KEYS ); } if (כפתורים .rose ()) {Keyboard.release (BUTTON_KEYS ); }}}

שלב 7: שחק במשחקים שלך

שחקו את המשחקים שלכם!
שחקו את המשחקים שלכם!

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

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

שלב 8: לקחים

CAD:

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

כפתורים:

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

הַלחָמָה:

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

מוּמלָץ: