جدول المحتويات:

استخدم Arduino مع وحدة التحكم N64: 5 خطوات (بالصور)
استخدم Arduino مع وحدة التحكم N64: 5 خطوات (بالصور)

فيديو: استخدم Arduino مع وحدة التحكم N64: 5 خطوات (بالصور)

فيديو: استخدم Arduino مع وحدة التحكم N64: 5 خطوات (بالصور)
فيديو: Nintendo 64 on Android Devices [ Full N64 Game Console Emulator on Your Phone & Tablet Tutorial ] 2024, يونيو
Anonim
استخدم Arduino مع وحدة تحكم N64
استخدم Arduino مع وحدة تحكم N64

هناك برامج تعليمية لاستخدام وحدة تحكم NES مع Arduino ، ولكن استخدام وحدة التحكم N64 الأكثر تعقيدًا وعصا التحكم التناظرية لها جاذبية واضحة. إذا كان لديك Arduino في الجوار ولا ترغب في شراء Adaptoid ، فإن هذه التعليمات ستجعل من الممكن لعب ألعاب مقلدة في Project 64 باستخدام Ardunio ووحدة التحكم N64 ، فهل هذا صعب؟ / هل سيتلف أشيائي؟ لن يؤدي هذا إلى تعديل وحدة التحكم الخاصة بك بأي شكل من الأشكال ، كما أن الأسلاك بسيطة للغاية ، لذلك إذا فعلت كل شيء بعناية فلن يكون هناك أي خطر على وحدة التحكم الخاصة بك ، ويمكنك فكها في أي وقت لاستخدامها مع وحدة التحكم N64. تحتاج: Arduino - 30 دولارًا - معالجة 1.0 - مجانًا برنامج أردوينو - 3 قطع مجانية من الأسلاك - كبل USB مجاني (آمل)

الخطوة 1: توصيل أسلاك جهاز التحكم

توصيل أسلاك جهاز التحكم
توصيل أسلاك جهاز التحكم
توصيل أسلاك جهاز التحكم
توصيل أسلاك جهاز التحكم
توصيل أسلاك جهاز التحكم
توصيل أسلاك جهاز التحكم

أول شيء عليك القيام به هو توصيل Arduino بجهاز التحكم. تستخدم وحدة التحكم ثلاثة خيوط فقط: + 3.3V ، والإشارة ، والأرض. بالنظر مباشرة إلى القابس ، تكون الأرض في أقصى اليسار ، والإشارة في المنتصف ، و + 3.3 فولت على اليمين. باستخدام السلك ، قم بتوصيل الأرض و + 3.3 فولت بالمسامير المعنية على Arduino ، وقم بتوصيل سلك الإشارة بدبوس Digital 2 على Ardunio. ملاحظة: إذا كان لديك رمز آخر على Arduino ، فيجب عليك فصل وحدة التحكم وتحميلها الكود الجديد من الصفحة التالية إلى Arduino قبل تشغيله مع وحدة التحكم المرفقة. قم بتوصيل Arduino بتوصيل كابل USB وستحصل Arduino على الطاقة.

الخطوة 2: فك الشفرة وتشغيلها

تم كتابة هذا الرمز بواسطتي ، مع أجزاء من ملف N64_Arduino استنادًا إلى رمز التجميع الذي كتبه Andrew Brown. أرشيفات ZIP: يحتوي الملفان Zip أدناه على الكود المطلوب لتشغيل Arduino ثم تفسير البيانات التي يرسلها إلى الكمبيوتر. يجب تجميع ملف N64_Arduino في Arduino IDE ، ويعمل N64_Controller في معالجة 1.0. N64_Arduino يجب تحميل ملف PDE هذا إلى Arduino وتشغيله دون أي عوائق إذا كان لديك كل شيء متصل بشكل صحيح. يقوم ببساطة بالاستعلام عن وحدة التحكم N64 للحصول على البيانات الموجودة على الأزرار والعصا التناظرية وإرسالها مرة أخرى إلى الكمبيوتر عبر المنفذ التسلسلي. من السهل تعديله ، على سبيل المثال ، يمكنك استخدام الطرق من هذا الملف للاستعلام عن وحدة تحكم واستخدام البيانات لتشغيل روبوت Arduino بدلاً من إرساله مرة أخرى إلى الكمبيوتر. البيانات المرسلة بواسطة Arduino وتحويلها إلى ضغطات لوحة مفاتيح يمكنك تعيينها إلى محاكي مثل Project 64. قد تحتاج إلى تغيير الخط String portName = Serial.list () [1] ؛ لمطابقة Arduino الخاص بك ، يجب أن يكون إما Serial.list () [0] ؛ Serial.list () [1] ، أو Serial.list () [2] ؛ تحرير: أضف "import java.awt. Robot؛" "استيراد java.awt. AWTException ؛" "import java.awt.event. InputEvent؛" إلى الكود إذا كنت تستخدم معالجة 1.1N64_Controller_mouse هذا هو نفسه N64_Controller ، فيما عدا أن العصا التناظرية تتحكم بالماوس ، وليس مفاتيح الأسهم. A و B هما النقر الأيمن والأيسر ، على التوالي. لتنشيط الماوس ، اضغط على زر البدء في وحدة التحكم الخاصة بك.

الخطوة 3: إعداد Project 64

قم بإعداد مشروع 64
قم بإعداد مشروع 64

قبل أن تتمكن من استخدام وحدة التحكم ، يجب توصيل Arduino وتشغيل الكود الذي قمت بتنزيله في الخطوة الأخيرة ، ويجب أن تكون المعالجة 1.0 مفتوحة مع تشغيل برنامج N64_Controller. اختبرها في Notepad ، والضغط على الزر A يجب أن تكتب A ، B يجب أن تكتب B ، إلخ. لذا الآن لديك وحدة تحكم عاملة (نأمل) وتريد أن تلعب بعض الألعاب. -emu.com/downloads/Set Key Mappings ابدأ تشغيل PJ 64 وافتح قائمة الإعدادات أولاً (Ctrl + T). قم بتغيير وحدة التحكم في الإدخال إلى الإدخال المباشر لـ N-Rage. افتح قائمة "تكوين وحدة التحكم الإضافية" واضبط التعيينات باستخدام وحدة التحكم. ابدأ اللعب! يجب أن تكون جاهزًا للبدء الآن! قم بتنزيل بعض ROM وابدأ في الاستمتاع بمحول Homebrew N64.

الخطوة 4: كود اردوينو في العمق

كود اردوينو في العمق
كود اردوينو في العمق

بروتوكول N64 يتم تشفير البتات المرسلة من وإلى وحدة التحكم N64 على واجهة السلك الواحد بنبضات عريضة 4 s. A '0' هي 3s منخفضة و 1 s عالية. A '1' هي 1 منخفضة و 3 s عالية. يستخدم كود 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) بواسطة لـ (i = 0 ؛ i <8 ؛ i ++) {N64_status.stick_x | = N64_raw_dump [16 + أنا]؟ (0x80 >> i): 0 ؛ } بعد أن تكون البيانات في هذا النموذج البسيط ، من السهل أن تفعل بها ما تريده. في هذه الحالة ، يتم إرسالها ببساطة عبر المنفذ التسلسلي في طريقة الحلقة () كسلسلة من البيانات الثنائية ذات عددين صحيحين لقيمتي x و y. قد تبدو البيانات المرسلة عبر المنفذ التسلسلي كما يلي: 0400000000000400 63-67 مما يعني أنه تم الضغط على زرين وكان عصا التحكم عند 63 ، -67.

الخطوة 5: المراجع

مراجع
مراجع

كان مشروع Andrew Brown لإنشاء gamecube إلى محول N64 باستخدام Arduino لا يقدر بثمن أثناء الترميز لهذا المشروع:

يمكن العثور على مخططات مفيدة هنا: https://www.raphnet.net/electronique/gc_n64_usb/index_en.php يمكن العثور على معلومات حول بروتوكول ملكية وحدات التحكم N64 هنا:

موصى به: