Мазмуну:

DIY MPU-6050 USB джойстик: 5 кадам
DIY MPU-6050 USB джойстик: 5 кадам

Video: DIY MPU-6050 USB джойстик: 5 кадам

Video: DIY MPU-6050 USB джойстик: 5 кадам
Video: Arduino Leonardo + GY-521 + DIY keypad 2024, Ноябрь
Anonim
DIY MPU-6050 USB джойстик
DIY MPU-6050 USB джойстик

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ко туташтыруу

MPU6050 жана баскычтарды Arduino Leonardo тактасына туташтыруу
MPU6050 жана баскычтарды Arduino Leonardo тактасына туташтыруу
MPU6050 жана баскычтарды Arduino Leonardo тактасына туташтыруу
MPU6050 жана баскычтарды Arduino Leonardo тактасына туташтыруу
MPU6050 жана баскычтарды Arduino Leonardo тактасына туташтыруу
MPU6050 жана баскычтарды Arduino Leonardo тактасына туташтыруу

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 сенсорунун баасы убакыттын өтүшү менен бир аз жылышы мүмкүн.

Долбоорго сарптоого көптөгөн мүмкүнчүлүктөр бар, мисалы, дагы баскычтарды кошуу жана дроссель контролдорун кошуу. Бул башка шылуундарды нерселерди жасоонун жаңы жолдорун издөөгө шыктандырат деп үмүттөнөбүз.

Сунушталууда: