فهرست مطالب:
- مرحله 1: اتصال MPU6050 و دکمه های فشاری به برد آردوینو لئوناردو
- مرحله 2: ساختن پایگاه جوی استیک
- مرحله 3: راه اندازی Arduino IDE
- مرحله 4: برنامه آردوینو
- مرحله 5: آزمایش جوی استیک
تصویری: جوی استیک USB DIY MPU-6050: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
با Microsoft Flight Simulator 2020 ، به سرعت متوجه شدم استفاده از صفحه کلید برای انجام یک برنامه چقدر دشوار است. با جستجوی آنلاین ، جوی استیک با قیمت مناسب برای خرید پیدا نکردم. اکثر خرده فروشان آنلاین آنها را در انبار نداشتند. محبوبیت MS Flight Simulator و همه گیری COVID 19 همه سهام جوی استیک موجود را از بین برد. تنها گزینه من این بود که خودم یکی را بسازم.
اکثر جوی استیکهای موجود از پتانسیومترهای پایه برای تعیین زوایای جوی استیک و ارسال اطلاعات محور x و y به کامپیوتر استفاده می کنند. این به خوبی کار می کند اما ساخت جوی استیک را پیچیده می کند. و به مرور زمان پتانسیومترها ممکن است فرسوده شوند به جای استفاده از پتانسیومتر ، تصمیم گرفتم با برد سنسور شتاب سنج/ژیروسکوپ اطلاعاتی را در زوایای چوب به کامپیوتر ارسال کنم.
با محبوبیت ریزپردازنده های مختلف آردوینو و حسگرهای مختلف ، هزینه ساخت یک پروژه آردوینو بسیار مقرون به صرفه می شود. یکی از بردهای متداول شتاب سنج/ژیروسکوپ ، MPU-6050 است. در کانادا ، هزینه آن در آمازون حدود 7 دلار است. من کالای خود را از eBay از چین به مراتب کمتر تحویل گرفتم ، اما زمان حمل 3 ماه یا بیشتر بود.
www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…
هر برد Arduino کار می کند ، اما استفاده از برد مبتنی بر ATmega32u4 بسیار ساده تر خواهد بود ، زیرا ATmega32u4 دارای پشتیبانی HID (دستگاه رابط انسانی) است. پس از برنامه ریزی برد ، می توانید از آن در هر رایانه ویندوز 10 و بدون نیاز به نرم افزار اضافی استفاده کنید. هنگامی که USB به برق متصل است ، ویندوز 10 به طور خودکار آن را به عنوان یک جوی استیک تشخیص می دهد. (استفاده از سایر انواع برد آردوینو برای این پروژه ساخت ساده بسیار پیچیده است).
من برد آردوینو لئوناردو را انتخاب می کنم. 17 دلار از آمازون
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
این 2 دستگاه الزامات اصلی این پروژه هستند. موارد کوچکتر دیگر مانند سیم کشی و دکمه های فشاری نیز ضروری هستند. در این پروژه ، من فقط از دو دکمه برای سادگی استفاده کردم.
دسته جوی استیک از یک لوله آب قراضه PVC ساخته شده است. این را می توان به راحتی با هر لوله سفت و محکمی جایگزین کرد.
پایه جوی استیک یک درب فنر است که روی یک تکه چوب ثابت شده است.
درب فنر از Home Depot با قیمت 2.83 دلار آمریکا در دسترس است.
www.homedepot.ca/product/everbilt-spring-d…
مرحله 1: اتصال MPU6050 و دکمه های فشاری به برد آردوینو لئوناردو
فقط 4 اتصال در MPU 6050 استفاده می شود. آنها برچسب VCC ، GND ، SCL و SDA دارند.
VCC را در Arduino Leonardo به 5 ولت یا 3.3 ولت وصل کنید. (MPU 6050 می تواند از 5 ولت یا 3.3 ولت استفاده کند. مهم نیست)
GND را به هر GND در Arduino Leonardo وصل کنید.
SCL را به SCL در آردوینو لئوناردو وصل کنید.
SDA را به آداوینو لئوناردو به SDA وصل کنید.
من فقط از دو دکمه فشاری برای این منظور استفاده می کنم.
اولین دکمه برای تنظیم مجدد مرکز جوی استیک استفاده می شود. در این مثال ، یک سر دکمه به GND و یک سر به PIN 13 متصل می شود.
دکمه دوم فشار به عنوان دکمه جوی استیک استفاده می شود. در این مثال ، به PIN 9 و GND متصل است.
در صورت نیاز می توانید دکمه های اضافی را در پروژه خود اضافه کنید.
مرحله 2: ساختن پایگاه جوی استیک
یک تکه بلوک چوبی پیدا کنید. هرچه سنگین تر بهتر. این پایه جوی استیک را پایدارتر می کند.
همانطور که در تصویر نشان داده شده است ، درپوش درب فنری را در مرکز بلوک چوبی پیچ کنید.
از یک تکه لوله کوتاه به عنوان دسته جوی استیک استفاده کنید. من از یک لوله PVC خراشیده استفاده کردم. سیم را طوری بپیچید که سنسور شتاب سنج/ژیروسکوپ بالای لوله نشسته باشد.
سپس لوله را روی دریچه فنر قرار دهید. من از نوار برقی برای چسباندن سنسور در بالا استفاده کردم.
مرحله 3: راه اندازی Arduino IDE
Arduino IDE را بارگیری و نصب کنید.
من از Arduino 1.8.13 برای این پروژه استفاده کردم. Arduino Web Editor برای این پروژه نیز قابل استفاده است.
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: برنامه آردوینو
Pin_Joystick.ino را بر روی Arduino IDE بارگذاری کرده و در برد لئوناردو کامپایل و بارگذاری کنید.
مطمئن شوید که برد Arduino Leonardo انتخاب شده است و شماره پورت در COM سمت راست انتخاب شده است: در منوی Tools.
مدتی متوجه شدم ، برنامه را نمی توان با کد خطا درگاه COM در دسترس قرار داد. دو بار فشار دادن دکمه تنظیم مجدد روی صفحه لئوناردو هنگام کامپایل ، ممکن است کمک کند. راه اندازی مجدد ویندوز 10 نیز ممکن است به آزادسازی پورت COM کمک کند.
پس از بارگذاری برنامه روی برد لئوناردو ، ویندوز 10 باید بطور خودکار جوی استیک لئوناردو را تشخیص دهد. در نوار جستجوی Windows 10 ، Game Controllers را تایپ کنید ، Setup USB Game Controllers را اجرا کنید.
Leonardo Joystick را انتخاب کرده و روی Properties کلیک کنید. حرکت جوی استیک و دکمه جوی استیک شماره 1 باید توسط ویندوز 10 برداشته شود.
اگر جوی استیک در مرکز قرار ندارد ، وقتی آن را رها می کنید ، روی دکمه بازنشانی مرکز جوی استیک که تازه ساختیم کلیک کنید. کنترلرهای بازی USB باید نقطه جوی استیک را در مرکز نشان دهند. نیازی به کالیبراسیون جوی استیک در برنامه USB Game Controller نیست.
نکته جانبی: برای کسانی که با آردوینو لئوناردو آشنایی ندارند ، وقتی دستگاه به عنوان جوی استیک ، ماوس یا صفحه کلید پیکربندی شده باشد ، پورت سریال کار نمی کند. بنابراین "Serial.print ()" کار نمی کند. همچنین ، MPU6050 از کتابخانه سیم i2c استفاده می کند و از پین های SDA و SLC استفاده می کند. در لئوناردو ، SDA و SCL هر دو PIN 2 و PIN 3 را اشغال می کنند ، بنابراین از این 2 پین برای موارد دیگر استفاده نکنید.
مرحله 5: آزمایش جوی استیک
من آن را در Microsoft Flight Simulator 2020 آزمایش کردم و بسیار خوب کار می کند. من گاهی اوقات باید کلید مرکزی را فشار دهم تا جوی استیک صفر شود. مقدار سنسور MPU6050 ممکن است با گذشت زمان کمی تغییر کند.
فرصت های زیادی برای صرف پروژه وجود دارد ، مانند افزودن دکمه های بیشتر و افزودن کنترل های دریچه گاز. امیدوارم این امر به سایر متخصصان الهام بخش باشد تا روشهای جدیدی را برای ساختن چیزها کشف کنند.
توصیه شده:
ماژول RC Tx به عنوان جوی استیک USB: 6 مرحله
ماژول RC Tx به عنوان USB Joystick: این دستورالعمل در مورد ساخت یک ماژول فرستنده است که با فرستنده های RC استاندارد کار می کند و به عنوان یک جوی استیک USB عمل می کند. این ماژول از یک تابلوی توسعه Digispark استفاده می کند که به عنوان یک HID USB عمل می کند. این سیگنال PPM را که فرستنده ارسال و تبدیل می کند تفسیر می کند
جوی استیک هال افکت USB: 7 مرحله (همراه با تصاویر)
جوی استیک هال افکت USB: این دستورالعمل ها نحوه استفاده از جوی استیک صنعتی هال افکت برای ساخت جوی استیک USB با کیفیت بالا را نشان می دهد. دستورالعمل های مرتبط دیگر Tiny USB Joystick وجود دارد که می تواند راه حل کم هزینه ای را ارائه دهد. & gt؛
جوی استیک کوچک USB: 5 مرحله (همراه با تصاویر)
Joystick Tiny USB: این دستورالعمل ها نحوه ساخت جوی استیک USB بسیار کوچک را نشان می دهد. این دستورالعمل ها برای ارائه راه حل کم هزینه به Hall Effect USB Joystick مربوط می شود
تبدیل USB جوی استیک 1980s: 7 مرحله (همراه با تصاویر)
تبدیل USB جوی استیک 1980s: این یوزپلنگ اصلی یوزپلنگ 125 از دهه 1980 با میکروسوئیچ های جدید براق ، دکمه های بازی و یک برد کنترل Pimoroni Player X تبدیل دوست داشتنی داشت. اکنون دارای چهار & quot؛ آتش & quot؛ مستقل است. دکمه ها و اتصال از طریق USB ، آماده برای
جوی استیک پورت بازی قدیمی را با استفاده از آردوینو به USB Stick Stick تبدیل کنید: 5 مرحله
تبدیل یک جوی استیک پورت بازی قدیمی به یک USB Stick Stick با آردوینو: سلب مسئولیت سریع: هدف از این پروژه این نیست که یک جوی استیک پورت بازی ارزان را تبدیل کنید. هدف این پروژه ساخت یک جوی استیک همه کاره و قابل تنظیم است که به راحتی قابل تغییر است. دلیل انتخاب من آردوینو این بود که