Мазмұны:

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

Бейне: DIY MPU-6050 USB джойстигі: 5 қадам

Бейне: DIY MPU-6050 USB джойстигі: 5 қадам
Бейне: Usb 3D Mouse Using Arduino and Mpu6050 Accelerometer #programming #arduino #arduinotutorial 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 -да шамамен 7 доллар тұрады. Мен Қытайдан жеткізілген eBay -ді алдым, бірақ жеткізу мерзімі шамамен 3 ай немесе одан да көп болды.

www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…

Кез келген Arduino тақтасы жұмыс істейді, бірақ ATmega32u4 негізіндегі тақтаны пайдалану әлдеқайда қарапайым болады, себебі ATmega32u4 HID (адам интерфейсі құрылғысы) қолдауына ие. Тақтаны бағдарламалағаннан кейін оны кез келген Windows 10 компьютерінде қолдануға болады және қосымша бағдарламалық жасақтама қажет емес. Windows 10 USB қосылған кезде оны джойстик ретінде автоматты түрде таниды. (Arduino тақтасының басқа түрін қолдану бұл қарапайым құрастыру жобасы үшін тым күрделі).

Мен Arduino Leonardo тақтасын таңдаймын. Амазоннан 17 доллар.

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

Бұл 2 құрылғы - бұл жобаның негізгі талаптары. Сымдар мен түймелер сияқты басқа да кішігірім элементтер қажет. Бұл жобада мен қарапайымдылық үшін тек 2 түймені қолдандым.

Джойстик тұтқасы ПВХ су құбырының сынығынан жасалған. Мұны кез келген қысқа құбырмен оңай ауыстыруға болады.

Джойстиктің негізі - бұл ағашқа бекітілген көктемгі есік тоқтауы.

Көктемгі есік тоқтауы Home Depot -тен $ 2.83CAN үшін қол жетімді.

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

1 -қадам: MPU6050 мен батырмаларды Arduino Leonardo тақтасына қосу

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 -ті Arduino Leonardo 5v немесе 3.3v -ге қосыңыз. (MPU 6050 5v немесе 3.3v қолдана алады. Маңызды емес)

GND -ны Arduino Leonardo кез келген GND -ге қосыңыз.

SCL -ды SCL -ге Ардуино Леонардода қосыңыз.

SDA -ны SDA -ға 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 -ны Arduino IDE -ге жүктеңіз және құрастырыңыз және Леонардо тақтасына жүктеңіз.

Ардуино Леонардо тақтасы таңдалғанына және порт нөмірі құралдар мәзірінің астындағы COM -да дұрыс таңдалғанына көз жеткізіңіз.

Мен біраз уақыт байқадым, COM портының қате коды жоқ бағдарламаны жүктеу мүмкін болмады. Құрастыру кезінде Леонардо тақтасындағы қалпына келтіру түймесін бірнеше рет басу көмектесе алады. Сондай -ақ, Windows 10 жүйесін қайта қосу COM портын босатуға көмектеседі.

Бағдарлама Леонардо тақтасына жүктелгеннен кейін, Windows 10 автоматты түрде Леонардо Джойстикін анықтауы керек. Windows 10 іздеу жолағына Game Controllers теріңіз, USB ойын контроллерлерін орнатыңыз.

Леонардо Джойстикті таңдап, Сипаттар түймесін басыңыз. Джойстик қозғалысы мен джойстик №1 түймесін Windows 10 алуы керек.

Егер джойстик орталықтандырылмаған болса, оны жіберген кезде, біз жасаған джойстиктің орталық қалпына келтіру түймесін басыңыз. USB ойын контроллері ортасында джойстик нүктесін көрсетуі керек. USB ойын контроллері бағдарламасында джойстикті калибрлеудің қажеті жоқ.

Ескерту: Ардуино Леонардомен таныс емес адамдар үшін құрылғы джойстик, тінтуір немесе пернетақта ретінде конфигурацияланған кезде, сериялық порт жұмыс істемейді. Сондықтан «Serial.print ()» жұмыс істемейді. Сондай -ақ, MPU6050 i2c сымдық кітапханасын пайдаланады және SDA мен SLC түйреуіштерін қолданады. Леонардода SDA мен SCL PIN 2 және PIN 3 кодтарын қабылдайды, сондықтан бұл 2 түйреуішті басқа ештеңе үшін пайдаланбаңыз.

5 -қадам: джойстикті тексеру

Мен оны Microsoft Flight Simulator 2020 бағдарламасында сынап көрдім және ол өте жақсы жұмыс істейді. Маған кейде джойстикті нөлге келтіру үшін ортаңғы пернені басу керек. Уақыт өте келе MPU6050 сенсорының мәні аздап өзгеруі мүмкін.

Қосымша түймелерді қосу және дроссельді басқару элементтерін қосу сияқты жобаға жұмсалатын көптеген мүмкіндіктер бар. Бұл басқа ойшылдарды заттарды жасаудың жаңа тәсілдерін іздеуге шабыттандырады деп үміттенемін.

Ұсынылған: