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

השתמש בארדואינו עם בקר N64: 5 שלבים (עם תמונות)
השתמש בארדואינו עם בקר N64: 5 שלבים (עם תמונות)

וִידֵאוֹ: השתמש בארדואינו עם בקר N64: 5 שלבים (עם תמונות)

וִידֵאוֹ: השתמש בארדואינו עם בקר N64: 5 שלבים (עם תמונות)
וִידֵאוֹ: ארדוינו - ARDUINO - בעברית! בואו ללמוד לתכנת בחינם. 2024, נוֹבֶמבֶּר
Anonim
השתמש בארדואינו עם בקר N64
השתמש בארדואינו עם בקר N64

ישנן הדרכות לשימוש בבקר NES עם Arduino, אך לשימוש בבקר N64 המסובך יותר ולג'ויסטיק האנלוגי שלו יש ערעור מובהק. אם יש לך Arduino בסביבה ואתה לא רוצה לקנות Adaptoid, ההנחיה הזו תאפשר לשחק משחקים חיקויים בפרויקט 64 עם Ardunio ובקר N64. האם זה קשה? / האם זה יפגע בדברים שלי? זה לא ישנה את הבקר שלך בשום צורה, והחיווט פשוט ביותר, כך שאם אתה עושה הכל בזהירות לא צריך להיות סיכון לבקר שלך, ותוכל לבטל את הנעילה בכל עת לשימוש עם קונסולת N64. צריך: Arduino - 30 $ עיבוד 1.0 - חינם תוכנת Arduino - 3 חתיכות חוט חינם - כבל USB חינם (אני מקווה)

שלב 1: חיווט הבקר

חיווט הבקר
חיווט הבקר
חיווט הבקר
חיווט הבקר
חיווט הבקר
חיווט הבקר

הדבר הראשון שאתה צריך לעשות הוא לחבר את הארדואינו לבקר הבקר משתמש רק בשלושה לידים: +3.3V, אות ואדמה. בהסתכלות ישירה על התקע, הקרקע היא הכי שמאלית, האות באמצע ו -3.3V מימין. באמצעות החוט, חבר את הקרקע ו -3.3V לפינים המתאימים בארדואינו, וחבר את מוביל האות לפין הדיגיטלי 2 על הארדוניו. הערה: אם יש לך קוד אחר ב- Arduino שלך, עליך לנתק את הבקר ולהעלות את הקוד החדש מהעמוד הבא ל- Arduino לפני הפעלת אותו עם הבקר המצורף. חבר את ה- Arduino חבר את כבל ה- USB ול- Arduino יהיה כוח.

שלב 2: פרק את האריזה והפעל את הקוד

קוד זה נכתב על ידי, כאשר חלקים מקובץ N64_Arduino מבוסס על קוד הרכבה שנכתב על ידי אנדרו בראון. ארכיון ZIP: שני קבצי ה- Zip למטה מכילים את הקוד הדרוש להפעלת ה- Arduino ולאחר מכן לפרש את הנתונים שהוא שולח למחשב. יש להרכיב את קובץ N64_Arduino ב- IDE של Arduino, ו- N64_Controller פועל בעיבוד 1.0. N64_Arduino קובץ PDE זה אמור להעלות ל- Arduino שלך ולהריץ ללא תקלה אם הכל מחובר כראוי. זה פשוט מבקש את בקר N64 לגבי נתונים על הלחצנים והמקל האנלוגי ושולח אותם חזרה למחשב דרך היציאה הטורית. קל מספיק לשנות, למשל, תוכל להשתמש בשיטות מהקובץ הזה לשאילתת בקר ולהשתמש בנתונים להפעלת רובוט ארדואינו במקום לשדר אותו בחזרה למחשב. N64_Controller זהו פרויקט עיבוד 1.0 שלוקח את נתונים המועברים על ידי Arduino וממיר אותם ללחיצות מקלדת שתוכל למפות לאמולטור כמו פרוייקט 64. ייתכן שיהיה עליך לשנות את השורה String portName = Serial.list () [1]; כדי להתאים את Arduino שלך, זה צריך להיות או Serial.list () [0]; Serial.list () [1]; או Serial.list () [2]; עריכה: הוסף "יבוא java.awt. Robot;" "יבוא java.awt. AWTException;" "יבוא java.awt.event. InputEvent;" לקוד אם אתה משתמש בעיבוד 1.1N64_Controller_mouse זהה ל- N64_Controller, אלא שהמקל האנלוגי שולט בעכבר שלך, ולא במקשי החצים. A ו- B הם קליק ימני ושמאלי, בהתאמה. כדי להפעיל את העכבר, לחץ על כפתור ההתחלה בבקר שלך.

שלב 3: הגדר את פרוייקט 64

הגדרת פרויקט 64
הגדרת פרויקט 64

לפני שתוכל להשתמש בבקר, יש לחבר את Arduino ולהריץ את הקוד שהורדת בשלב האחרון, ועיבוד 1.0 צריך להיות פתוח כאשר התוכנית N64_Controller פועלת. נסה את זה בפנקס הרשימות, לחיצה על כפתור A צריכה להקליד A, B צריך להקליד B וכו '. אז עכשיו יש לך בקר עובד (אני מקווה) ואתה רוצה לשחק כמה משחקים. Downl0ad PJ 64 -emu.com/downloads/ הגדר מיפוי מפתחות התחל את PJ 64 ופתח תחילה את תפריט ההגדרות (Ctrl+T). שנה את בקר הכניסה לקלט הישיר של N-Rage. פתח את תפריט "קבע את תוסף הבקר" והגדר את המיפוי באמצעות הבקר. התחל לשחק! אתה אמור להיות מוכן עכשיו! הורד כמה ROM ותתחיל ליהנות ממתאם N64 הביתי שלך.

שלב 4: קוד ארדואינו בעומק

קוד ארדואינו בעומק
קוד ארדואינו בעומק

פרוטוקול N64 הסיביות הנשלחות לבקר N64 וממנו בממשק החוט האחד מקודדות בפולסים רחבים של 4 מיקרון. '0' הוא 3 µs נמוך וגובה 1 µs. '1' הוא 1 מיקרון נמוך ו -3 מיקרון גבוה. קוד Arduino בשיטות N64_send או N64_receive משתמש בקוד הרכבה מתוזמן בקפידה שנכתב על ידי אנדרו בראון כדי לדפוק את קו הנתונים כדי לתקשר עם הבקר. בלוקים nop משמשים להמתנת הכמויות המתאימות של µs לפני סקירת שורת שליחת הנתונים. בעת ההפעלה, 0x00 נשלח לבקר, ולאחר מכן הפקודה היחידה המשמשת היא 0x01 לשאול את מצב הבקר. קידוד נתונים כאשר הנתונים מתקבלים לאחר 0x01, הם מגיעים כ -16 סיביות של מידע כפתורים ו -16 סיביות של מידע על ג'ויסטיק אנלוגי. הנתונים ייראו כמו 44000000000000400044440044000444. פורמט הביטים הוא: A, B, Z, Start, Dup, Ddown, Dleft, Dright, 0, 0, L, R, Cup, Cdown, Cleft, Cright + 16 סיביות אנלוגיות עמדת מקל. השיטה translate_raw_data () עוברת בין 32 הסיביות, ומכניסה אותן למבנה N64_status. 16 הסיביות הראשונות פשוטות 1 או 0, אך 16 האחרונות מתורגמות למספר שלם בערך בטווח (-80, 80) על ידי for (i = 0; i <8; i ++) {N64_status.stick_x | = N64_raw_dump [16+i]? (0x80 >> i): 0; } לאחר שהנתונים נמצאים בצורה פשוטה זו, קל לעשות איתם מה שאתה רוצה. במקרה זה, הוא פשוט נשלח מעל היציאה הטורית בשיטת הלולאה () כמחרוזת נתונים בינארית עם שני מספרים שלמים לערכי x ו- y. הנתונים שנשלחו דרך היציאה הטורית עשויים להיראות כך: 0400000000000400 63 -67 מה שאומר שנלחצו שני כפתורים ומקל הבקרה היה 63, -67.

שלב 5: הפניות

הפניות
הפניות

הפרויקט של אנדרו בראון ליצירת מתאם gamecube ל- N64 עם ה- Arduino היה בעל ערך רב בעת קידוד לפרויקט זה:

ניתן למצוא כאן תרשימים מועילים: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php מידע על הפרוטוקול הקנייני של בקרי N64 ניתן למצוא כאן:

מוּמלָץ: