» إلكترونيات »وحدة تحكم لعبة Subminiature على RetroPie

وحدة تحكم الألعاب الصغيرة على RetroPie



هذه ليست أول أو آخر وحدة تحكم لعبة في العالم على RetroPie ، ولكن من بين العديد من الألعاب المماثلة ، تصميم Instructables المقترح تحت اللقب 陳亮 يبرز حجمه المصغر: إنه تقريبًا حجم وحدة تحكم Arduboy الأصغر.

الجهاز مبني على لوحة Raspberry Pi Zero ، الخيار مناسب مع كل من WiFi وبدون. الأول أكثر ملاءمة ، والثاني أكثر كفاءة في استخدام الطاقة. وضع السيد على Waveshare LCD HAT عليه. من المهم اختيار إصدار أحدث من "القبعة" - مع شاشة مقاس 1.3 بوصة بدقة 240 × 240. نعم ، مربع ، لكن Instagram و Polaroid لا علاقة له به. على هذه "القبعة" ، بالإضافة إلى الشاشة ، هناك عصا تحكم وأزرار. لا يحتوي راسبيري باي زيرو على مشط. إذا كنت بحاجة إليها ، فأنت بحاجة إلى لحامها بنفسك. إلى وحدة التحكم لم تتحول إلى سميكة للغاية ، تحتاج إلى مشط مع دبابيس 8 مم. لم أجد مثل هذا السيد واختصر 12 ملم. يتكون من صفين من 20 دبابيس لكل منهما. في الفجوة بين الألواح تتناسب مع بطارية LiPo مقاس 45x23x5 مم مع دائرة حماية مدمجة. لا يشار إلى السعة. وقد أضاف إليها وحدة تحكم شحن صغيرة جدًا بقياس 10x10 مم ، وهو أمر جيد للجميع ، ولكن يمكن فقط شحن البطارية في الوضع البطيء بتيار 50 مللي أمبير فقط. ضوء LED ثنائي اللون المعروض التالي اختياري. من المكونات الإضافية المطلوبة: مفتاح طاقة ميكانيكي ، حزام ، أربعة مسامير غاطسة بخيوط M2.5 بطول 14 ملم.











يتم طباعة العلبة والأزرار ثلاثية الأبعاد ، وقد وضع السيد جميع الملفات اللازمة لتكرارها على شيء ما. يمكنك طباعتها بألوان واحدة أو مختلفة ، في إصدار المؤلف هي كما يلي: Layer123.stl - أسود نفاث ، Layer4.stl - أصفر شفاف ، Layer5.stl - برتقالي شفاف ، Layer678.stl - أحمر شفاف ، ButtonHead.stl - شفاف أحمر وأزرق وأخضر (ثلاثة أزرار) ، CrossButtonHead.stl - أحمر غامق (وهذه لوحة D).

يمكن أن يعمل مثبت PAM2306 على Raspberry Pi Zero مع انخفاض جهد صغير ، وسوف يولد 3.3 فولت عند الإخراج ، حتى عندما ينخفض ​​جهد الدخل إلى 3.5 فولت.تستهلك وحدة التحكم شحنة بطارية واحدة ، وتستهلك 100 إلى 200 مللي أمبير عند قطع اتصال WiFi ، تعمل لمدة 90 دقيقة تقريبًا ، بينما تستهلك حوالي 90٪ من سعة البطارية. ستعمل لوحة لا يتوفر عليها WiFi في الأجهزة لفترة أطول.

يقوم المعلم بتوصيل "التوت" و "القبعة" ببعضهما البعض بمشط مع دبابيس 12 مم ، ولكن حتى الآن لا يلحمها:



يعض الزائدة ، وتصبح الدبابيس 8 مم:



لحام المشط على لوحة ، والنظير على لوحة أخرى:



يتصل بمكونات أخرى:



وفقًا لهذا المخطط ، يتكون في شكل نص:



ملحوظة: عند القبعة يقع المشط على الظهر ، وبالتالي فإن ترقيم استنتاجاته معكوس.

يتم وضع كل شيء ما عدا Raspberry Pi في تفاصيل الحالة المطبوعة من ملف Layer4.stl ، تحت المفتاح يوجد بصمة:



على رأس مجموعات الجزء المطبوع من ملف Layer5.stl:



ثم - التوت بي:



والجدار الخلفي هو ملف Layer678.stl:



ضع البراغي في مكانها:



يقلب البناء بأكمله ، ويضع الأزرار المطبوعة من ملف ButtonHead.stl ، ولكن ليس D-pad بعد:



يتم الإغلاق مع طباعة اللوحة الأمامية من ملف Layer123.stl:



يتحول ويشد البراغي:



قم بتثبيت لوحة D على محور عصا التحكم ، مطبوعة من ملف CrossButtonHead.stl:



يهز Retropieعن طريق تحديد خيار Raspberry Pi 0/1 ألعاب البيرة. تنزيل ملفات إضافية: mk_arcade_joystick_rpi و rpi-fbcpعن طريق تحديد خيار التنزيل في أرشيف ZIP.

يكتب صورة RetroPie التي تم تنزيلها على بطاقة الذاكرة. لن يعمل فقط نسخ الملف. تحتاج إلى استخدام إحدى الطرق ، اعتمادًا على نظام التشغيل لديك على سطح المكتب.

طريقة لينكس

طريقة لنظام MacOS

طريقة ويندوز

في جميع الحالات ، يجب استبدال اسم ملف الصورة في المثال باسم الملف الذي قمت بتنزيله.

ضع أرشيف mk_arcade_joystick_rpi-master.zip و rpi-fbcp-master.zip على بطاقة الذاكرة.

في نهاية ملف config.txt على بطاقة الذاكرة ، يضع السطر:

dtoverlay = dwc2


في ملف codlin.txt بعد وضع الكلمة الرئيسية rootwait: modules-load = dwc2، g_ether

اتضح:

dwc_otg.lpm_enable = 0 وحدة التحكم = التسلسلي 0.115200 وحدة التحكم = tty1 الجذر = PARTUUID


يقوم بإنشاء ملف ssh فارغ على بطاقة الذاكرة ، على MacOS المعالج لديه الأمر التالي:

لمس / مجلدات / التمهيد / سه


تحتوي العلبة المطبوعة ثلاثية الأبعاد بالفعل على تجاويف لموصل USB وفتحة لبطاقة الذاكرة ، لذا فإن تثبيت البطاقة وتوصيل السلك ليس أكثر صعوبة مما هو عليه في المشغل ، على سبيل المثال:




بعد وقت قصير من تحميل RetroPie ، تتعرف وحدة تحكم نظام تشغيل الكمبيوتر على بطاقة الشبكة الافتراضية. بمجرد حدوث ذلك ، يدخل المعالج الأمر:

ssh pi@retropie.local


كلمة المرور الافتراضية هي raspberry ، فهي تغيرها على الفور باستخدام الأمر passwd.

في نهاية ملف / etc / modules ، يضيف:

spi-bcm2835
flexfb
fbtft_device


ينشئ ملف /etc/modprobe.d/fbtft.conf بالمحتويات التالية:

خيارات flexfb setaddrwin = 0 العرض = 240 الارتفاع = 240 init = -1،0x11، -2،120، -1،0x36،0x70، -1،0x3A، 0x05، -1،0xB2،0x0C، 0x0C، 0x00،0x33،0x33، -1.0xB7.0x35 ، -1.0xBB ، 0x1A ، -1.0xC0.0x2C ، -1.0xC2.0x01 ، -1.0xC3.0x0B ، -1.0xC4.0x20 ، -1.0xC6.0x0F ، - 1،0xD0،0xA4،0xA1، -1،0x21، -1،0xE0،0x00،0x19،0x1E، 0x0A، 0x09،0x15،0x3D، 0x44،0x51،0x12،0x03،0x00،0x3F، 0x3F، -1،0xE1 ، 0x00.0x18.0x1E ، 0x0A ، 0x09.0x25.0x3F ، 0x43.0x52.0x33.0x03.0x00.0x3F ، 0x3F ، -1.0x29 ، -3
الخيارات fbtft_device name = flexfb gpios = reset: 27، dc: 25، cs: 8، led: 24 speed = 125000000 bgr = 1 fps = 60 custom = 1 height = 240 width = 240


استخراج الملفات من أحد أرشيفين سبق نسخهما إلى البطاقة (انظر أعلاه):

فك ضغط / تمهيد / rpi-fbcp-master.zip


يجمع ويثبت:

cd rpi-fbcp-master /
بناء مقدير
بناء مؤتمر نزع السلاح
كميك ..
اصنع
sudo install fbcp / usr / local / bin / fbcp


يعمل:

/ usr / local / bin / fbcp &


في نهاية الملف ، يضيف الملف /boot/config.txt:

disable_overscan = 1
hdmi_force_hotplug = 1
hdmi_group = 2
hdmi_mode = 87
hdmi_cvt = 240 240 60 1 0 0 0
dtparam = spi = قيد التشغيل


تفريغ أرشيف آخر:

فك ضغط / تمهيد / mk_arcade_joystick_rpi-master.zip


يشغل المحرر ويفتح ملف تكوين لوحة الألعاب:

مؤتمر نزع السلاح mk_arcade_joystick_rpi-master /
السادس mk_arcade_joystick_rpi.c


يبحث عن السلسلة الثابتة للسلسلة int mk_arcade_gpio_maps [] ويجعلها تبدو كما يلي:

ثابت ثابت int mk_arcade_gpio_maps [] = {6،19،5،26،13،21،16،20،0،0،0،0،0} ؛


يحفظ الملف ويجمع ويثبت الوحدة:

sudo mkdir /usr/src/mk_arcade_joystick_rpi-0.1.5/
sudo cp -a * /usr/src/mk_arcade_joystick_rpi-0.1.5/
تصدير MKVERSION = 0.1.5
sudo -E dkms build -m mk_arcade_joystick_rpi -v 0.1.5
sudo -E dkms install -m mk_arcade_joystick_rpi -v 0.1.5


أزرار الشيكات:

خريطة sudo modprobe mk_arcade_joystick_rpi = 1
jstest / dev / input / js0

في نهاية الملف ، يضيف / etc / modules:

mk_arcade_joystick_rpi


إنشاء ملف /etc/modprobe.d/joystick.conf بالمحتويات التالية:

خيارات mk_arcade_joystick_rpi = 1


الملفات التي تم تنزيلها (انظر أعلاه) مع ألعاب البيرة المنزلية مبعثرة من مجلد / التمهيد في مجلدات ~ / RetroPie / roms / $ CONSOLE ، حيث يمثل $ CONSOLE اسم النظام الأساسي المخصص لها.

قم بتشغيل raspi-config:

sudo raspi-config


التكوينات:

تحديد شبكة WiFi (فقط للوحة التي توجد فيها): 2 خيارات الشبكة -> N2 Wi-fi -> إدخال بيانات حول شبكتك
تأكد من أن التنزيل لا يتوقف حتى تظهر الشبكة: 3 خيارات التمهيد -> B2 انتظر الشبكة عند التمهيد -> لا -> موافق
يشير إلى المنطقة الزمنية: 4 خيارات التعريب -> I2 تغيير المنطقة الزمنية -> يحدد منطقتك الزمنية
لتعطيل المنفذ التسلسلي: 5 خيارات التوصيل -> المسلسل P6 -> لا -> لا -> موافق

وحدة تحكم الألعاب الصغيرة على RetroPie











يقوم بتشغيل البرنامج النصي التكوين RetroPie:

sudo ~ / RetroPie-Setup / retropie_setup.sh


تحسين الدقة لشاشة 1.3 بوصة: تكوين C / أدوات -> 805 تهيئة -> 1 -> 0 -> 2 دقة العرض -> دقة إخراج الفيديو -> موافق -> إلغاء -> إلغاء -> إلغاء
يغير السمة إلى سمة مناسبة لمثل هذه الشاشة (تحتاج إلى اتصال WiFi): 812 نمطًا -> 14 بكسل بكسل -> موافق -> 1 كربون -> 2 إلغاء التثبيت








تحتوي "القبعة" على ثلاثة أزرار منفصلة فقط ، بالإضافة إلى زر مدمج مباشرة في لوحة D. ودقة العرض 240 × 240. يفضل المعلم منصة NES ، حيث تبلغ الدقة 256 × 240. حتى لا يتم تشويه الصورة ، قرر اقتصاصها. بالنسبة للقراء الذين يرغبون في لعب ألعاب NES فقط ، يوصي بإضافة خطوط إلى نهاية ملف /opt/retropie/configs/nes/retroarch.cfg:

video_fullscreen_x = "0"
video_fullscreen_y = "0"
video_scale_integer = صحيح


وفي نهاية الملف /opt/retropie/configs/all/retroarch-core-options.cfg - السطر:

quicknes_use_overscan_h = "معطل"


تتناثر أزرار لوحة التحكم التي تحاكيها NES بواسطة أزرار وحدة التحكم وفقًا للشكل:



يجب على المستخدمين الذين اعتادوا على أزرار Turbo أن يفطموا. يقوم المعالج بتشغيل المحرر ويفتح ملف إعدادات EmulationStation:

هناك يضع النص:

& lt ؛؟ xml version = "1.0"؟ & gt؛
/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh


بعد حفظ الملف وإغلاق المحرر ، يتم تشغيله مرة أخرى ، ولكن باستخدام ملف إعدادات RetroArch:

vi / opt / retropie / configs / all / retroarch / autoconfig / GPIO \ Controller \ 1.cfg


وهناك يضع النص:

input_device = "وحدة تحكم GPIO 1"
input_driver = "udev"
input_start_btn = "11"
input_exit_emulator_btn = "11"
input_down_axis = "+1"
input_right_axis = "+0"
input_state_slot_increase_axis = "+0"
input_select_btn = "10"
input_left_axis = "-0"
input_state_slot_decrease_axis = "-0"
input_up_axis = "-1"
input_a_btn = "0"
input_b_btn = "1"
input_reset_btn = "1"
input_enable_hotkey_btn = "10"


كما أنه يحفظ ويغلق ، ويسرع التحميل عن طريق الإدخال المتسلسل للأوامر:

sudo systemctl تعطيل asplashscreen
sudo systemctl تعطيل dphys-swapfile
sudo systemctl تعطيل hciuart
sudo systemctl تعطيل إعداد لوحة المفاتيح
sudo systemctl تعطيل nmbd
sudo systemctl تعطيل raspi التكوين
sudo systemctl تعطيل smbd
sudo systemctl تعطيل nfs- التكوين


ما يعطل المبادلة ، يفعل الشيء الصحيح ، لا يريد أن تنحني بطاقة الذاكرة بسرعة.

في الملف /boot/cmdline.txt يقوم بتعيين المعلمات مثل:

dwc_otg.lpm_enable = 0 وحدة التحكم = tty1 root = PARTUUID = 14a75fe9-02 rootfstype = ext4 مصعد = الموعد النهائي fsck.repair = نعم rootwait loglevel = 3 consoleblank = 0 plymouth.enable = 0 logo.nologo fastboot quiet


ويتحول هذا الخط إلى تعليق بوضع شبكة في المقدمة:

# dtoverlay = dwc2


يعيد تشغيل الجهاز. ينطفئ مع الأمر:

توقف sudo


يقوم بفصل الكبل وتشغيل المفتاح وتحميله بالفعل بدون جهاز كمبيوتر. بعد حوالي دقيقة ، عند اكتمال التنزيل ، يقوم بتكوين وتحديد المحاكي واللعبة.

كما خمّن القارئ بالفعل ، عند قراءة ملفات التكوين أعلاه ، يتوافق مفتاح البدء مع النقر على لوحة D في الوسط. من خلال الضغط نفسه ، عندما لا تكون اللعبة قيد التشغيل ، يمكنك استدعاء قائمة الإعدادات. هناك ، يختار المعالج العناصر التالية:

إعدادات واجهة المستخدم - & GT. إعدادات الشاشة - & GT. شاشة بعد - & GT. دقيقة واحدة

إعدادات أخرى - & GT. أوضاع توفير الطاقة - & GT. فوري


يضع الشريط في "الأذن" المخصصة:



تم ، يمكنك استخدام:



فيما يلي الألوان المختلفة لوحدة التحكم:





10
10
10

أضف تعليقًا

    • ابتسميبتسمxaxaحسنًالا أعرفياهونيا
      رئيسهالصفرأحمقنعمنعم نعمعدوانيسر
      آسفارقصرقص 2رقص 3العفومساعدةالمشروبات
      توقفالأصدقاءجيدجيدصفارة الحكمإغماءلسان
      دخانالتصفيقصرخةيعلنمشتقعدم الإشارةتنزيل
      حرارةغاضبتضحك 1mdaاجتماعالمسكسلبي
      not_iالفشارمعاقبةاقرأتخويفيخيفبحث
      ساخرشكرا لكهذاtoclclumnikحادتوافق
      سيءالنحلblack_eyeblum3استحىتباهىالملل
      للرقابةإرضاءسر 2تهددانتصاريونظارة شمس
      صدمةتنفسههههساداهلا وسهلاكروتويya_za
      ya_dobryiالمساعدne_huliganne_othodiحمىحظرقريب
1 تعليق
آسف
كتب بواسطة التعليمات تحت الاسم المستعار 陳亮
يبدو أنه ليس لديه هاتف ذكي أو جهاز لوحي ، ولا يوجد شيء للعب عليه! ابتسم

ننصحك بقراءة:

تسليمها للهاتف الذكي ...