فهرست مطالب:

جوی استیک بی سیم/دکمه های چرخ: 4 مرحله (همراه با تصاویر)
جوی استیک بی سیم/دکمه های چرخ: 4 مرحله (همراه با تصاویر)

تصویری: جوی استیک بی سیم/دکمه های چرخ: 4 مرحله (همراه با تصاویر)

تصویری: جوی استیک بی سیم/دکمه های چرخ: 4 مرحله (همراه با تصاویر)
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, جولای
Anonim
جوی استیک رایانه بی سیم/دکمه های چرخ
جوی استیک رایانه بی سیم/دکمه های چرخ

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

چرا؟

  • چرخ DD دارای چرخش های نامحدود است ، بنابراین داشتن سیم به سمت آن آزاردهنده خواهد بود.
  • مانند کابلهای تجاری ، امکان هدایت کابلها از طریق محور چرخ وجود ندارد
  • می خواستم بتوانم به راحتی چرخ ها را با تنظیمات دکمه های مختلف عوض کنم
  • چون میتونستم:)

برای دستیابی به هدف دکمه های بی سیم باید موارد زیر را در نظر بگیریم:

  • تحویل برق
  • قابلیت اتصال بی سیم
  • زمان واکنش/تاخیر
  • قابلیت اطمینان

اجزای زیر برای مطابقت با این معیارها انتخاب شدند: Tx - Arduino Nano با ماژول NRF24 یکپارچه در اینجا یا از Generic Nano یا Pro Mini + NRF24 ModuleRx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + NRF24 ماژول USB 'Battery Bank' - هر بانک عمومی باتری 18650 باید کار کند. این تقریباً 20 ساعت طول می کشد! ممکن است بخواهید بررسی کنید که آیا می تواند همزمان شارژ و تغذیه کند یا خیر. اگر به صورت یکنواخت اجرا شود و بخواهید همزمان شارژ و استفاده کنید ، بسیار مفید است.

علاوه بر این ، شما به دکمه ها و سوئیچ تغذیه دلخواه خود ، مقداری سیم اتصال و احتمالاً لوله کاهش حرارت احتیاج دارید.

این را می توان در "جعبه دکمه" به جای چرخ استفاده کرد ، اما من فکر کردم تقاضای کمتری برای آن وجود دارد ، زیرا اگر حرکت نکند مزیت چندانی ندارد.

ابزار مورد نیاز:

اسلحه چسب حرارتی برای نصب قطعات نیز مفید است. Arduino IDE بر روی رایانه شما نصب شده است.

مرحله 1: سیم کشی فرستنده

سیم کشی فرستنده
سیم کشی فرستنده
سیم کشی فرستنده
سیم کشی فرستنده
سیم کشی فرستنده
سیم کشی فرستنده

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

اگر از Nano با ماژول NRF تعبیه شده استفاده می کنید ، بدیهی است که نیازی به سیم کشی مربوطه ندارید ، فقط دکمه ها را سیم کشی کنید.

دکمه ها به این ترتیب (1-14) هستند: RX ، TX ، D2 ، D3 ، D4 ، D5 ، D6 ، D7 ، A0 ، A1 ، A2 ، A3 ، A4 ، A5

اما چرا فقط 14 دکمه؟ دلیل این امر این است که ما می توانیم یک سری کامل از پین ها را سریع بخوانیم و فقط انتقال 2 بایت داده طول نمی کشد - بنابراین اگرچه می توان آن را تغییر داد و شامل دکمه های بیشتری (از طریق ماتریس) و/ یا ورودی های آنالوگ ، این امر سرعت کار را کمی کند می کند. خواندن ماتریس و خواندن/تبدیل آنالوگ به پردازنده زمان می برد. من فقط به 12 دکمه روی چرخ احتیاج داشتم ، بنابراین با آن کار کردم ، اما در نظر داشتم تعداد بیشتری را اضافه کنم.

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

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

اتاق در چرخ نداشتم که بتوانم آن را در حالت عادی رها کنم ، بنابراین از بین رفت. کانکتور USB استاندارد را از روی برد شارژ خارج کردم و سیم های +5 و Gnd را از پدهای پورت usb از طریق یک سوئیچ به آردوینو لحیم کردم. جزئیات این موضوع کمی سخت است زیرا گزینه های زیادی وجود دارد…

سپس مدار در داخل چرخ نصب شد و اتصال شارژ میکرو USB را نمایان کرد.

صفحه شارژ دارای یک یا چند LED برای نمایش وضعیت شارژ است - به راحتی قابل مشاهده است یا از مقداری پلاستیک برای انتقال آنها به جایی قابل مشاهده استفاده کنید تا بدانید زمان شارژ شدن آن چگونه است.

این چه چرخ است؟ برای علاقه مندان ، طراحی چرخ من توسط Amstudio است - برخی از قطعات سیم کارت های مسابقه ای DIY عالی با قیمت مناسب در دسترس آنها است.

مرحله 2: گیرنده

دریافت کننده
دریافت کننده
دریافت کننده
دریافت کننده
دریافت کننده
دریافت کننده

به سادگی نمودار سیم کشی را که پیوست شده دنبال کنید. اگر از لئوناردو استفاده نمی کنید ، به تنظیم کننده خارجی 3.3 ولت مانند AMS1117 احتیاج دارید. تنظیم کننده Pro Micro نمی تواند جریان کافی را برای ماژول NRF24 فراهم کند و سوسک اصلاً جریان ندارد.

من اتصالات ماژول NRF را برای Pro Micro و Beetle یکسان کدگذاری کرده ام.

Arduino 'Beetle' که در مکان های معمولی بسیار آسان یافت می شود اما یکبار دیگر ، تنظیم کننده 3.3v باید استفاده شود زیرا به هیچ وجه چنین چیزی ندارد. من این را تست کرده ام و همچنین خوب کار می کند. اتصالات یکسان است

مرحله 3: برنامه نویسی دستگاه ها

برنامه نویسی دستگاه ها
برنامه نویسی دستگاه ها
برنامه نویسی دستگاه ها
برنامه نویسی دستگاه ها
برنامه نویسی دستگاه ها
برنامه نویسی دستگاه ها

اگر هنوز Arduino IDE را نصب نکرده اید به آدرس https://www.arduino.cc بروید و نسخه مناسب سیستم عامل خود را برای این مثال در ویندوز بارگیری کنید.

پس از راه اندازی ، به دو کتابخانه مختلف نیاز خواهید داشت -اولین مورد از طریق Sketch -> Include Library -> Manage Libraries (یا CTRL+SHIFT+I) آسان است.

NRFLite توسط دیو پارسون (نسخه 2.2.2 از زمان انتشار)

مورد دوم باید به صورت دستی از https://github.com/MHeironimus/ArduinoJoystickLibr نصب شود.

بر روی "Clone or Download" و سپس "Download ZIP" کلیک کرده و فایل بارگیری شده را باز کنید. سپس باید روی پوشه ها کلیک کنید تا پوشه "Joystick" را مشاهده کنید -آن را در پوشه کتابخانه های Arduino خود کپی کنید (در پنجره ها ، این قسمت معمولاً در قسمت Documents -> Arduino -> Libraries قرار دارد.

Arduino IDE را راه اندازی مجدد کنید

اگر از Pro Micro برای گیرنده استفاده می کنید ، باید آن برد را به IDE اضافه کنید. فایل -> تنظیمات برگزیده -> آدرس های اضافی مدیران بردها:

وارد کنید:

سپس به Tools -> Boards Manager بروید ، Sparkfun را جستجو کرده و "Sparkfun AVR Boards" را نصب کنید

حالا ما آماده ایم! اجازه دهید با فرستنده شروع کنیم - آن را به رایانه خود وصل کنید

در قسمت Tools -> Board ، "Arduino Nano" (یا هر نوع دیگری که تصمیم به استفاده از آن را دارید) را انتخاب کنید. همچنین در منوی Tools پورت COM را تأیید کنید.

فایل پیوست Wireless_Wheel_Tx را باز کنید.

فقط یک خط وجود دارد که ممکن است بخواهید در این کد تغییر دهید و آن این است:

int nrfChannel = 22؛

شما حداکثر 126 کانال دارید که می توانید از طیف 2.4 گیگاهرتز استفاده کنید. بهتر است همانطور که هست ترک کنید ، اما اگر متوجه شدید که در مورد قابلیت اطمینان مشکل دارید ، شاید این را به عدد دیگری تغییر دهید.

سپس فقط دکمه "بارگذاری" را فشار دهید و منتظر بمانید تا به پایان برسد.

همین امر در مورد Leonardo/Pro Micro/Beetle نیز وجود دارد - برد مورد نظر خود را انتخاب کنید - برای Leonardo and Beetle ، برد لئوناردو Arduino را انتخاب کنید. برای Pro Micro ، آن را انتخاب کنید و همچنین نوع/پردازنده Atmega32u4 (5v ، 16Mhz) را انتخاب کنید ، فایل Wireless_Wheel_Rx را باز کنید ، تنظیمات nrfChannel را تغییر دهید (اگر آن را در Tx تغییر داده اید) و برنامه را دور کنید.

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

یک ویژگی تصادفی جالب این است که شما یک چراغ وضعیت در Leonardo و Pro Micro دریافت خواهید کرد - چراغ USB TX هنگامی که به دکمه ها متصل می شود ، روشن می شود. اما این روی سوسک وجود ندارد.

به روز شده در 13/2/2021

من 2 فایل اضافی (Tx و Rx) را برای نسخه با 4 ورودی آنالوگ و ماتریس دکمه 3X8 به دستورالعمل اضافه کرده ام. عمدتا آزمایش نشده ، ممکن است تاخیر داشته باشد. لطفا امتحان کنید و نظر بدهید.

مرحله 4: پیشرفت ها

پیشرفت ها
پیشرفت ها

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

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

دکمه های اضافی/رمزگذار/ورودی های آنالوگ هنوز در مورد این یکی فکر می کنید. برای من ، این برای مسابقه ای که انجام می دهم اهمیت چندانی ندارد ، اما برای مواردی مانند F1 احتمالاً مفیدتر است. در صورت وجود تقاضای کافی ، دو نسخه را در نظر می گیرم یا این را اضافه می کنم ، اما ممکن است بر زمان پاسخگویی به دکمه ها تأثیر بگذارد.

توصیه شده: