Оглавление:
- Шаг 1. Подключение MPU6050 и кнопок к плате Arduino Leonardo
- Шаг 2: Сборка основания джойстика
- Шаг 3: Установите Arduino IDE
- Шаг 4: программа Arduino
- Шаг 5: Проверка джойстика
Видео: USB-джойстик DIY MPU-6050: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
С Microsoft Flight Simulator 2020 я быстро понял, насколько сложно использовать клавиатуру для выполнения плана. Поискав в Интернете, я не смог найти подходящий джойстик по разумной цене. У большинства интернет-магазинов их не было в наличии. Популярность MS Flight Simulator и пандемия COVID 19 уничтожили все существующие запасы джойстиков. Моим единственным вариантом было построить его самому.
Большинство джойстиков используют потенциометры в основании для определения углов джойстика и отправки информации об осях x и y обратно на компьютер. Это работает хорошо, но усложняет конструкцию джойстика. и со временем. потенциометры могут изнашиваться. Вместо того, чтобы использовать потенциометры, я решил использовать сенсорную плату акселерометра / гироскопа, чтобы отправлять в компьютер информацию об углах стика.
С ростом популярности различных микропроцессоров Arduino и различных датчиков стоимость создания проекта Arduino становится намного доступнее. Одна из часто используемых плат датчиков акселерометра / гироскопа - MPU-6050. В Канаде это стоит около 7 канадских долларов на 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 канадских долларов на Amazon.
www.amazon.ca/KEYESTUDIO-Leonardo-Developm…
Эти 2 устройства являются основными требованиями для этого проекта. Также необходимы другие мелкие предметы, такие как проводка и кнопки. В этом проекте для простоты я использовал только 2 кнопки.
Рукоятка джойстика сделана из обрезной водопроводной трубы ПВХ. Его легко заменить любой короткой жесткой трубой.
Основание джойстика - пружинный упор двери, закрепленный на дереве.
Пружинный ограничитель двери можно приобрести в Home Depot за 2,83 канадских доллара.
www.homedepot.ca/product/everbilt-spring-d…
Шаг 1. Подключение MPU6050 и кнопок к плате Arduino Leonardo
MPU 6050 использует только 4 соединения. Они имеют маркировку VCC, GND, SCL и SDA.
Подключите VCC к 5 В или 3,3 В на Arduino Leonardo. (MPU 6050 может использовать 5 В или 3,3 В. Не имеет значения)
Подключите GND к любому GND на Arduino Leonardo.
Подключите SCL к SCL на Arduino Leonardo.
Подключите SDA к SDA на Arduino Leonardo.
Я использую только 2 кнопки для этой демонстрационной цели.
Первая кнопка используется для сброса центра джойстика. В этом примере один конец кнопки подключен к GND, а другой конец - к контакту 13.
Вторая кнопка используется как кнопка джойстика. В этом примере он подключен к PIN 9 и GND.
При необходимости вы можете добавить в свой проект дополнительные кнопки.
Шаг 2: Сборка основания джойстика
Найдите кусок дерева. Чем тяжелее, тем лучше. Это сделает основание джойстика более устойчивым.
Прикрутите пружинный стопор дверцы к центру деревянного бруска, как показано на рисунке.
В качестве ручки джойстика используйте кусок короткой трубы. Я использовал скребок из ПВХ. Протяните провод так, чтобы датчик акселерометра / гироскопа находился сверху трубы.
Затем наденьте трубу на пружинный стопор дверцы. Я использовал изоленту, чтобы приклеить датчик сверху.
Шаг 3: Установите Arduino IDE
Загрузите и установите Arduino IDE.
Для этого проекта я использовал Arduino 1.8.13. Для этого проекта также можно использовать веб-редактор Arduino.
Используются 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, скомпилируйте и загрузите на плату Леонардо.
Убедитесь, что выбрана плата Arduino Leonardo и номер порта выбран справа COM: в меню «Инструменты».
Некоторое время я заметил, что программа не может быть загружена с кодом ошибки COM-порта недоступен. Нажатие кнопки сброса на плате Леонардо пару раз во время компиляции может помочь. Также перезапуск Windows 10 также может помочь освободить COM-порт.
После загрузки программы на плату Леонардо Windows 10 должна автоматически обнаружить джойстик Леонардо. В строке поиска Windows 10 введите Игровые контроллеры, запустите Настройка игровых контроллеров USB.
выберите «Джойстик Леонардо» и нажмите «Свойства». Движение джойстика и кнопку джойстика №1 должна улавливать Windows 10.
Если джойстик не отцентрован, когда вы отпустите его, нажмите только что сделанную кнопку сброса центра джойстика. На игровых контроллерах USB должна быть точка джойстика в центре. Калибровать джойстик в программе USB Game Controller не нужно.
Боковое примечание: для тех, кто не знаком с Arduino Leonardo, когда устройство настроено как джойстик, мышь или клавиатура, последовательный порт не будет работать. Так что "Serial.print ()" работать не будет. Кроме того, MPU6050 использует библиотеку проводов i2c и выводы SDA и SLC. На Леонардо SDA и SCL занимают как PIN 2, так и PIN 3, поэтому не используйте эти 2 контакта ни для чего другого.
Шаг 5: Проверка джойстика
Я тестировал его на Microsoft Flight Simulator 2020, и он работает очень хорошо. Иногда мне приходится нажимать центральную клавишу, чтобы обнулить джойстик. Значение датчика MPU6050 может немного измениться со временем.
Есть много возможностей, которые можно потратить на проект, например, добавление дополнительных кнопок и добавление регуляторов газа. Надеюсь, это вдохновит других мастеров на поиск новых способов изготовления вещей.
Рекомендуемые:
Отслеживание движения с использованием MPU-6000 и Particle Photon: 4 шага
Отслеживание движения с использованием MPU-6000 и фотона частиц: MPU-6000 - это 6-осевой датчик отслеживания движения, в который встроены 3-осевой акселерометр и 3-осевой гироскоп. Этот датчик способен эффективно отслеживать точное положение и местоположение объекта в трехмерной плоскости. Его можно использовать в
Отслеживание движения с использованием MPU-6000 и Arduino Nano: 4 шага
Отслеживание движения с использованием MPU-6000 и Arduino Nano: MPU-6000 - это 6-осевой датчик отслеживания движения, в который встроены 3-осевой акселерометр и 3-осевой гироскоп. Этот датчик способен эффективно отслеживать точное положение и местоположение объекта в трехмерной плоскости. Его можно использовать в
Отслеживание движения с использованием MPU-6000 и Raspberry Pi: 4 шага
Отслеживание движения с использованием MPU-6000 и Raspberry Pi: MPU-6000 - это 6-осевой датчик отслеживания движения, в который встроены 3-осевой акселерометр и 3-осевой гироскоп. Этот датчик способен эффективно отслеживать точное положение и местоположение объекта в трехмерной плоскости. Его можно использовать в
Превратите обычную USB-флешку в надежную USB-флешку: 6 шагов
Превратите обычную USB-флешку в защищенную USB-флешку: в этом руководстве мы узнаем, как превратить обычную USB-флешку в безопасную USB-флешку. Все со стандартными функциями Windows 10, ничего особенного и ничего лишнего. Что вам понадобится: флэш-накопитель USB или флешка. Я очень рекомендую getti
Легкое 5-минутное USB-зарядное устройство на солнечной батарее / USB-зарядное устройство для выживания: 6 шагов (с изображениями)
Легкое 5-минутное USB-зарядное устройство на солнечной батарее / USB-зарядное устройство для выживания: Привет, ребята! Сегодня я только что сделал (наверное) самое простое зарядное устройство для солнечных батарей usb! Во-первых, мне очень жаль, что я не загрузил некоторые инструкции для вас, ребята … Я сдал несколько экзаменов за последние несколько месяцев (на самом деле не несколько, может быть, неделю или около того ..). Но