Оглавление:

Беспроводные кнопки джойстика / колесика ПК: 4 шага (с изображениями)
Беспроводные кнопки джойстика / колесика ПК: 4 шага (с изображениями)

Видео: Беспроводные кнопки джойстика / колесика ПК: 4 шага (с изображениями)

Видео: Беспроводные кнопки джойстика / колесика ПК: 4 шага (с изображениями)
Видео: Только не говори никому.. Как легко можно восстановить жидкокристаллический экран.. 2024, Июль
Anonim
Беспроводные кнопки джойстика / колесика ПК
Беспроводные кнопки джойстика / колесика ПК

Я создавал новый гоночный симулятор в течение последних нескольких лет и решил использовать руль DIY Direct Drive. Хотя этот проект сам по себе может быть несколькими инструкциями, это инструкция о том, как сделать все кнопки на колесе беспроводными.

Почему?

  • Колесо DD имеет неограниченное количество оборотов, так что провода, идущие к нему, будут раздражать.
  • Нет возможности прокладывать кабели через вал колеса, как в коммерческих колесах
  • Я хотел иметь возможность легко менять местами колеса с разными конфигурациями кнопок
  • Потому что мог:)

Чтобы достичь цели беспроводных кнопок, мы должны учитывать:

  • Доставка мощности
  • Беспроводное подключение
  • Время реакции / задержка
  • Надежность

Следующие компоненты были выбраны для соответствия этим критериям: Tx - Arduino Nano со встроенным модулем NRF24 здесь или используйте Generic Nano или Pro Mini + NRF24 ModuleRx - Arduino Pro Micro / Leonardo / Beetle (Atmega32u4) + модуль NRF24USB «Battery Bank» - любой общий аккумуляторный блок 18650 должен работать. Это продлится около 20 часов! Однако вы можете проверить, может ли он заряжаться и обеспечивать питание одновременно. Это удобно, если он разряжается, и вы хотите заряжать и использовать одновременно.

Кроме того, вам понадобятся кнопки и выключатель питания по вашему выбору, несколько проводов для подключения и, возможно, термоусадочная трубка.

Его также можно использовать в «кнопочном блоке», а не на колесе, но я полагал, что на него будет меньше спроса, поскольку не будет большого преимущества, если оно не будет двигаться.

Необходимые инструменты:

Паяльник и припой Для крепления деталей также пригодится термоклеевой пистолет. Arduino IDE установлена на вашем компьютере.

Шаг 1: Подключение передатчика

Электропроводка передатчика
Электропроводка передатчика
Электропроводка передатчика
Электропроводка передатчика
Электропроводка передатчика
Электропроводка передатчика

Начните с установки на колесе столько переключателей, сколько вам нужно, и примите во внимание расположение Arduino. Подключите все провода к переключателям согласно схеме. Каждая кнопка будет подключена одной стороной к GND, а другой - к соответствующему контакту Arduino. Код позволяет использовать 14 переключателей / кнопок, которых должно хватить для большинства колес.

Если вы используете Nano со встроенным модулем NRF, то, очевидно, вам не нужно добавлять для этого соответствующую проводку, просто подключите кнопки.

Кнопки расположены в следующем порядке (1-14): RX, TX, D2, D3, D4, D5, D6, D7, A0, A1, A2, A3, A4, A5.

Но почему только 14 кнопок? Причина этого в том, что мы можем быстро прочитать полный банк контактов, а передача только 2 байтов данных не займет много времени - так что, хотя это можно изменить, чтобы включить больше кнопок (через матрицу) и / или аналоговые входы, это немного замедлит работу. Чтение матрицы и аналоговое чтение / преобразование занимают процессорное время. Мне нужно было всего 12 кнопок на колесе, поэтому я выбрал это, но подумал бы о добавлении дополнительных.

Что касается мощности, у вас есть два варианта - вы можете оставить аккумуляторную батарею в исправном состоянии и просто закрепить ее как-нибудь на колесе. Это дает вам дополнительный бонус в виде возможности отключить питание от Arduino, избегая наличия встроенного переключателя и некоторой проводки.

Если вы предпочитаете более индивидуальное решение, может потребоваться взломать аккумуляторную батарею и перенастроить внутренние компоненты в вашу индивидуальную конфигурацию.

У меня не было места в колесе, чтобы оставить его в такт, поэтому его убрали. Я снял стандартный разъем USB с платы зарядки и припаял провода +5 и Gnd от контактных площадок порта USB к Arduino через переключатель. Детализировать это немного сложно из-за множества доступных опций …

Затем схема была установлена внутри колеса, обнажив разъем для зарядки микро-USB.

Плата для зарядки будет иметь один или несколько светодиодов для отображения состояния зарядки - удобно сделать их видимыми или использовать пластик, чтобы «перенести» их в видимое место, чтобы вы знали, когда зарядка завершится.

Что это за колесо? Для тех, кто интересуется, мой дизайн колес разработан Amstudio - некоторые отличные конструкции частей для гоночных симуляторов, изготовленные своими руками, доступны у них по разумным ценам.

Шаг 2: Ресивер

Ресивер
Ресивер
Ресивер
Ресивер
Ресивер
Ресивер

Просто следуйте прилагаемой схеме подключения. Если вы не используете Leonardo, вам понадобится внешний стабилизатор 3,3 В, такой как AMS1117. Регулятор Pro Micro не может обеспечить достаточный ток для модуля NRF24, а у жука его вообще нет.

Я обозначил соединения с модулем NRF одинаковым цветом для Pro Micro и Beetle.

Arduino «Beetle», который довольно легко найти в обычных местах, но, опять же, необходимо будет использовать стабилизатор 3,3 В, поскольку у него его вообще нет. Я протестировал это, и он тоже отлично работает. Подключения такие же

Шаг 3: Программирование устройств

Программирование устройств
Программирование устройств
Программирование устройств
Программирование устройств
Программирование устройств
Программирование устройств

Если у вас еще не установлена Arduino IDE, перейдите на https://www.arduino.cc и загрузите версию, подходящую для вашей операционной системы, в этом примере я использую Windows.

После настройки вам понадобятся две разные библиотеки. Первую легко выполнить через Sketch -> Включить библиотеку -> Управление библиотеками (или CTRL + SHIFT + I).

NRFLite от Дэйва Парсона (версия 2.2.2 на момент публикации)

Вторую нужно будет установить вручную с

Нажмите «Клонировать или загрузить», затем «Загрузить ZIP» и откройте загруженный файл. Затем вам нужно будет щелкнуть по папкам, пока вы не увидите папку «Джойстик» - скопируйте ее в папку библиотек Arduino (в Windows это обычно находится в разделе «Документы» -> «Arduino» -> «Библиотеки».

Перезагрузите Arduino IDE.

Если вы используете Pro Micro в качестве приемника, вам также необходимо добавить эту плату в IDE. Файл -> Настройки -> URL-адреса диспетчера дополнительных плат:

введите:

Затем перейдите в Инструменты -> Менеджер плат, найдите Sparkfun и установите Sparkfun AVR Boards.

Теперь мы готовы! Начнем с передатчика - подключите его к компьютеру

В разделе «Инструменты»> «Плата» выберите «Arduino Nano» (или любой другой вариант, который вы решили использовать). Также проверьте COM-порт в меню инструментов.

Откройте прикрепленный файл Wireless_Wheel_Tx.

Есть только одна строка, которую вы можете захотеть изменить в этом коде, а именно:

int nrfChannel = 22;

У вас есть до 126 каналов, которые вы можете использовать в диапазоне 2,4 ГГц. Можно оставить как есть, но если вы обнаружите, что у вас проблемы с надежностью, возможно, измените это число на другое.

Затем просто нажмите кнопку «Загрузить» и дождитесь завершения.

То же самое и с Leonardo / Pro Micro / Beetle - выберите нужную плату - для Leonardo и Beetle выберите плату Arduino leonardo. Для Pro Micro выберите это, а также вариант / процессор Atmega32u4 (5v, 16Mhz), откройте файл Wireless_Wheel_Rx, измените параметр nrfChannel (если вы изменили его на Tx) и запрограммируйте.

После перезагрузки устройства при программировании ваш компьютер должен обнаружить джойстик. Если вы также включите свой передатчик, вы сможете нажимать кнопки, и он отображается в статусе устройства!

Интересная случайная особенность заключается в том, что вы получите индикатор состояния на Leonardo и Pro Micro - индикатор USB TX загорится, когда он подключен к кнопкам. Однако у жука этого нет.

ОБНОВЛЕНО 13/2/2021

Я добавил 2 дополнительных файла (Tx и Rx) к инструкциям здесь для версии с 4 аналоговыми входами, а также матрицей кнопок 3X8. В основном непроверенный, возможна задержка. Пожалуйста, попробуйте и прокомментируйте.

Шаг 4: Улучшения

Улучшения
Улучшения

Индикатор питания После небольшого использования этого раствора у меня появилась привычка случайно оставлять колесо включенным. Чтобы противостоять этому, я добавил светодиод спереди, чтобы я мог видеть, что колесо включено. Это просто 3-миллиметровый светодиодный провод от 5 В на Arduino через резистор. Верх отшлифован, чтобы немного рассеять свет и предотвратить блики.

Измеритель уровня заряда батареи Я купил несколько измерителей уровня заряда батареи у BG или Ali, но когда они прибыли, они оказались намного больше, чем я ожидал, но это то, что я все же хочу добавить. Для этого доступно множество вариантов, но поскольку батарея работает очень долго, я обычно просто перезаряжаю ее через несколько часов использования.

Дополнительные кнопки / энкодеры / аналоговые входы Все еще думаю об этом. Для меня это не так важно для гонок, которыми я занимаюсь, но для таких вещей, как F1, это, вероятно, более полезно. Я рассмотрю две версии или добавлю их, если будет достаточно спроса, но это может повлиять на время отклика кнопок.

Рекомендуемые: