Съдържание:
- Стъпка 1: Свързване на MPU6050 и бутони към дъската Arduino Leonardo
- Стъпка 2: Изграждане на базата на джойстика
- Стъпка 3: Инсталирайте Arduino IDE
- Стъпка 4: Програма Arduino
- Стъпка 5: Тестване на джойстика
Видео: DIY MPU-6050 USB джойстик: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
С Microsoft Flight Simulator 2020 бързо разбрах колко е трудно да се използва клавиатура за изпълнение на план. Търсейки онлайн, не можах да намеря джойстик на разумна цена за закупуване. Повечето онлайн търговци на дребно ги нямаха на склад. Популярността на MS Flight Simulator и пандемията COVID 19 заличи всички съществуващи запаси от джойстици. Единственият ми вариант беше да си направя такъв сам.
Повечето джойстици там използват потенциометри в основата за определяне на ъглите на джойстика и изпращане на информация по оста x и y обратно към компютъра. Това работи добре, но усложнява конструкцията на джойстика. и с течение на времето. потенциометрите може да се износят. Вместо да използвам потенциометри, реших да използвам акселерометър/сензорна платка за жироскоп, за да изпратя информация до компютъра за ъглите на пръчката.
С популярността на различни микропроцесори Arduino и различни сензори, цената на изграждането на проект Arduino става много по -достъпна. Една от често използваните сензорни платки за акселерометър/жироскоп е MPU-6050. В Канада струва около $ 7 CAN в Amazon. Получих моя от 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. $ 17 CAN от Amazon.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
Тези 2 устройства са основните изисквания за този проект. Необходими са и други по -малки елементи като проводници и бутони. В този проект използвах само 2 бутона за простота.
Дръжката на джойстика е изработена от скрап PVC водопроводна тръба. Това може лесно да бъде заменено с всяка къса твърда тръба.
Основата на джойстика е пружинен ограничител на вратата, фиксиран върху парче дърво.
Пружинният ограничител на вратата се предлага от Home Depot за $ 2.83 CAN.
www.homedepot.ca/product/everbilt-spring-d…
Стъпка 1: Свързване на MPU6050 и бутони към дъската Arduino Leonardo
На MPU 6050 се използват само 4 връзки. Те са обозначени с VCC, GND, SCL и SDA.
Свържете VCC към 5v или 3.3v на Arduino Leonardo. (MPU 6050 може да използва 5v или 3.3v. Няма значение)
Свържете GND към всеки GND на Arduino Leonardo.
Свържете SCL към SCL на Arduino Leonardo.
Свържете 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 Web Editor може да се използва и за този проект.
Използват се 2 библиотеки.
1. MPU6050_tockn от tockn
github.com/Tockn/MPU6050_tockn
или можете да го намерите в менюто „Управление на библиотеката“.
2. Библиотека с джойстик от Матей Хейронимус
github.com/MHeironimus/ArduinoJoystickLibr…
Тази в момента е достъпна само от уебсайта на GitHub.
Кликнете върху Код за изтегляне и Изтеглете ZIP. Извлечете ZIP файла във вашата директория с библиотеки на Arduino.
В моя случай това е E: / PinChung / Documents / Arduino / libraries
Стъпка 4: Програма Arduino
Заредете Pin_Joystick.ino в Arduino IDE и го компилирайте и качете на дъската на Leonardo.
Уверете се, че платката Arduino Leonardo е избрана и номерът на порта е избран отдясно COM: в менюто Инструменти.
Забелязах известно време, че програмата не може да бъде качена, като кодът за грешка на COM порта не е наличен. Натискането на бутона за нулиране на дъската на Leonardo няколко пъти по време на компилирането може да помогне. Рестартирането на Windows 10 също може да помогне за освобождаване на COM порта.
След като програмата бъде качена на дъската на Leonardo, Windows 10 трябва автоматично да открие джойстика на Leonardo. В лентата за търсене на Windows 10 въведете Контролери за игри, стартирайте Настройка на USB контролери за игри.
изберете джойстик Леонардо и щракнете върху Свойства. Движението на джойстика и бутонът на джойстика №1 трябва да бъдат взети от Windows 10.
Ако джойстика не е центриран, когато го пуснете, щракнете върху централния бутон за нулиране на джойстика, който току -що направихме. USB контролерите за игри трябва да показват точката на джойстика в центъра. Няма нужда да калибрирате джойстика в програмата USB Game Controller.
Странична бележка: За тези, които не са запознати с Arduino Leonardo, когато устройството е конфигурирано като джойстик, мишка или клавиатура, серийният порт няма да работи. Така че "Serial.print ()" няма да работи. Също така, MPU6050 използва i2c кабелна библиотека и използва SDA и SLC щифтове. На Leonardo SDA и SCL заемат и PIN 2, и PIN 3, така че не използвайте тези 2 пина за нищо друго.
Стъпка 5: Тестване на джойстика
Тествах го на Microsoft Flight Simulator 2020 и работи много добре. Трябва понякога да натискам централния клавиш, за да нулирам джойстика. Стойността на сензора MPU6050 може да се отклони малко с течение на времето.
Има много възможности за изразходване по проекта, като добавяне на още бутони и добавяне на контроли за газта. Надяваме се, че това ще вдъхнови други калайджии да изследват нови начини за създаване на неща.
Препоръчано:
RC Tx модул като USB джойстик: 6 стъпки
RC Tx модул като USB джойстик: Тази инструкция е за създаване на предавателен модул, който работи със стандартни RC предаватели и действа като USB джойстик. Модулът използва Digispark dev платка, която действа като USB HID. Той интерпретира PPM сигнала, който предавателят изпраща и преобразува
USB джойстик с ефект на Хол: 7 стъпки (със снимки)
USB джойстик на Hall Effect: Тези инструкции показват как да използвате индустриален джойстик на Hall Effect, за да направите висококачествен USB джойстик. Има и други свързани инструкции Малък USB джойстик, който може да осигури евтино решение; >
Малък USB джойстик: 5 стъпки (със снимки)
Малък USB джойстик: Тези инструменти показват как да направите много прост малък USB джойстик. Тези инструкции са свързани с джойстика на Hall Effect USB за предоставяне на евтино решение
Ардуино базиран (JETI) PPM към USB джойстик конвертор за FSX: 5 стъпки
Ардуино базиран (JETI) PPM към USB джойстик конвертор за FSX: Реших да превключвам моя предавател JETI DC-16 от режим 2 в режим 1, който основно превключва дросела и асансьора отляво надясно и обратно. Тъй като не исках да разбия един от моделите си поради някакво объркване наляво/надясно в мозъка ми, бях
USB конвертиране на джойстик през 1980 -те: 7 стъпки (със снимки)
USB конвертиране на джойстик от 1980 -те: Този оригинален джойстик Cheetah 125 от 80 -те години на миналия век е имал любовна конверсия с лъскави нови микропревключватели, аркадни бутони и контролна платка на Pimoroni Player X. Сега има четири независими „огън“бутони и се свързва чрез USB, готов за