Სარჩევი:

რ/კ USB ხიდთან: 7 ნაბიჯი
რ/კ USB ხიდთან: 7 ნაბიჯი

ვიდეო: რ/კ USB ხიდთან: 7 ნაბიჯი

ვიდეო: რ/კ USB ხიდთან: 7 ნაბიჯი
ვიდეო: რ.კ გორის "ჯიქი" 2024, ნოემბერი
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

გირჩევთ: