რ/კ USB ხიდთან: 7 ნაბიჯი
რ/კ USB ხიდთან: 7 ნაბიჯი
Anonim
R/C USB ხიდზე
R/C USB ხიდზე

გარდაქმნის PPM სიგნალებს რადიო მიმღებიდან ჯოისტიკების პოზიციებში

გამოიყენეთ იგი თქვენი საყვარელი თამაშების და ფრენის ტრენაჟორების სათამაშოდ თქვენი R/C რადიოს გადამცემთან. ეს ინსტრუქცია იყენებს Arduino- ს LittleBits- დან და DSMX მიმღებს და დამატებით მარტივ კოდს ამ კონვერტაციის შესასრულებლად.

თქვენ დაგჭირდებათ

  • Ძალა
  • არდუინო
  • USB კაბელები
  • pin სათაურები
  • ჯუმბერის მავთული
  • რადიო მიმღები PPM გამომავალით.

ნაბიჯი 1: მიამაგრეთ სათაურები Arduino- ს დამატებით I/O პორტებში

შეაერთეთ სათაურები Arduino- ს დამატებით I/O პორტებში
შეაერთეთ სათაურები Arduino- ს დამატებით I/O პორტებში

მიმღების (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: გადაათრიეთ კოდი Arduino- ზე

#ჩართეთ#განსაზღვრეთ შეყვანა Pin 16#განსაზღვრეთ არხები 4#განსაზღვრეთ lo 800 // დაარეგულირეთ გამომავალი RX#განსაზღვრეთ hi 1600 // დაარეგულირეთ RX გამომავალი#განსაზღვრეთ ფილტრი 10int არხი [არხები]; int previousValue [არხები]; int counter = 0; Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 0, 0, true, true, false, false, false, false, true, true, false, false, false); void setup () {Joystick.setXA გამარჯობა); Joystick.setYAxisRange (აი, გამარჯობა); Joystick.setThrottleRange (აი, გამარჯობა); Joystick.setRudderRange (აი, გამარჯობა); ჯოისტიკი.დაწყება (); სერიული.დაწყება (9600); pinMode (inputPin, INPUT); } void loop () {if (pulseIn (inputPin, HIGH)> 3000) {for (int i = 0; i <= channel-1; i ++) {channel = pulseIn (inputPin, HIGH); } for (int i = 0; i <= არხები -1; i ++) {if ((არხი > 2000) || (არხი <500)) {არხი = წინა ღირებულება ; } else {არხი = (previousValue +არხი )/2; მრიცხველი ++; }} Joystick.setXAxis (არხი [0]); Joystick.setYAxis (არხი [1]); Joystick.setThrottle (არხი [2]); Joystick.setRudder (არხი [3]); } if (counter> filter) {for (int i = 0; i <= არხები-1; i ++) {Serial.print ("არხი"); Serial.print (i+1); Serial.print (":"); Serial.println (არხი ); previousValue = არხი ; } მრიცხველი = 0; }}

გთხოვთ, იცოდეთ, რომ კოდი, რომელიც გადადის R/C სიგნალსა და იმიტირებულ USB HID- ს შორის, მისი უმარტივესი ფორმით მოდის. აქ გამოყენებული ფუნქცია - pulseIn - არის ბლოკირების ფუნქცია. წაიკითხეთ აქ და აქ, თუ როგორ უნდა განახორციელოთ დაბლოკვის მიდგომა შეფერხებების გამოყენებით.

ნაბიჯი 4: გააკეთეთ გაყვანილობა

გაყვანილობის გაკეთება
გაყვანილობის გაკეთება
გაყვანილობის გაკეთება
გაყვანილობის გაკეთება

შეაერთეთ მხტუნავი მავთული / დუპონტის კაბელები ბიტსა და RX- ს შორის. ამ კაბელების ბოლოს კონექტორები უნდა იყოს ქალი. ჩვენ ვაკავშირებთ GND (ლურჯ), VCC (ყავისფერი) და სიგნალს (ნარინჯისფერ) RX- ის PPM პორტიდან GND, VCC და d16 არდუინოზე.

ნაბიჯი 5: დააკავშირეთ მიმღები

გათიშეთ არდუინო დენიდან. ჩადეთ სავალდებულო აღკაზმულობა RX- ზე BIND მონიშნული კონექტორის ადგილას. ჩართეთ თქვენი რადიო გადამცემი და ჩართეთ იგი სავალდებულო რეჟიმში. შემდეგი გამოიყენეთ ძალა არდუინოზე. შეკრების პროცესი წარმატებული იყო, როდესაც მიმღებში LED ჩართულია.

ნაბიჯი 6: შეცვალეთ კოდი თქვენს გარემოებებზე

არდუინოს ესკიზში hi და lo მუდმივები უნდა შეიცვალოს, რათა ასახავდეს მიმღების რეალურ გამომუშავებას, რომელსაც თქვენ იყენებთ.

#განსაზღვრეთ 800

#განსაზღვრეთ გამარჯობა 1600

სიგნალები PPM პულსის შიგნით იდეალურად მერყეობს 1000μs- დან 2000μs- მდე. ამ ინსტრუქციებში გამოსაყენებელი RX დაახლოებით 800 -დან 1600 -მდეა და ოდნავ განსხვავდება თითოეულ არხზე. იმის გასარკვევად, თუ რა დიაპაზონი აქვს თქვენს მიმღებს, გახსენით სერიული მონიტორი Arduino IDE- ში, რომ ნახოთ თქვენი RX გამომავალი. ამის მსგავსი იქნება:

არხი 1: 728

არხი 2: 729 არხი 3: 703 არხი 4: 726 არხი 1: 1681 არხი 2: 1639 არხი 3: 1613 არხი 4: 1676

მას შემდეგ რაც გექნებათ უფრო მკაფიო წარმოდგენა იმ დიაპაზონის შესახებ, რომელსაც თქვენი RX აწარმოებს, შეარჩიეთ კარგი მიახლოება hi და lo- სთვის და შესაბამისად შეცვალეთ მუდმივები. შემდეგ კვლავ ატვირთეთ ესკიზი არდუინოში.

ნაბიჯი 7: დაკალიბრება იმიტირებული ჯოისტიკი

მიამაგრეთ მოწყობილობა თქვენს კომპიუტერში და გამოიყენეთ თქვენი ოპერაციული სისტემის კალიბრაციის ფუნქცია იმიტირებული ჯოისტიკის დასაკალიბრებლად. Linux- ის კარგი ინსტრუმენტია jstest-gtk.

შემდგომი გაუმჯობესებები

  • ჩაწერეთ დაბლოკვის კოდი (იხ. ნაბიჯი 3)
  • დააყენეთ დიაპაზონი თითო არხზე, არა გლობალურად (იხ. ნაბიჯი 6)

შემდგომი კითხვა

  • Redcon CM703
  • PPM

გირჩევთ: