Мазмуну:
- 1 -кадам: MPU6050 жана баскычтарды Arduino Leonardo Boardко туташтыруу
- 2 -кадам: Джойстик базасын куруу
- 3 -кадам: Arduino IDE орнотуу
- 4 -кадам: Arduino программасы
- 5 -кадам: Джойстикти сыноо
Video: DIY MPU-6050 USB джойстик: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Microsoft Flight Simulator 2020 менен мен планды ишке ашыруу үчүн клавиатураны колдонуу канчалык кыйын экенин тез түшүндүм. Интернеттен издеп, мен сатып алууга ылайыктуу баада джойстик таба алган жокмун. Көпчүлүк интернет -дүкөндөрдө алардын запасы жок болчу. MS Flight Simulator жана COVID 19 пандемиясынын популярдуулугу джойстиктин бардык запастарын жок кылды. Менин жалгыз вариантым - бирин өзүм куруу.
Көбүнчө джойстиктер базада потенциометрлерди колдонуп, джойстиктин бурчтарын аныкташат жана x жана y огунун маалыматын кайра компьютерге жөнөтүшөт. Бул жакшы иштейт, бирок джойстиктин курулушун кыйындатат. жана убакыттын өтүшү менен. потенциометрлер эскириши мүмкүн. Потенциометрди колдонуунун ордуна, таяктын бурчтары боюнча маалыматты компьютерге жөнөтүү үчүн акселерометр/гироскоптун сенсордук тактасы менен барууну чечтим.
Ар кандай Arduino микропроцессорлорунун жана ар кандай сенсорлордун популярдуулугу менен, Arduino долбоорун куруу баасы кыйла жеткиликтүү болуп калат. Көбүнчө акселерометр/гироскоптун сенсордук тактасынын бири-MPU-6050. Канадада, ал Amazonда $ 7CANдын тегерегинде турат. Мен Кытайдан eBayден бир аз арзаныраак жеткирип алдым, бирок жеткирүү убактысы 3 айга же андан көпкө созулду.
www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…
Ар кандай Arduino тактасы иштейт, бирок ATmega32u4 негизделген тактаны колдонуу алда канча жөнөкөй болот, анткени ATmega32u4 жергиликтүү HID (Human Interface Device) колдоосуна ээ. Такта программалангандан кийин, аны каалаган Windows 10 компьютеринде колдонсоңуз болот жана кошумча программалык камсыздоонун кереги жок. Windows 10 USB туташтырылганда автоматтык түрдө джойстик катары тааныйт. (Башка типтеги Arduino тактасын колдонуу бул жөнөкөй курулуш долбоору үчүн өтө татаал).
Мен Arduino Leonardo тактасын тандайм. Амазонкадан $ 17CAN.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
Бул 2 түзмөк бул долбоордун негизги талаптары. Вирингдер жана баскычтар сыяктуу башка майда нерселер дагы керек. Бул долбоордо мен жөнөкөйлүк үчүн 2 баскычты гана колдондум.
Джойстиктин туткасы PVC суу түтүгүнүн сыныгынан жасалган. Бул жонокой кандайдыр бир кыска катуу түтүк менен алмаштырылышы мүмкүн.
Джойстиктин негизи - жыгачтын бир бөлүгүнө бекитилген жазгы эшик стопу.
Жазгы эшик аялдамасы Home Depotтон $ 2.83CANга жеткиликтүү.
www.homedepot.ca/product/everbilt-spring-d…
1 -кадам: MPU6050 жана баскычтарды Arduino Leonardo Boardко туташтыруу
MPU 6050де 4 гана байланыш колдонулат. Алар VCC, GND, SCL жана SDA деп белгиленген.
Ардуино Леонардодо VCCти 5v же 3.3v туташтырыңыз. (MPU 6050 5v же 3.3v колдоно алат. Мааниси жок)
Ардуино Леонардодогу каалаган GNDге GND туташыңыз.
SCLди SCLге Arduino Leonardo туташтырыңыз.
SDAны SDUга Arduino Leonardo туташтырыңыз.
Мен бул демонстрация үчүн 2 баскычты гана колдоном.
Биринчи басуу баскычы джойстик борборун баштапкы абалга келтирүү үчүн колдонулат. Бул мисалда, баскычтын бир учу GND менен бир учу PIN 13кө туташкан.
Экинчи баскыч баскычы джойстик баскычы катары колдонулат. Бул мисалда, ал PIN 9 жана GND менен туташкан.
Сиз долбоорго керектүү кошумча баскычтарды кошо аласыз.
2 -кадам: Джойстик базасын куруу
Жыгач блоктун бир бөлүгүн табыңыз. Канчалык оор болсо, ошончолук жакшы. Бул джойстиктин базасын туруктуу кылат.
Сүрөттө көрүнүп тургандай, жыгач блоктун ортосуна жазгы эшик тыгынын бурап салыңыз.
Джойстиктин туткасы катары кыска түтүктү колдонуңуз. Мен ПВХ түтүкчөсүн колдондум. Акселерометр/гироскоп сенсору түтүктүн үстүндө отурушу үчүн зымды басыңыз.
Андан кийин түтүктү жазгы эшик тыгынынын үстүнө кой. Мен сенсордун үстүндөгү лентага электр лентасын колдондум.
3 -кадам: Arduino IDE орнотуу
Arduino IDEди жүктөп алып, орнотуңуз.
Мен бул долбоор үчүн Arduino 1.8.13 колдондум. Arduino Web Editor бул долбоор үчүн да колдонулушу мүмкүн.
2 китепкана колдонулат.
1. MPU6050_tockn by tockn
github.com/Tockn/MPU6050_tockn
же "Китепкананы башкаруу" менюсунда таба аласыз.
2. Джойстик китепканасы Мэтью Хейронимус
github.com/MHeironimus/ArduinoJoystickLibr…
Бул учурда GitHub веб -сайтынан гана жеткиликтүү.
Жүктөө кодун басыңыз жана ZIPти жүктөп алыңыз. ZIP файлын Arduino китепканаларыңыздын каталогуна алыңыз.
Менин учурда, бул E: / PinChung / Documents / Arduino / китепканалары
4 -кадам: Arduino программасы
Pin_Joystick.ino'yu Arduino IDEге жүктөңүз жана Леонардонун тактасына жүктөңүз.
Ардуино Леонардонун тактасы тандалганын жана порт номери туура COMго тандалганын текшериңиз: Tools менюсунда.
Бир аз убакыттан кийин байкадым, программаны COM портунун ката коду менен жүктөө мүмкүн эмес. Түзүү учурунда Леонардонун тактайындагы баштапкы абалга келтирүү баскычын бир нече жолу басуу жардам бериши мүмкүн. Ошондой эле Windows 10ду кайра жүктөө COM портун бошотууга жардам бериши мүмкүн.
Программа Леонардо тактасына жүктөлгөндөн кийин, Windows 10 автоматтык түрдө Леонардо Джойстикти табышы керек. Windows 10 издөө тилкесине Оюн контроллерлерин терип, USB Оюн контроллерлерин орнотууну иштетиңиз.
Леонардо Джойстикти тандап, касиеттерди чыкылдатыңыз. Джойстик кыймылы жана джойстиктин №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 сенсорунун баасы убакыттын өтүшү менен бир аз жылышы мүмкүн.
Долбоорго сарптоого көптөгөн мүмкүнчүлүктөр бар, мисалы, дагы баскычтарды кошуу жана дроссель контролдорун кошуу. Бул башка шылуундарды нерселерди жасоонун жаңы жолдорун издөөгө шыктандырат деп үмүттөнөбүз.
Сунушталууда:
USB джойстик катары RC Tx модулу: 6 кадам
USB джойстик катары RC Tx модулу: Бул үйрөткүч стандарттык RC өткөргүчтөрү менен иштеген жана USB джойстикинин милдетин аткаруучу өткөргүч модулун жасоо жөнүндө. Модуль USB HID катары иштеген Digispark dev тактасын колдонот. Бул PPM сигналын которгуч жөнөтөт жана айлантат
Hall Effect USB джойстик: 7 кадам (сүрөттөр менен)
Hall Effect USB джойстиги: Бул көрсөтмөлөр өнөр жайлык Hall Effect джойстикти кантип колдонууну көрсөтөт, ал жогорку презентациядагы USB джойстикти жасайт
Кичинекей USB джойстик: 5 кадам (сүрөттөр менен)
Tiny USB джойстиги: Бул көрсөтмөлөр кичинекей USB джойстикти кантип жасоону көрсөтөт
Arduino негизделген (JETI) PPM FSX үчүн USB джойстик конвертерине: 5 кадам
Arduino негизделген (JETI) PPM FSX үчүн USB джойстик конвертерине: Мен JETI DC-16 өткөргүчүмдү 2-режимден 1-режимге которууну чечтим, ал газ менен лифтти негизинен солдон оңго жана тескерисинче которот. Мен мээмде сол/оң башаламандыктан улам моделдеримдин бирин кулаткым келбегендиктен, мен
1980 -жылдардагы джойстик USB конверсиясы: 7 кадам (сүрөттөр менен)
1980s Joystick USB Conversion: 1980s бул оригиналдуу Cheetah 125 Джойстик жаркыраган жаңы microswitches, аркада баскычтары жана Pimoroni Player X контролеру тактасы менен сүйүү менен өзгөртүлгөн. Азыр төрт көз карандысыз " от " баскычтар жана USB аркылуу туташат, даяр