Съдържание:

DIY MPU-6050 USB джойстик: 5 стъпки
DIY MPU-6050 USB джойстик: 5 стъпки

Видео: DIY MPU-6050 USB джойстик: 5 стъпки

Видео: DIY MPU-6050 USB джойстик: 5 стъпки
Видео: Arduino project 😎^ Arduino #arduino #2022 #2021 #2023 #dc #arduinoproject #diy #foryou 2024, Ноември
Anonim
Направи си сам джойстик MPU-6050 USB
Направи си сам джойстик MPU-6050 USB

С 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

Свързване на 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 на 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 може да се отклони малко с течение на времето.

Има много възможности за изразходване по проекта, като добавяне на още бутони и добавяне на контроли за газта. Надяваме се, че това ще вдъхнови други калайджии да изследват нови начини за създаване на неща.

Препоръчано: