فهرست مطالب:

R/C به USB Bridge: 7 مرحله
R/C به USB Bridge: 7 مرحله

تصویری: R/C به USB Bridge: 7 مرحله

تصویری: R/C به USB Bridge: 7 مرحله
تصویری: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, نوامبر
Anonim
R/C به USB Bridge
R/C به USB Bridge

سیگنال های PPM را از گیرنده رادیویی به موقعیت های جوی استیک تبدیل می کند

از آن برای پخش بازی های مورد علاقه و شبیه ساز پرواز با فرستنده رادیویی R/C خود استفاده کنید. این دستورالعمل از یک آردوینو از littleBits و یک گیرنده DSMX به علاوه یک قطعه کد ساده برای انجام این تبدیل استفاده می کند.

شما نیاز خواهید داشت

  • قدرت
  • آردوینو
  • کابل های USB
  • سرصفحه های پین
  • سیم جامپر
  • گیرنده رادیویی با خروجی PPM

مرحله 1: سرصفحه های پین را به درگاه های اضافی ورودی/خروجی آردوینو لحیم کنید

سرصفحه ها را به پورت های ورودی/ورودی اضافی آردوینو لحیم کنید
سرصفحه ها را به پورت های ورودی/ورودی اضافی آردوینو لحیم کنید

برای قدرت بخشیدن به گیرنده (RX) ، سرصفحه های پین باید به آردوینو اضافه شوند. این امر همچنین سیم کشی بین Bit و RX را بسیار ساده تر می کند. برای اطلاعات بیشتر به https://discuss.littlebits.cc/t/using-the-additional-i-os-on-the-arduino-bit مراجعه کنید.

مرحله 2: کتابخانه Arduino Joystick را به IDE خود اضافه کنید

کتابخانه Arduino Joystick را به IDE خود اضافه کنید
کتابخانه Arduino Joystick را به IDE خود اضافه کنید

شما می توانید کتابخانه را در GitHub پیدا کنید ، https://github.com/MHeironimus/ArduinoJoystickLib… متوی هیرونیموس ، برای نوشتن آن متشکرم.

فقط برخی از آردوینوها می توانند از یک HID مانند جوی استیک تقلید کنند. از آنجا که میکروکنترلر littleBits در قلب خود آردوینو لئوناردو است ، خوب است.

مرحله 3: کد را روی آردوینو فلش کنید

#شامل#تعریف ورودی پین 16#تعریف کانالها 4#تعریف lo 800 // تنظیم خروجی RX#define hi 1600 // تنظیم خروجی RX#تعریف فیلتر 10int کانال [کانال] ؛ int previousValue [کانال] ؛ int counter = 0 ؛ Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID ، JOYSTICK_TYPE_MULTI_AXIS ، 0 ، 0 ، درست ، درست ، غلط ، نادرست ، نادرست ، درست ، درست ، غلط ، غلط ، غلط) ؛ void setup () {Joystick.setX سلام)؛ Joystick.setYAxisRange (خوب ، سلام) ؛ Joystick.setThrottleRange (خوب ، سلام) ؛ Joystick.setRudderRange (خوب ، سلام) ؛ Joystick.begin ()؛ Serial.begin (9600)؛ pinMode (inputPin ، INPUT) ؛ } void loop () {if (pulseIn (inputPin، HIGH)> 3000) {for (int i = 0؛ i <= channel-1؛ i ++) {channel = pulseIn (inputPin، HIGH)؛ } برای (int i = 0 ؛ i <= channel-1؛ i ++) {if ((کانال > 2000) || (کانال <500)) {channel = previousValue ؛ } else {کانال = (previousValue +کانال )/2؛ شمارنده ++؛ }} Joystick.setXAxis (کانال [0]) ؛ Joystick.setYAxis (کانال [1]) ؛ Joystick.setThrottle (کانال [2]) ؛ Joystick.setRudder (کانال [3]) ؛ } if (counter> filter) {for (int i = 0؛ i <= channel-1؛ i ++) {Serial.print ("channel")؛ Serial.print (i+1) ؛ Serial.print (":")؛ Serial.println (کانال ) ؛ previousValue = کانال ؛ } شمارنده = 0؛ }}

لطفاً توجه داشته باشید که کدی که بین سیگنال R/C و USB HID شبیه سازی شده در ساده ترین شکل خود قرار می گیرد. تابع مورد استفاده در اینجا - pulseIn - یک تابع مسدود کننده است. در اینجا و اینجا نحوه اجرای رویکرد بدون انسداد با استفاده از وقفه ها را بخوانید.

مرحله 4: سیم کشی را انجام دهید

سیم کشی را انجام دهید
سیم کشی را انجام دهید
سیم کشی را انجام دهید
سیم کشی را انجام دهید

کابل های jumper wire / DuPont را بین Bit و RX وصل کنید. کانکتورهای انتهای این کابل ها باید زن باشند. ما GND (آبی) ، VCC (قهوه ای) و سیگنال (نارنجی) را از پورت PPM RX به GND ، VCC و d16 در آردوینو متصل می کنیم.

مرحله 5: گیرنده را متصل کنید

آردوینو را از برق جدا کنید. مهار اتصال را در محل اتصال که در RX با BIND مشخص شده است قرار دهید. فرستنده رادیویی خود را روشن کرده و آن را به حالت اتصال تبدیل کنید. در مرحله بعد قدرت را بر روی آردوینو اعمال کنید. وقتی LED در گیرنده روشن می شود ، روند اتصال موفقیت آمیز بود.

مرحله 6: کد را بر اساس شرایط خود تنظیم کنید

ثابت های hi و lo در طرح Arduino باید تغییر داده شوند تا خروجی واقعی گیرنده مورد استفاده شما را منعکس کند.

#800 را تعریف کنید

#سلام 1600

سیگنالهای داخل پالس PPM به طور ایده آل از 1000μs تا 2000μs متغیر است. RX مورد استفاده در این خروجی های دستورالعمل تقریباً بین 800 تا 1600 است و در هر کانال کمی متفاوت است. برای اطلاع از محدوده گیرنده خود ، Serial Monitor را در Arduino IDE باز کنید تا خروجی RX خود را ببینید. شبیه به این خواهد بود:

کانال 1: 728

کانال 2: 729 کانال 3: 703 کانال 4: 726 کانال 1: 1681 کانال 2: 1639 کانال 3: 1613 کانال 4: 1676

هنگامی که ایده روشنی از محدوده خروجی RX خود دارید ، تقریب خوبی برای hi و lo انتخاب کنید و بر این اساس ثابت ها را تغییر دهید. سپس دوباره طرح را در آردوینو بارگذاری کنید.

مرحله 7: جوی استیک شبیه سازی شده را کالیبره کنید

دستگاه را به رایانه خود وصل کرده و از عملکرد کالیبراسیون سیستم عامل خود برای کالیبراسیون جوی استیک شبیه سازی شده استفاده کنید. یک ابزار خوب برای لینوکس jstest-gtk است.

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

  • نوشتن کد غیر مسدود کننده (مرحله 3 را ببینید)
  • تنظیم محدوده در هر کانال ، نه جهانی (به مرحله 6 مراجعه کنید)

خواندن بیشتر

  • Redcon CM703
  • PPM

توصیه شده: