Բովանդակություն:

DIY MPU-6050 USB Joystick ՝ 5 քայլ
DIY MPU-6050 USB Joystick ՝ 5 քայլ

Video: DIY MPU-6050 USB Joystick ՝ 5 քայլ

Video: DIY MPU-6050 USB Joystick ՝ 5 քայլ
Video: Usb 3D Mouse Using Arduino and Mpu6050 Accelerometer #programming #arduino #arduinotutorial 2024, Նոյեմբեր
Anonim
DIY MPU-6050 USB Joystick
DIY MPU-6050 USB Joystick

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 (Մարդկային միջերեսային սարք) աջակցություն: Տախտակի ծրագրավորվելուց հետո այն կարող եք օգտագործել ցանկացած Windows 10 համակարգչի վրա և լրացուցիչ ծրագրակազմ չի պահանջվում: Windows 10 -ն ինքնաբերաբար այն կճանաչի որպես ջոյսթիք, երբ USB- ն միացված է: (Այլ տեսակի Arduino տախտակի օգտագործումը չափազանց բարդ է այս պարզ կառուցման նախագծի համար):

Ես ընտրում եմ Arduino Leonardo տախտակը: $ 17CAN Amazon- ից:

www.amazon.ca/KEYESTUDIO-Leonardo-Developm…

Այս 2 սարքերը այս ծրագրի հիմնական պահանջներն են: Անհրաժեշտ են նաև այլ փոքր իրեր, ինչպիսիք են լարերը և կոճակները: Այս նախագծում ես պարզության համար օգտագործեցի միայն 2 կոճակ:

Joyոյսթիկի բռնակը պատրաստված է ջարդոնի PVC ջրատարից: Այն կարելի է հեշտությամբ փոխարինել ցանկացած կարճ կոշտ խողովակով:

Theոյսթիկի հիմքը փայտի կտորի վրա ամրացված գարնանային դռան կանգառն է:

Գարնանային դռան կանգառը Home Depot- ից հասանելի է $ 2.83CAN- ով:

www.homedepot.ca/product/everbilt-spring-d…

Քայլ 1. MPU6050 և կոճակները միացնելը Arduino Leonardo տախտակին

MPU6050 և Push կոճակները միացնելով Arduino Leonardo տախտակին
MPU6050 և Push կոճակները միացնելով Arduino Leonardo տախտակին
MPU6050 և Push կոճակները միացնելով Arduino Leonardo տախտակին
MPU6050 և Push կոճակները միացնելով Arduino Leonardo տախտակին
MPU6050 և Push կոճակները միացնելով Arduino Leonardo տախտակին
MPU6050 և Push կոճակները միացնելով Arduino Leonardo տախտակին

MPU 6050- ում օգտագործվում է ընդամենը 4 միացում: Դրանք պիտակավորված են VCC, GND, SCL և SDA:

Arduino Leonardo- ում միացրեք VCC- ն 5v կամ 3.3v- ին: (MPU 6050 -ը կարող է օգտագործել կամ 5 վ, և 3.3 վ: Կարևոր չէ)

Միացրեք GND- ը Arduino Leonardo- ի ցանկացած GND- ին:

Միացրեք SCL- ն SCL- ին Arduino Leonardo- ում:

Միացրեք SDA- ն SDA- ին Arduino Leonardo- ում:

Այս ցուցադրման նպատակով ես օգտագործում եմ ընդամենը 2 կոճակ:

Առաջին կոճակը օգտագործվում է ջոյսթիք կենտրոնը վերակայելու համար: Այս օրինակում կոճակի մի ծայրը միացված է GND- ին և մեկ ծայրը `PIN 13 -ին:

Երկրորդ կոճակը օգտագործվում է որպես ջոյսթիք կոճակ: Այս օրինակում այն միացված է PIN 9 -ին և GND- ին:

Դուք կարող եք լրացուցիչ կոճակներ ավելացնել ըստ ձեր նախագծի:

Քայլ 2. Buildingոյստիկի բազայի կառուցում

Buildingոյստիկի բազայի կառուցում
Buildingոյստիկի բազայի կառուցում
Buildingոյստիկի բազայի կառուցում
Buildingոյստիկի բազայի կառուցում
Buildingոյստիկի բազայի կառուցում
Buildingոյստիկի բազայի կառուցում

Գտեք փայտե բլոկի կտոր: Որքան ծանր, այնքան լավ: Joyոյսթիկի հիմքը ավելի կայուն կդարձնի:

Պտուտակեք գարնան դռան խցանը փայտե բլոկի կենտրոնում, ինչպես ցույց է տրված նկարում:

Որպես ջոյսթիկի բռնակ օգտագործեք կարճ խողովակի մի կտոր: Ես օգտագործեցի քերած PVC խողովակ: Անցեք մետաղալարն այնպես, որ արագացուցիչի/գիրոսկոպի տվիչը նստած լինի խողովակի վերևում:

Այնուհետեւ խողովակը դրեք գարնան դուռի խցանի վրայով: Ես էլեկտրական ժապավենով սենսորը կպցրի վերևում:

Քայլ 3: Կարգավորեք Arduino IDE- ն

Ներբեռնեք և տեղադրեք Arduino IDE.https://www.arduino.cc/hy/Main/Software

Այս նախագծի համար ես օգտագործեցի Arduino 1.8.13: Այս նախագծի համար կարող է օգտագործվել նաև Arduino Web Editor- ը:

Օգտագործվում է 2 գրադարան:

1. MPU6050_tockn ըստ tockn

github.com/Tockn/MPU6050_tockn

կամ կարող եք գտնել այն «Կառավարել գրադարանը» ցանկում:

2. oyոյստիկի գրադարան ՝ Մեթյու Հեյրոնիմուսի կողմից

github.com/MHeironimus/ArduinoJoystickLibr…

Այս մեկը ներկայումս հասանելի է միայն GitHub կայքից:

Կտտացրեք ներբեռնման կոդին և ներբեռնեք ZIP- ին: Արդյունահանեք ZIP ֆայլը ձեր Arduino գրադարանների գրացուցակում:

Իմ դեպքում դա E: / PinChung / Documents / Arduino / գրադարաններն են

Քայլ 4: Arduino ծրագիր

Տեղադրեք Pin_Joystick.ino- ն Arduino IDE- ի վրա և կազմեք և վերբեռնեք Լեոնարդոյի տախտակին:

Համոզվեք, որ Arduino Leonardo տախտակն ընտրված է, և նավահանգստի համարը ընտրված է աջ COM- ում ՝ Գործիքների ցանկի ներքո:

Ես որոշ ժամանակ նկատեցի, որ ծրագիրը չի կարող վերբեռնվել COM պորտի սխալի ծածկագրով, որը հասանելի չէ: Կազմելիս մի քանի անգամ սեղմել Լեոնարդոյի տախտակի վերակայման կոճակը: Windows 10 -ի վերագործարկումը կարող է նաև օգնել ազատել COM պորտը:

Երբ ծրագիրը վերբեռնվի Լեոնարդոյի տախտակին, Windows 10 -ը պետք է ինքնաբերաբար հայտնաբերի Լեոնարդո ջոյստիկը: Windows 10 որոնման տողում մուտքագրեք Game Controllers, գործարկեք Set up USB Game Controllers:

ընտրեք Լեոնարդո oyոյստիկ և կտտացրեք Հատկություններ: Joyոյսթիք շարժումը և ջոյսթիք #1 կոճակը պետք է վերցնել Windows 10 -ով:

Եթե ջոյսթիկը կենտրոնացած չէ, երբ այն բաց եք թողնում, կտտացրեք մեր ստեղծած ջոյստիկի կենտրոնի վերականգնման կոճակին: USB Game Controllers- ը պետք է ցույց տա ջոյսթիկի կետը կենտրոնում: USB Game Controller ծրագրում ջոյստիկը չափագրելու կարիք չկա:

Կողմնակի նշում. Նրանց համար, ովքեր ծանոթ չեն Arduino Leonardo- ին, երբ սարքը կազմաձևված է որպես ջոյստիկ, մկնիկ կամ ստեղնաշար, սերիական պորտը չի աշխատի: Այսպիսով, «Serial.print ()» - ը չի աշխատի: Բացի այդ, MPU6050- ն օգտագործում է i2c մետաղալար գրադարան և օգտագործում է SDA և SLC կապում: Լեոնարդոյի վրա SDA- ն և SCL- ն զբաղեցնում են և՛ PIN 2 -ը, և՛ PIN 3 -ը, այնպես որ մի՛ օգտագործեք այս 2 կապում այլ բանի համար:

Քայլ 5: Փորձարկեք ջոյսթիկը

Ես այն փորձարկել եմ Microsoft Flight Simulator 2020 -ի վրա և այն շատ լավ է աշխատում: Ես երբեմն ստիպված եմ սեղմել կենտրոնական ստեղնը `զոիստիկը զրոյացնելու համար: MPU6050 տվիչի արժեքը կարող է ժամանակի ընթացքում մի փոքր շեղվել:

Onրագրի վրա ծախսելու շատ հնարավորություններ կան, ինչպիսիք են ՝ ավելի շատ կոճակներ ավելացնելը և շնչափողերի կառավարման տարրերի ավելացումը: Հուսով եմ, որ դա ոգեշնչելու է այլ հնարվորների `իրեր պատրաստելու նոր եղանակներ ուսումնասիրելու համար:

Խորհուրդ ենք տալիս: