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

ג'ויסטיק USB MPU-6050 DIY: 5 שלבים
ג'ויסטיק USB MPU-6050 DIY: 5 שלבים

וִידֵאוֹ: ג'ויסטיק USB MPU-6050 DIY: 5 שלבים

וִידֵאוֹ: ג'ויסטיק USB MPU-6050 DIY: 5 שלבים
וִידֵאוֹ: סיקור מוצר - ג'ויסטיק אלחוטי למחשב ולאנדרואיד 2024, נוֹבֶמבֶּר
Anonim
ג'ויסטיק USB מסוג MPU-6050 DIY
ג'ויסטיק USB מסוג MPU-6050 DIY

עם סימולטור הטיסה של Microsoft 2020 הבנתי מהר עד כמה קשה להשתמש במקלדת כדי להעלות תכנית. כשחיפשתי באינטרנט לא הצלחתי למצוא ג'ויסטיק במחיר סביר לרכישה. רוב הקמעונאים המקוונים אזלו אותם במלאי. הפופולריות של סימולטור טיסות MS ומגיפת COVID 19 חיסלה את כל מניות הג'ויסטיק הקיימות. האפשרות היחידה שלי הייתה לבנות אחד בעצמי.

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

עם הפופולריות של מעבדי Arduino שונים וחיישנים שונים, עלות בניית פרויקט Arduino הופכת להיות הרבה יותר משתלמת. אחד מלוח החיישנים של תאוצה/גירוסקופ נפוץ הוא MPU-6050. בקנדה, זה עולה בסביבות $ 7CAN באמזון. קיבלתי את שלי מאיביי שנשלח מסין בהרבה פחות, אבל זמן המשלוח היה בערך 3 חודשים או יותר.

www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…

כל לוח Arduino יעבוד, אך השימוש בלוח מבוסס ATmega32u4 יהיה הרבה יותר פשוט, כי ל- ATmega32u4 יש תמיכה מקורית ב- HID (Human Interface Device). לאחר שתכנת הלוח, תוכל להשתמש בו בכל מחשב Windows 10 וללא צורך בתוכנה נוספת. Windows 10 יזהה אותו אוטומטית כג'ויסטיק כאשר ה- USB מחובר. (שימוש בלוח Arduino מסוג אחר מסובך מדי לפרויקט הבנייה הפשוט הזה).

אני בוחר בלוח ארדואינו לאונרדו. 17 $ CAN מאמזון.

www.amazon.ca/KEYESTUDIO-Leonardo-Developm…

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

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

בסיס הג'ויסטיק הוא עצירת דלת קפיצים המקובעת על פיסת עץ.

את עצירת דלת האביב ניתן להשיג בהום דיפו תמורת 2.83 $ CAN.

www.homedepot.ca/product/everbilt-spring-d…

שלב 1: חיבור כפתורי MPU6050 ולחיצות ללוח Arduino Leonardo

חיבור MPU6050 ולחצני לחיצה ללוח Arduino Leonardo
חיבור MPU6050 ולחצני לחיצה ללוח Arduino Leonardo
חיבור MPU6050 ולחצני לחיצה ללוח Arduino Leonardo
חיבור MPU6050 ולחצני לחיצה ללוח Arduino Leonardo
חיבור MPU6050 ולחצני לחיצה ללוח Arduino Leonardo
חיבור MPU6050 ולחצני לחיצה ללוח Arduino Leonardo

רק 4 חיבורים משמשים ב- MPU 6050. הם מסומנים VCC, GND, SCL ו- SDA.

חבר את VCC ל- 5v או 3.3v ב- Arduino Leonardo. (MPU 6050 יכול להשתמש ב -5 וולט או 3.3 וולט. לא משנה)

חבר את GND לכל GND ב- Arduino Leonardo.

חבר SCL ל- SCL ב- Arduino Leonardo.

חבר SDA ל- SDA ב- Arduino Leonardo.

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

כפתור הלחיצה הראשון משמש לאיפוס מרכז הג'ויסטיק. בדוגמה זו, קצה אחד של לחצן הלחיצה מחובר ל- GND וקצה אחד ל- PIN 13.

כפתור הלחיצה השני משמש ככפתור ג'ויסטיק. בדוגמה זו הוא מחובר ל- PIN 9 ול- GND.

תוכל להוסיף לחצנים נוספים לפי הצורך בפרויקט שלך.

שלב 2: בניית בסיס הג'ויסטיק

בניית בסיס הג'ויסטיק
בניית בסיס הג'ויסטיק
בניית בסיס הג'ויסטיק
בניית בסיס הג'ויסטיק
בניית בסיס הג'ויסטיק
בניית בסיס הג'ויסטיק

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

הברג את פקק הדלת הקפיצי במרכז בלוק העץ כפי שמופיע בתמונה.

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

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

שלב 3: הגדר את Arduino IDE

הורד והתקן את Arduino IDE.

השתמשתי ב- Arduino 1.8.13 לפרויקט זה. ניתן להשתמש בעורך האינטרנט Arduino גם לפרויקט זה.

2 ספריות משמשות.

1. MPU6050_tockn מאת tockn

github.com/Tockn/MPU6050_tockn

או שתוכל למצוא אותו בתפריט "נהל ספריה".

2. ספריית ג'ויסטיק מאת מתיו היירונימוס

github.com/MHeironimus/ArduinoJoystickLibr…

כרגע זה זמין רק מאתר GitHub.

לחץ על הורדת קוד והורד ZIP. חלץ את קובץ ה- ZIP לספריית ספריות Arduino שלך.

במקרה שלי, זה E: / PinChung / Documents / Arduino / libraries

שלב 4: תוכנית Arduino

טען את Pin_Joystick.ino על Arduino IDE ואסף והעלה ללוח לאונרדו.

וודא כי לוח Arduino Leonardo נבחר ומספר הנמל נבחר ל- COM הנכון: בתפריט כלים.

שמתי לב זמן מה, לא ניתן להעלות את התוכנית עם קוד השגיאה של יציאת COM לא זמין. לחיצה על כפתור האיפוס בלוח לאונרדו כמה פעמים בזמן ההרכבה עשויה לעזור. הפעלה מחדש של Windows 10 עשויה גם לסייע לשחרור יציאת ה- COM.

לאחר העלאת התוכנית ללוח לאונרדו, Windows 10 אמור לזהות אוטומטית את ג'ויסטיק לאונרדו. בסרגל החיפוש של Windows 10, הקלד בקרי משחק, הפעל הגדר בקרי משחק USB.

בחר ג'ויסטיק לאונרדו ולחץ על מאפיינים. את תנועת הג'ויסטיק ולחצן הג'ויסטיק מספר 1 יש לאסוף את Windows 10.

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

הערת צד: למי שלא מכיר את ארדואינו לאונרדו, כאשר המכשיר מוגדר כג'ויסטיק, עכבר או מקלדת, היציאה הטורית לא תפעל. אז "Serial.print ()" לא יעבוד. כמו כן, MPU6050 משתמש בספריית חוט i2c והשתמש בסיכות SDA ו- SLC. בלאונרדו, SDA ו- SCL תופסים גם את ה- PIN 2 וגם את ה- PIN 3, אז אל תשתמש בשני הסיכות האלה לשום דבר אחר.

שלב 5: בדיקת הג'ויסטיק

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

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

מוּמלָץ: