Სარჩევი:
- ნაბიჯი 1: MPU6050 და Push ღილაკების დაკავშირება Arduino Leonardo დაფასთან
- ნაბიჯი 2: ჯოისტიკის ბაზის მშენებლობა
- ნაბიჯი 3: დააინსტალირეთ Arduino IDE
- ნაბიჯი 4: Arduino პროგრამა
- ნაბიჯი 5: ჯოისტიკის გამოცდა
ვიდეო: DIY MPU-6050 USB ჯოისტიკი: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:15
Microsoft Flight Simulator 2020 -ით სწრაფად მივხვდი, რამდენად რთულია კლავიატურის გამოყენება გეგმის განსახორციელებლად. ინტერნეტში ძებნისას მე ვერ ვიპოვე გონივრული ფასის ჯოისტიკი შესყიდვისთვის. ონლაინ საცალო ვაჭრობის უმეტესობას ჰქონდა მათი მარაგი. MS Flight Simulator– ის და COVID 19 პანდემიის პოპულარობამ წაშალა ჯოისტიკების ყველა არსებული მარაგი. ჩემი ერთადერთი ვარიანტი იყო საკუთარი თავის აშენება.
ჯოისტიკების უმეტესობა იყენებს პოტენომეტრებს ძირში ჯოისტიკის კუთხეების დასადგენად და x და y ღერძების შესახებ ინფორმაციის უკან კომპიუტერში გაგზავნის. ეს კარგად მუშაობს, მაგრამ ართულებს ჯოისტიკის კონსტრუქციას. და დროთა განმავლობაში პოტენომეტრები შეიძლება ამოიწუროს. იმის ნაცვლად, რომ პოტენციომეტრები გამოვიყენო, გადავწყვიტე გამეგრძელებინა ამაჩქარებელი/გიროსკოპის სენსორული დაფა, რომ გამეგზავნა ინფორმაცია კომპიუტერში ჯოხის კუთხეებზე.
Arduino– ს სხვადასხვა მიკროპროცესორების და სხვადასხვა სენსორების პოპულარობით, Arduino– ს პროექტის მშენებლობის ღირებულება გაცილებით ხელმისაწვდომი ხდება. ერთ-ერთი ყველაზე ხშირად გამოყენებული ამაჩქარებელი/გიროსკოპის სენსორული დაფა არის MPU-6050. კანადაში, ამაზონში $ 7CAN ღირს. მე მივიღე eBay– დან ჩინეთიდან გაცილებით ნაკლები, მაგრამ გადაზიდვის დრო იყო 3 თვე ან მეტი.
www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…
Arduino– ს ნებისმიერი დაფა იმუშავებს, მაგრამ ATmega32u4 დაფაზე დაფუძნებული გამოყენება გაცილებით მარტივი იქნება, რადგან ATmega32u4– ს აქვს მშობლიური HID (ადამიანის ინტერფეისის მოწყობილობა) მხარდაჭერა. დაფის დაპროგრამების შემდეგ შეგიძლიათ გამოიყენოთ იგი Windows 10 კომპიუტერზე და არ გჭირდებათ დამატებითი პროგრამული უზრუნველყოფა. Windows 10 ავტომატურად აღიარებს მას როგორც ჯოისტიკას, როდესაც USB ჩართულია. (სხვა ტიპის Arduino დაფის გამოყენება ძალიან რთულია ამ მარტივი მშენებლობის პროექტისათვის).
მე ვირჩევ არდუინო ლეონარდოს დაფას. $ 17CAN ამაზონიდან.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
ეს 2 მოწყობილობა არის ამ პროექტის მთავარი მოთხოვნები. ასევე აუცილებელია სხვა მცირე ზომის ნივთები, როგორიცაა გაყვანილობა და ღილაკები. ამ პროექტში, მე გამოვიყენე მხოლოდ 2 ღილაკი სიმარტივისთვის.
ჯოისტიკის სახელური დამზადებულია ჯართის PVC წყლის მილისგან. ეს შეიძლება ადვილად შეიცვალოს ნებისმიერი მოკლე ხისტი მილით.
ჯოისტიკის საფუძველია ხის ნაჭერზე დაფიქსირებული საგაზაფხულო კარის გაჩერება.
საგაზაფხულო კარის გაჩერება შესაძლებელია Home Depot– დან 2,83 დოლარად.
www.homedepot.ca/product/everbilt-spring-d…
ნაბიჯი 1: MPU6050 და Push ღილაკების დაკავშირება Arduino Leonardo დაფასთან
MPU 6050 -ზე გამოიყენება მხოლოდ 4 კავშირი. მათ აქვთ წარწერა VCC, GND, SCL და SDA.
დაუკავშირეთ VCC 5v ან 3.3v არდუინო ლეონარდოზე. (MPU 6050– ს შეუძლია გამოიყენოს ან 5 ვ, ან 3.3 ვ. მნიშვნელობა არ აქვს)
დაუკავშირეთ GND ნებისმიერ GND– ს Arduino Leonardo– ზე.
შეაერთეთ SCL SCL– ს არდუინო ლეონარდოსთან.
დაუკავშირეთ SDA SDA– ს Arduino Leonardo– ზე.
ამ სადემონსტრაციო მიზნით მე მხოლოდ 2 ღილაკს ვიყენებ.
პირველი ღილაკი გამოიყენება ჯოისტიკის ცენტრის გადასაყენებლად. ამ მაგალითში, ღილაკის ერთი ბოლო უკავშირდება GND- ს და ერთი ბოლო PIN 13 -ს.
მეორე ღილაკი გამოიყენება როგორც ჯოისტიკის ღილაკი. ამ მაგალითში ის დაკავშირებულია PIN 9 -თან და GND- თან.
თქვენ შეგიძლიათ დაამატოთ დამატებითი ღილაკები, როგორც საჭიროა თქვენს პროექტში.
ნაბიჯი 2: ჯოისტიკის ბაზის მშენებლობა
იპოვეთ ხის ბლოკის ნაჭერი. რაც უფრო მძიმეა მით უკეთესი. ის ჯოისტიკების ბაზას უფრო სტაბილურს გახდის.
მიამაგრეთ გაზაფხულის კარის საცობი ხის ბლოკის ცენტრში, როგორც ეს ნაჩვენებია სურათზე.
ჯოისტიკის სახელურად გამოიყენეთ მოკლე მილის ნაჭერი. მე გამოვიყენე ნაკაწრი PVC მილი. მიჰყევით მავთულს ისე, რომ ამაჩქარებელი/გიროსკოპის სენსორი ზის მილის თავზე.
შემდეგ დააყენეთ მილები ზამბარის კარის საცობზე. მე გამოვიყენე ელექტრული ლენტი სენსორის ზედა ნაწილზე დასაფიქსირებლად.
ნაბიჯი 3: დააინსტალირეთ Arduino IDE
ჩამოტვირთეთ და დააინსტალირეთ Arduino IDE.https://www.arduino.cc/en/Main/Software
მე გამოვიყენე Arduino 1.8.13 ამ პროექტისთვის. Arduino ვებ რედაქტორი შეიძლება გამოყენებულ იქნას ამ პროექტისთვისაც.
გამოიყენება 2 ბიბლიოთეკა.
1. MPU6050_tockn მიერ tockn
github.com/Tockn/MPU6050_tockn
ან შეგიძლიათ იპოვოთ "ბიბლიოთეკის მართვა" მენიუში.
2. ჯოისტიკის ბიბლიოთეკა მათე ჰეირონიმუსის მიერ
github.com/MHeironimus/ArduinoJoystickLibr…
ეს ამჟამად ხელმისაწვდომია მხოლოდ GitHub ვებსაიტზე.
დააჭირეთ ჩამოტვირთვის კოდს და ჩამოტვირთეთ ZIP. ამოიღეთ ZIP ფაილი თქვენი Arduino ბიბლიოთეკების დირექტორიაში.
ჩემს შემთხვევაში, ეს არის E: / PinChung / Documents / Arduino / ბიბლიოთეკები
ნაბიჯი 4: Arduino პროგრამა
ჩატვირთეთ Pin_Joystick.ino Arduino IDE– ზე და შეადგინეთ და ატვირთეთ ლეონარდოს დაფაზე.
დარწმუნდით, რომ არდუინო ლეონარდოს დაფა არჩეულია და პორტის ნომერი შერჩეულია მარჯვნივ COM: ინსტრუმენტების მენიუში.
გარკვეული პერიოდი შევამჩნიე, რომ პროგრამის ატვირთვა შეუძლებელია COM პორტის შეცდომის კოდით. ლეონარდოს დაფაზე გადატვირთვის ღილაკის დაჭერა რამდენჯერმე შეიძლება დაგეხმაროს. Windows 10 -ის გადატვირთვამ ასევე შეიძლება დაგეხმაროთ COM პორტის განთავისუფლებაში.
მას შემდეგ რაც პროგრამა აიტვირთება ლეონარდოს დაფაზე, Windows 10 -მა ავტომატურად უნდა აღმოაჩინოს ლეონარდო ჯოისტიკი. Windows 10 საძიებო ზოლში ჩაწერეთ Game Controllers, გაუშვით USB Game Controllers- ის დაყენება.
აირჩიეთ ლეონარდო ჯოისტიკი და დააწკაპუნეთ თვისებებზე. ჯოისტიკის მოძრაობა და ჯოისტიკი #1 ღილაკი უნდა აიყვანოს Windows 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 ჯოისტიკი: ეს ინსტრუქცია ეხება გადამცემი მოდულის დამზადებას, რომელიც მუშაობს სტანდარტული RC გადამცემებით და მოქმედებს როგორც USB ჯოისტიკი. მოდული იყენებს Digispark dev board- ს, რომელიც მოქმედებს როგორც USB HID. ის განმარტავს PPM სიგნალს, რომელსაც გადამცემი აგზავნის და გარდაქმნის
Hall Effect USB ჯოისტიკი: 7 ნაბიჯი (სურათებით)
Hall Effect USB ჯოისტიკი: ეს ინსტრუქცია აჩვენებს, თუ როგორ გამოიყენოთ ინდუსტრიული Hall Effect ჯოისტიკი მაღალი დონის USB ჯოისტიკისთვის. არსებობს სხვა დაკავშირებული ინსტრუქციები Tiny USB ჯოისტიკი, რომელსაც შეუძლია უზრუნველყოს დაბალი ღირებულების გადაწყვეტა; >
პატარა USB ჯოისტიკი: 5 ნაბიჯი (სურათებით)
წვრილი USB ჯოისტიკი: ეს ინსტრუქცია აჩვენებს, თუ როგორ უნდა გააკეთოთ ძალიან მარტივი პატარა USB ჯოისტიკი. ეს ინსტრუქციები დაკავშირებულია Hall Effect USB ჯოისტიკთან დაბალი ფასის გადაწყვეტის უზრუნველსაყოფად
გადააკეთეთ ძველი თამაშის პორტი ჯოისტიკი USB– ის ფრენის ჯოხში არდუინოთი: 5 ნაბიჯი
გადაიყვანეთ ძველი თამაშის პორტის ჯოისტიკი USB– ის ფრენის ჯოხში Arduino– ით: სწრაფი პასუხისმგებლობის შეზღუდვის უგულებელყოფა: ამ პროექტის მიზანია არ გააკეთოს იაფი თამაშის პორტის ჯოისტიკის კონვერტაცია. ამ პროექტის მიზანია შექმნას მრავალმხრივი და მორგებადი ჯოისტიკი, რომლის ადვილად მოდიფიცირებაც შესაძლებელია. არდუინოს არჩევის მიზეზი იყო
USB კლავიატურის ჯოისტიკი: 5 ნაბიჯი
USB კლავიატურის ჯოისტიკი: მარტივია USB კლავიატურის და მაუსის კონტროლერების დამზადება. მე ვიყენებ კლავიატურის რამდენიმე მალსახმობს Adobe Lightroom- ში სურათების შეფასებისას და აღმოვაჩინე, რომ შემიძლია კიდევ უფრო სწრაფად ვიყო მარტივი თამაშის კონტროლერის ჯოისტიკის გამოყენებით. მე დამცინავი იგი პურის დაფაზე