فهرست مطالب:

کنترل کننده بازی Lapcade: 6 مرحله (همراه با تصاویر)
کنترل کننده بازی Lapcade: 6 مرحله (همراه با تصاویر)

تصویری: کنترل کننده بازی Lapcade: 6 مرحله (همراه با تصاویر)

تصویری: کنترل کننده بازی Lapcade: 6 مرحله (همراه با تصاویر)
تصویری: کنترل کننده های برق در بازی راست 2024, سپتامبر
Anonim
کنترل کننده بازی Lapcade
کنترل کننده بازی Lapcade

من زیاد اهل بازی نیستم وقتی بچه بودم بیشتر از اینکه به آنها بازی کنم علاقه مند بودم نحوه کار آنها را ببینم. من می توانم از یک طرف حساب کنم که چند بازی آرکید به طور مرتب انجام می دادم. با این اوصاف ، برای کسی آسان است که عجیب به نظر برسد که من برای ساختن کنترلر بازی وقت می گذارم. با این حال ، این یکی از پروژه های مورد علاقه من تا به امروز است. علاوه بر طراحی ، کدگذاری و ساخت ، چالش برانگیز است ، همچنین یادآور دوران گذشته دکمه ها و جوی استیک های محکم مکانیکی است.

روزهای بازی گذشته است ، اما هنوز می توانید احساس یک بازی کلاسیک را در اتاق نشیمن خود داشته باشید. بنابراین ، در اینجا من Lapcade را به شما ارائه می دهم. اگر شما مانند من هستید و از ساخت وسایل بیشتر از بازی لذت می برید ، ممکن است از این ساختار لذت ببرید. اگر س questionsال یا پیشنهادی دارید که در بخش "ایده های نسخه 2" در زیر گنجانده نشده است ، لطفاً نظر دهید.

مرحله 1: مرور کلی

بررسی اجمالی
بررسی اجمالی
بررسی اجمالی
بررسی اجمالی

این چی هست؟

ابتدا ، لطفاً توجه داشته باشید که Lapcade چیست:

  • کنسول بازی نیست
  • نه بازی دارد و نه قابلیت بارگیری و انجام بازی را دارد.
  • به تلویزیون یا مانیتور وصل نمی شود.

Lapcade یک صفحه کلید بلوتوث است. نه کمتر نه بیشتر.

من این موضوع را مطرح می کنم زیرا در این مورد سردرگمی ایجاد شده است. من س questionsالات زیادی در مورد بازی هایی که می توان روی آن بارگذاری کرد و از چه نوع رابط ویدئویی استفاده می کند داشتم - نمی تواند و نمی کند! این کاملاً به رایانه ای که شما آن را متصل می کنید بستگی دارد و از این نظر ، آسمان محدود است. اگر دستگاه شما می تواند صفحه کلید بلوتوث را بپذیرد ، Lapcade باید با آن کار کند. من آن را امتحان نکرده ام اما پروژه های دیگری را مشاهده کرده ام که از EZ-Key (در زیر توضیح داده شده است) متصل به دستگاه های دستی استفاده کرده اند. بنابراین ، از لحاظ تئوری ، می توانید این دستگاه را به هر رایانه ای که دارای ویندوز ، لینوکس ، ChromeOS ، MAC و غیره است و همچنین Raspberry Pi ، Android ، iOS و سایر دستگاه هایی که از بلوتوث v2.1 پشتیبانی می کنند ، متصل کنید. هرچند ممکن است اصلاح کدهای کلیدی لازم باشد.

پیش نسخه 1

در اصل ، من محصولی به نام Adafruit Bluefruit EZ -Key bluetooth HID (دستگاه رابط انسانی - صفحه کلید فکر کنم) را پیدا کردم که به من امکان می دهد دکمه های کلیک آشنا را متصل کرده و فشارهای کلیدی را مانند صفحه کلید ارسال کنم. وقتی برای اولین بار یک کنترلر بر اساس EZ-Key ساختم ، مجموعه ای از دستورالعمل ها را برای ساختن یک کنترلر ساده و مستقیم دنبال کردم و بسیار عالی عمل کرد. من چند ماه از کنترلر در یک قاب چوبی سنگین و بدون مشکل استفاده کردم. با این حال ، شما محدود به 12 ورودی هستید و راهی برای تغییر کد کلیدی ارسال شده توسط دستگاه بدون برنامه ریزی مجدد پین های ورودی EZ-Key وجود ندارد.

همانطور که از مرکز رسانه Kodi خود برای نمایش بازی های نصب شده استفاده می کردم ، می خواستم بین کنترل مرکز رسانه و بازی بدون نیاز به استفاده از چندین کنترل کننده / کنترل از راه دور جابجا شوم. من همچنین می خواستم دستگاه را طوری تنظیم کنم که پسر چپ دستم بتواند آن را هرطور که دوست دارد استفاده کند.

من همچنین از 4 باتری AA برای تغذیه دستگاه استفاده می کردم و در جعبه به نظر نمی رسید حالت کم مصرف داشته باشد. حتی اگر از باتری ها استفاده نشود ، ظرف یک یا دو روز خشک می شوند.

بنابراین ، به اصرار یکی از دوستانم ، تصمیم گرفتم یک نسخه قابل برنامه ریزی از همان کنترلر بسازم که حالت سریع آن تغییر کرده بود ، به من این امکان را می داد که از یک دستگاه برای کنترل چندین برنامه استفاده کنم ، همچنین می تواند برای دست چپ "چرخانده شود". استفاده می شود و در یک مورد لپ تاپ بود که بسیار کمتر از محلول 10 پوند فعلی من بود.

زمان ارتقا فرا رسیده بود.

نسخه 1 طراحی اهداف پروژه:

  • قابل انعطاف
  • قابل شارژ
  • برای چپ دست ها و راست ها
  • بدون سیم
  • سبک وزن

من می خواستم این طرح جدید انعطاف پذیر باشد. کنترل ها باید در پرواز بدون نیاز به برنامه ریزی مجدد اجزاء در هر بار آزمایش یا تغییر مورد نیاز ، قابل تغییر باشند. این بدان معناست که برای انتخاب "حالت" عملکرد ، باید یک رابط روی کنترلر وجود داشته باشد. هر دکمه و موقعیت جوی استیک باید دارای کلیدهای کلیدی متفاوتی باشد. برای انتخاب حالت های مختلف نیز باید از همان کنترل ها استفاده کرد.

EZ-Key به طور مستقیم قابل برنامه ریزی در زمان واقعی نبود ، بنابراین راه حل بعدی استفاده از کنترلر مانند Arduino برای مدیریت عملکرد است. EZ-Key تنها برای انتقال کدهای کلیدی به رایانه از طریق بلوتوث استفاده می شود. من Arduino Pro Mini را به دلیل سازگاری مستقیم با UNO (که قبلاً تجربه آن را داشتم) و به دلیل اندازه جمع و جور ، انتخاب کردم.

من نمی خواستم با این جعبه جدید مانند با مدل قبلی Lapcade با باتری برخورد کنم ، بنابراین ، من از باتری قابل شارژ لیتیوم پلیمر و برد شارژر/منبع تغذیه استفاده کردم. این بدان معناست که من فقط می توانم از یک شارژر USB استاندارد استفاده کنم. این همچنین بدان معناست که مجبور نیستم هر بار که باتری ها خاموش می شوند ، پرونده را باز کنم. EZ-Key و PowerBoost 500C هر دو دارای نشانگرهایی هستند که برای جفت شدن و نشانگر کم بودن باتری باید به بالای کنترلر منتقل شوند. برخی از LED ها را به طرح اضافه کردم تا بتوانم این نشانگرهای وضعیت مفید را در حین کار به کاربر نشان دهم.

با بالغ شدن آزمایش طراحی ، متوجه شدم که چندین ایده اصلی من آنطور که انتظار داشتم نبود. به عنوان مثال ، نشانگر LBO در PowerBoost وقتی به میکروکنترلر متصل می شود ، مطابق انتظار عمل نمی کند. این اجازه می دهد تا جریان از طریق باتری در حالی که دستگاه "خاموش" یا غیرفعال است از طریق زمین مشترک عبور کند ، چراغ LBO روشن می شود و روشن می ماند. سایرین در انجمن Adafruit نیز با این مسئله روبرو شده بودند و راه حل بهتری در نمونه برداری از ولتاژ باتری مستقیماً بر روی ورودی آنالوگ ارائه کرده بودند. هنگامی که ولتاژ به سطح خاصی کاهش یافت ، زمان آن است که به کاربر اطلاع دهید که باتری در حال خاموش شدن است.

مرحله 2: آنچه شما نیاز دارید

لیست قطعات الکترونیکی

این به یک ساختار نسبتاً پیچیده تبدیل شد. لازم نیست از قطعات مشابه من استفاده کنید ، اما اگر از قسمت جانشین استفاده می کنید ، مطمئن شوید که نحوه تعامل آن با سایر مدارها و کد را درک کرده اید. در حالی که از ارائه پیشنهادات خوشحالم ، نمی توانم در پیکربندی های مختلف به عیب یابی کد یا مشکلات کمک کنم.

1 Arduino Pro Mini 5V - من Pro را دوست دارم زیرا جمع و جور است. با کد ارائه شده می توانید از هر برد سازگار با Uno pin/interrupt استفاده کنید

1 Adafruit Bluefruit EZ -Key bluetooth HID - همانطور که در بالا توضیح داده شد ، این HID بلوتوث است که اجازه می دهد کد های کلیدی به رایانه میزبان منتقل شوند.

1 MCP23017 - i2c 16 توسعه دهنده پورت ورودی/خروجی - این تراشه برای افزودن 16 ورودی دیگر به Arduino از طریق پروتکل ارتباطی I2C استفاده می شود

1 Adafruit PowerBoost 500 + Charger - این برد کنترل قدرت برای تغذیه Lapcade و شارژ LiPo است

1 باتری لیتیوم پلیمر (من از 2500 میلی آمپر ساعت استفاده کردم ، اما می توانید از ظرفیت بالاتر / پایین استفاده کنید)

1 جوی استیک 8 راهه - لطفاً بخش "افکار نسخه 2" را در مورد جوی استیک ها در زیر مشاهده کنید

9 دکمه فشاری بازی - رنگ ها و چاپگرهای مختلف

2 دکمه روشن کننده لحظه ای - من از این 2 دکمه برای دکمه های مرکز 4 و 5 استفاده کردم و از Adafruit هستند: قرمز (مرکز 4) ، آبی (مرکز 5)

1 دکمه قفل کننده روشن من از این دکمه پاور Adafruit استفاده کردم: سبز

2 LED برای ارجاع به سیگنال جفت شدن و باتری کم استفاده می شود. من از دو قسمت RadioShack 2760270 و 2760271 استفاده کردم

1 صفحه نمایش LCD 16x2

1 کوله پشتی I2C/SPI LCD - برای ارتباط I2C با صفحه نمایش 16x2 استفاده می شود.

کابل USB 1 Panel Mount - برای گسترش کانکتور USB -PowerBoost micro -b به دیوار کابینت استفاده می شود.

1 Adafruit Perma-Proto PCB اندازه کامل Breadboard-نیازی نیست اما نصب دائمی را بسیار ساده تر می کند.

5 مقاومت 220 اهم

7 مقاومت 1 کیلو اهم

2 مقاومت 2.2K اهم

1 مقاومت 4.7K اهم

18 #10 اتصالات بیل زن - برای اتصال به مخاطبین دکمه بازی. برای لحیم کاری توصیه می شود زیرا دکمه ها در نهایت فرسوده می شوند.

سیم اتصال 22 سنج - من به منظور ایجاد مدیریت سیم آزاد ، از سیم اتصال قوی استفاده کردم و نه سیم گیر. این فقط برای اهداف تظاهرات بود و توصیه نمی شود زیرا سیم جامد شکننده و مستعد شکستن است.

موارد زیر الزامی نیست ، اما ناله کردن را ساده تر می کند و در صورت تست یک جزء ، جایگزینی را آسان تر می کند:

  • سوکت IC - برای تراشه های 28 پینی 0.3 اینچی
  • سوکت IC - برای تراشه های 28 پین 0.6 اینچی
  • هدر زنانه 0.1 اینچ (حداقل 1 هدر 36 پین)

قطعات کابینت:

  • 3 پانل توس 12 24 24 1/8 اینچ
  • 1 12 24 24 1/8 اینچ پانل اکریلیک شفاف

فایل ها:

  • Lapcade V1.xlsx - صفحه گسترده ذکر شده در زیر که دارای اتصالات مدار است.
  • LapcadeV1-code.zip - فایل فشرده حاوی کد آردوینو که برای این پروژه نوشته شده است.
  • Lapcade_v1.zip - فایل زیپ حاوی نقشه های svg برای کابینت.
  • LapcadeV1-Circuit_Diagram_Large.zip - فایل فشرده حاوی نسخه ای با وضوح بالا از نمودار مدار سرد در زیر نشان داده شده است.

پیوند به منابع بیشتر:

  • Adafruit Bluefruit EZ-Key مستندات
  • Adafruit PowerBoost 500 + مستندات
  • مستندات کوله پشتی I2C/SPI LCD
  • اسناد MCP23017 I2C Extender Port
  • کتابخانه Adafruit MCP23017 آردوینو

مرحله 3: مجمع - کابینه

مجمع - کابینه
مجمع - کابینه
مجمع - کابینه
مجمع - کابینه
مجمع - کابینه
مجمع - کابینه
مجمع - کابینه
مجمع - کابینه

من می خواستم یک جعبه بسیار سبک وزن داشته باشم که بتواند ضرب و شتم نیز داشته باشد. بدون داشتن مواد عجیب و غریب با مواد ، وزن نازک و نازک معمولاً شکننده است. کاربر اصلی Lapcade احتمالاً پسر جوان من است که دوست دارد دکمه ها را "فشار" دهد و با اشتیاق فوق العاده "جوی استیک" را حرکت دهد. در حالی که او در رها نکردن چیزها خوب است ، موفق شد در عرض چند ماه سوئیچ های میکرو سوئیچ های صنعتی را در یک جوی استیک خراب کند.

برای غلبه بر این مشکل و از آنجا که Lapcade 20 اینچ عرض دارد ، طرح من در دو دنده عمودی اضافه شده است که قسمت های بالا و چپ و راست را محکم می کند. در هنگام نصب خشک ، این طرح قادر به تحمل 70 کیلوگرم کتابی است که روی آن قرار گرفته است. پس از چسباندن ، پس از دریافت مواد برش داده شده ، ابتدا همه پانل ها را کنار هم قرار دادم تا مطمئن شوم که کار می کنند. سپس آنها را کمی سنباده زدم و هوا را گردگیری کردم. از چسب چوب برای اتصال قطعات به یکدیگر استفاده کردم.

کتابهای موجود در عکسهای زیر برای تحت فشار قرار دادن قطعات تازه چسبیده تا قرار گرفتن آنها قرار داده شد. وقتی چسب خوب شد ، لبه ها را صاف کردم. طراحی من عمداً پنل ها را جبران کرد تا کمی در گوشه ها بچسبد. این به من امکان می دهد گوشه ها را در حین سنباده زنی بدون اینکه زیاد وارد مفصل شود گرد کنم.

پس از تمیز کردن سطوح ، من چندین لایه پلی اورتان را اعمال کردم - که اجازه می دهد بین لایه ها خوب شود. نتیجه یک جعبه چوبی سبک با پوشش زیر اکریلیک شد. من در ابتدا می خواستم یک جعبه کاملاً شفاف داشته باشم اما وقتی قطعات "آزمایش" توس را برای من ارسال کرد ، من فوراً نظرم تغییر کرد. این نه تنها سبک تر بود ، بلکه ایده خوبی برای ایده بازی کابینت بود. فایل های svg در زیر آمده است.

لطفاً توجه داشته باشید: این یک طرح چند لایه است و هر لایه نشان دهنده یک مجموعه برش در یک ورق مواد است. هنگام ارسال چاپ به دستگاه برش ، قبل از برش مطمئن شوید که تمام لایه های دیگر پنهان شده اند.

نکته دیگر: وقتی ناحیه ای را برای صفحه نمایش LCD طراحی کردم ، از صفحه نمایشی که در دست داشتم برای اندازه گیری استفاده کردم. بین زمانی که نقاشی را طراحی کردم و بعداً قطعات را در قاب قرار دادم ، از LCD اصلی در پروژه دیگری استفاده کرده بودم و دستور تعویض آن را داده بودم. همانطور که پیداست ، سوراخ های نصب برای سوراخ دوم کمی متفاوت از نمونه اصلی بوده و روی هم قرار نگرفته اند. بنابراین ، قبل از برش مواد خود مراقب باشید که قطعات موجود در سوراخ های نقاشی را دوباره بررسی کنید.

نکته سوم: من قطع سیم کشی USB را در نقاشی اصلی وارد نکردم فقط به این دلیل که مطمئن نبودم کجا می خواهم آن را قرار دهم تا با استفاده از آن تداخل نداشته باشد. بعداً سوراخ های آن را در سمت چپ بسیار نزدیک جایی که کلمه "Lapcade" را در تصاویر زیر مشاهده می کنید ، بریدم. نسخه 2 دارای پورت شارژ در موقعیتی متفاوت است.:)

مرحله 4: مونتاژ - الکترونیک

مونتاژ - الکترونیک
مونتاژ - الکترونیک
مونتاژ - الکترونیک
مونتاژ - الکترونیک
مونتاژ - الکترونیک
مونتاژ - الکترونیک
مونتاژ - الکترونیک
مونتاژ - الکترونیک

ابتدا اجازه دهید نگاهی به نمودار سیم کشی نشان داده شده در بالا بیندازیم.

اولین نکته ای که باید در اینجا به آن توجه شود این است که قدرت و ریل های سطح تخته نان. ریل هایی که خط آبی دارند زمین (-) و ریل های خط قرمز قدرت (+) هستند. این استاندارد است اما من آن را یادداشت می کنم زیرا خط مشترک جوی استیک (سیم سیاه) به برق متصل است و نه زمین. در Fritzing من از رنگ سیم جوی استیک بیشتر از رنگ معمولی استفاده کردم و فکر کردم که ممکن است باعث سردرگمی شود - بنابراین بهترین کار این است که آن را از بین ببرید.

اتصالات کامپوننت

به جای این که سعی کنم هر اتصال را به صورت طولانی در اینجا بیان کنم (پین آنالوگ آردوینو 0 از طریق مقاومت 220 اهم به پین PowerBoost Bat) ، من یک صفحه گسترده ایجاد کردم که شامل تمام اتصالات از نظر جزء است. بنابراین ، در برگه Arduino صفحه گسترده ، APM A0 -> 2.2K OHM -> PB Bat و در برگه PowerBoost PB BAT -> 2.2K OHM -> APM A0 را مشاهده خواهید کرد. لطفاً برای مشاهده همه فایلهای مرتبط با این پروژه به قسمت منابع زیر مراجعه کنید.

یک نکته دیگر در مورد صفحه گسترده این است که برخی از دستگاه ها دو ستون اتصال را نشان می دهند. این برای نشان دادن بیش از یک اتصال به یک پین است. به عنوان مثال ، هر یک از اتصالات جوی استیک به جز سیم معمولی از یک مقاومت کششی استفاده می کند تا اطمینان حاصل شود که اکستندر پورت یک سیگنال جامد بالا یا پایین دریافت می کند. برای نشان دادن این مورد برای Joystick 2 ، دو ستون برای اتصال یکی از سیم جوی استیک به پین MCP 21 و دیگری برای اتصال از پین 21 از طریق مقاومت به زمین مشاهده خواهید کرد. من مطمئن هستم که راه های بهتری برای مستندسازی این موضوع وجود دارد اما می ترسم که شما با روش های انجام این کار درگیر نباشید.:)

هر یک از دکمه های بازی دارای یک تماس مشترک (com) ، یک تماس معمولاً باز (بدون) و معمولاً بسته (nc) هستند. برای هر یک از این دکمه ها ، از اتصالات com و nc استفاده می کنم.

مرحله 5: کد

کد
کد

اول از همه ، من باید اعتبار را در جایی که باید برآورده کنم. من برای کدگذاری Lapcade به مقاله زیر بسیار اعتماد کردم:

learn.adafruit.com/con-dour-model-m-keyboard-to-bluetooth-with-bluefruit-ez-key-hid تشکر ویژه از بنیامین گولد برای یک پروژه خوب و مستند!

بنابراین ، در قلب این پروژه یک صفحه کلید قرار دارد. از نظر رایانه شخصی ، Lapcade یک صفحه کلید است که از طریق بلوتوث متصل شده است ، چیزی که EZ-Key در آن بسیار خوب است. پروتکل ها ، زمان بندی ها و کدهای بلوتوث پیچیده را می گیرد و آنها را در بر می گیرد تا تنها کاری که باید با آردوینو انجام دهم این است که برای آن کدهای کلیدی ارسال کنم. برای انجام این کار ، من از نقشه های کد در پروژه بالا و آرایه های خودم برای ایجاد حالت های عملیاتی استفاده کردم. هر حالت آنچه را که دکمه های مشابه در Lapcade فشار می دهند و آنچه به رایانه ارسال می شود تغییر می دهد. سه حالت عملیاتی "داخلی" وجود دارد و همه حالتها بعد از آن حالتهای برنامه هستند.

حالت های عملیاتی

در زیر حالت های عملیاتی Lapcade خلاصه می شود:

  1. راه اندازی - این حالت اتصال با رایانه را بررسی می کند و متغیرهای راه اندازی را تنظیم می کند. اگر EZ-Key با رایانه متصل نشده باشد ، به حالت جفت شدن تغییر می کند
  2. جفت شدن - در این حالت کلید EZ منتظر است تا با رایانه جفت شود.
  3. انتخاب حالت - این حالت به کاربر اجازه می دهد از کدام حالت برنامه استفاده کند. در این حالت هیچ کد کلیدی به رایانه ارسال نمی شود. همچنین انتخاب حالت سریع بر اساس حالت برنامه قبلی وجود دارد. به عنوان مثال با فشار دادن حالت و سپس دکمه پخش دو در حالت Mame player 1 بدون نیاز به جستجو و انتخاب Mame Player 2 روی صفحه ، حالت را به سادگی تغییر می دهد.

حالت های کاربردی

حالت های برنامه برای ارسال کلیدهای مناسب به رایانه بر اساس برنامه ای که کاربر در آن قرار دارد استفاده می شود. به عنوان مثال در حالت Kodi ، کلید عمل 2 "P" را ارسال می کند که مکث است. در Mame ، همان دکمه کلید Alt سمت چپ را ارسال می کند. اگر کسی می خواهد از کنترلر برای پخش Minecraft برای رایانه استفاده کند ، تنها کاری که باید انجام شود افزودن نقشه های آرایه مناسب است.

هر برنامه باید در 4 آرایه داده تعریف شود.

  • mode - این آرایه شامل متنی است که برای هر حالت روی صفحه نمایش داده می شود. برای استفاده از خط دوم صفحه نمایش ، کافی است یک ~ را در آرایه به عنوان خط شکسته قرار دهید.
  • keyModes [14] - این آرایه ماتریسی شامل کد های کلیدی ارسال شده به رایانه است. هر خط از 14 عنصر دکمه های جداگانه ای را برای نگاشت کد کلید نشان می دهد.
  • keyModifiers [14] - این آرایه ماتریسی شامل اصلاح کننده های کلید کلید برای هر ضربه کلیدی مانند نگه داشتن کلید shift است.
  • QuickMode [3] - این آرایه ماتریسی شامل الگوی انتخاب حالت سریع برای حالت فعلی است.

عملیات اولیه

هنگامی که سیستم روشن است به حالت راه اندازی می رود که در آن وضعیت اتصال بلوتوث بررسی شده و به کاربر نمایش داده می شود. آردوینو از طریق شمارش و زمان بندی پالس ها از پین L1 EZ-Key وضعیت EZ-Key را دریافت می کند. چهار حالت فرعی برای حالت راه اندازی وجود دارد:

  • جفت شدن - کلید EZ در حالت جفت شدن فعال است که منتظر اتصال به دستگاه است.
  • جفت شده اما متصل نیست - کلید EZ قبلاً جفت شده است اما در حال حاضر به دستگاه میزبان متصل نیست.
  • مرتبط و متصل - کلید EZ جفت شده و ارتباط با میزبان برقرار شده است. در این مرحله ، سیستم به حالت انتخاب منتقل می شود.
  • وضعیت ناشناخته - کلید EZ یک کد ناشناخته را برمی گرداند یا تداخل سیگنال در حال ایجاد یک الگوی سیگنال ناشناخته است. سیستم نگه داشته و به کاربر اطلاع می دهد. در صورت وقوع باید مجدداً راه اندازی شود.

اگر سیستم با کامپیوتر جفت شده اما نمی تواند به رایانه متصل شود ، سیستم در حالت راه اندازی در حالت اتصال باقی می ماند. اگر کاربر دکمه فرار را در حالی که دستگاه را روشن می کند نگه داشته باشد ، بررسی اتصال بلوتوث را رد کرده و به حالت انتخاب می رود.

اگر سیستم قبلاً جفت نشده باشد ، پس از راه اندازی حالت راه اندازی جایگزین می شود. در این حالت سیستم پخش می کند که برای جفت شدن در دسترس است. هنگامی که توسط یک میزبان کشف و متصل شد ، به حالت انتخاب منتقل می شود. با فشردن دکمه Action 1 می توان دستگاه را در حالت انتخاب غیر مرتبط کرد.

در انتخاب حالت ، عملکردهای جوی استیک بالا و پایین شما را از طریق حالت های برنامه موجود در صفحه LCD حرکت می دهد. برای انتخاب یکی از حالت ها ، دکمه ورود (مرکز 5) را فشار دهید.

پس از ورود به حالت برنامه ، هر یک از دکمه ها و جوی استیک به ازای نقشه کلیدهای مشخص شده در چهار آرایه که در بالا توضیح داده شد ، کلیدهای کلیدی را ارسال می کنند.

حالت های سریع

پس از انتخاب حالت برنامه ، تعریف حالت سریع آن تنظیم می شود. به بیان ساده ، حالتهای سریع حالتهای برنامه هستند که توسط سه دکمه مرکزی اول (مرکز 1-3) قابل انتخاب هستند. این سه دکمه مربوط به عنصر آرایه در ماتریس است.

به عنوان مثال ، در پیکربندی فعلی ، هنگام استفاده از Mame در حالت پخش 1 (حالت 4 یا حالت پنجم تعریف شده است) ، سپس با فشار دادن دکمه حالت و سپس دکمه پخش کننده ، عنصر آرایه Quickmode [4] [1] بارگیری می شود (آردوینو از نمایه سازی آرایه 0) که 5 است. سپس سیستم به حالت برنامه 5 تغییر می کند که Mame ، player 2 است.

مرحله 6: ایده هایی برای نسخه 2

صفحه نمایش دکمه - من حدس می زنم که شما نمی توانید همه چیز را برنامه ریزی کنید ، اما یک ایده طراحی وجود دارد که من آرزو می کنم اوایل برای نسخه یک - پنل های LCD تک دکمه ای. پس از ساخت خیلی سریع مشخص شد که فقط دانستن اینکه در چه وضعیتی هستید به این معنی نیست که هر دکمه را به خاطر می آورید - مخصوصاً بعد از اینکه چند روز یا چند ماه از آن دور شدید. واقعاً ای کاش یک نوع نمایش کوچک را روی یا بالای هر دکمه اضافه کرده بودم که نشان می داد عملکرد فعلی آن چیست. این مورد در بالای لیست من برای نسخه 2 قرار دارد.

جوی استیک 4 طرفه و 8 طرفه-نکته دیگری که با شروع استفاده از جوی استیک مشخص شد این بود که بازی های قدیمی تر از جوی استیک های 8 جهت استفاده نمی کردند. مورد اصلی pac-man است. از زمان ساخت این کنترلر ، متوجه شده ام که جوی استیک هایی وجود دارد که می توانند به صورت مکانیکی از 4 جهت به 8 جهت تغییر حالت دهند. بله ، آن یکی در لیست است و اگر قصد دارید بازی های کلاسیک را انجام دهید ، فقط به یکی از بازی های قابل تغییر بروید. البته ، مطمئن شوید که تغییرات سیم کشی و برنامه نویسی را بر اساس جوی استیکی که به کار می برید ، در نظر بگیرید. در اینجا برخی از تامین کنندگان کنترل بازی های کلاسیک آمده است:

  • https://www.ultimarc.com/controls.html
  • https://groovygamegear.com/webstore/index.php؟main…

دکمه های "Flipper" سمت راست و چپ - نسخه 2 به طور قطع یک دکمه را به سمت چپ و راست کابینت اضافه می کند. یکی از کاربردهای احتمالی آن ، دمپایی های پین بال است.

سایر کنترل ها - من به بررسی قابلیت افزودن سایر کنترل های معمول مانند گوی بال و یا اسپینر به نسخه بعدی می پردازم. از آنجا که EZ-Key قادر به انتقال مختصات ماوس است ، این نباید خیلی دشوار باشد.

برنامه نویسی روی صفحه - نسخه بعدی باید دارای قابلیت اضافه کردن پیکربندی های جدید بدون شکستن کیس باشد. من می خواستم این را به نسخه 1 اضافه کنم ، اما به زمان و منابع بیشتری نسبت به من نیاز داشت.

مسابقه بی سیم
مسابقه بی سیم
مسابقه بی سیم
مسابقه بی سیم

جایزه دوم در مسابقه بی سیم

توصیه شده: