Очумелые ручки. Как собрать игровой контроллер

В этой статье я поделюсь с вами тем, как собрать игровой контроллер, а также дам ссылки на комплектующие и инструкцию по сборке.

<i>В результате описанных ниже действий у вас может получиться, а может и нет, приблизительно такой контроллер. В любом случае, вы действуете на свой страх и риск. Спасибо за внимание!</i>
В результате описанных ниже действий у вас может получиться, а может и нет, приблизительно такой контроллер. В любом случае, вы действуете на свой страх и риск. Спасибо за внимание!

Вступление

Я несколько лет играл в файтинги на dualshock 4, но как-то раз, посмотрев очередное видео, узнал, что многие кибератлеты играют исключительно на доске с кнопками вместо джойстика, мне захотелось заиметь такую, но поскольку цены на фирменные устройства неадекватные, гораздо дешевле собрать самому, благо это не сложно и даже интересно.

Такой контроллер в англоязычном интернете называют — leverless controller, что означает безрычажный контроллер. Безрычажный он потому, что обычно у такого типа контроллеров есть рычаг (стик) под левую руку, для управления объектом в пространстве, именно такой тип контроллера установлен на большинстве аркадных автоматов. Прошло время, и кто-то решил, что для игры в файтинги будет более эффективно, если заменить рычаг на четыре кнопки, которые соответствуют направлениям — так и появился безрычажный контроллер, сборке которого посвящена эта статья.

В статье будут указаны расценки на все комплектующие, естественно, они были актуальны лишь на момент покупки.

Для работы нам понадобятся:

Микроконтроллер

Микроконтроллер Rasberry Pi Pico 2040 будет обрабатывать входные данные и преобразовать их в команды, которые понимает компьютер или игровая консоль, его необходимо прошить, чтобы использовать как игровой контроллер. Более подробно о процессе прошивки и как работать с веб-интерфейсом для настройки контроллера будет написано ниже.

На aliexpress есть несколько микроконтроллеров необходимого типа в различном исполнении: с подключением по micro usb, по type-c; с разными объемами памяти; припаянными контактами и нет. Выберите, что вам по душе. Микроконтроллер стоил 188 рублей.

USB-кабель

<i>USB-кабель type-c — type-c</i>
USB-кабель type-c — type-c

Поскольку я выбрал микроконтроллер с соединением по type-c, то и провод заказываю с таким же разъемом, который одним концом будет подключаться к микроконтроллеру, а другим закрепляться винтами к корпусу, откуда дальше подсоединяться к компьютеру. За такой провод, я заплатил 206 рублей.

Кнопки

На контроллере будут 18 кнопок одного размера 24 мм. Я заказал два варианта: 10 кнопок черного цвета стоимостью 390 рублей; 10 цветных кнопок у другого продавца на сумму 479 рублей. Хочу заметить, что кнопки подешевле (черные) издают щелчок при нажатии, а те что подороже (цветные) нажимаются бесшумно.

Провода

Для того, чтобы соединить микроконтроллер с кнопками понадобятся провода, их тоже можно заказать на али (лот 1, лот 2). Необходимо не менее 40 штук, два лота достаточно, они различаются по длине, короткие можно использовать в роли «минусового» провода, последовательно соединив кнопки между собой, а длинными каждая кнопка по отдельности подсоединиться к терминалу, который соответствует ее назначению. Провода стоили 134 рубля.

Клеммы и их изоляция

Клеммы необходимы, чтобы соединить кнопки с проводами, они обжимают контакты на кнопке одной стороной, а с другой к ней подсоединяются провода. Необходимо заказывать клеммы с внутренним размером 2,8 мм. Цена клемм 96 рублей.

Стоит заранее позаботиться и об изоляции клемм, чтобы избежать возможного замыкания, для этой целей хорошо подойдут термоусадочные трубки, которые тоже можно заказать на али или либом другом маркетплейсе. Цена на термоусодочные трубки составляет в районе 100 рублей, вместо трубок можно использовать изоленту (только синюю)...

Корпус контроллера

Подходящий корпус я нашел на сайте thingiverse, немного модифицировал под себя, при помощи программы FreeCAD и пошел искать на авито того, кто сможет распечатать. Если вы планируете обратиться за 3Д печатью, то я порекомендую обратиться к Анне, мне напечатали корпус за один день из PTEG пластика, стоило это 1100 рублей.

Итого цена комплектующих и корпуса вышла 2593 рубля.

Инструкция по сборке:

<i>Официальное руководство по установке прошивки</i>
Официальное руководство по установке прошивки

Прошивка микроконтроллера

Теперь у нас есть все комплектующие для контроллера, но прежде чем его собрать нужно прошить микроконтроллер Rasbery Pi Pico 2040. Вы можете самостоятельно изучить инструкцию по установке и взаимодействию с веб-интерфейсом прошивки, перейдя по этой ссылке, также можете следовать следующим пунктам:

  • скачать прошивку соответствующею вашему микроконтроллеру по этой ссылке
  • подключить микроконтроллер в режиме флеш-карты, для этого зажмите кнопку boot на плате и одновременно подключите ее к компьютеру, после чего должно появиться новое запоминающее устройство RPI-RP2
  • перекиньте скачанный файл прошивки. uf2 из пункта 1 на новое устройство
  • дождитесь когда устройство само отключится.

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

Подсоединяем кнопки к микроконтроллеру

Для того чтобы успешно подсоединить кнопки к микроконтроллеру, следует учесть, что каждая из них имеет по два контакта: один «плюс» — подключается к терминалу на плате, который соответствует назначению кнопки (об этом ниже); второй «минус» — последовательно соединяется с контактом соседней кнопки, в результате чего получается цепочка, которая берет свое начало от терминала обозначенного буквами GND, на плате их несколько, выберите любой. Более наглядно процесс сборки изображен в этих видео (видео№ 1, видео№ 2).

Чтобы понять к какому терминалу на микроконтроллере подсоединить ту или иную кнопку, необходимо будет обратиться к схеме распиновки микроконтроллера (скриншот ниже) . Рекомендую ознакомиться с оригинальной документацией на этой странице.

<i>Схема назначения контактов </i>
Схема назначения контактов 
<i>Таблица соотношения контактов на микроконтроллере и кнопок на геймпадах</i>
Таблица соотношения контактов на микроконтроллере и кнопок на геймпадах

В таблице перечислены названия кнопок на разных устройствах. Столбик GP2040 — CE включает в себя наименования, которые соответствуют маркировке контактов на схеме микроконтроллера, изображена выше. При подсоединении кнопок я ориентировался на раскладку dualshock 4 — в таблице это столбик PS4.

  • Контакты UP, DOWN, RIGHT, LEFT — соответствуют кнопкам направления на геймпаде: вверх, вниз, вправо, влево
  • B1, B2, B3, B2 — cross (крестик), circle (круг), Square (квадрат), Triangle (треугольник)
  • L1, L2, L3, R1, R2, R3 — соответствуют кнопкам на dualshock 4
  • S1, S2 — Share, Options
  • A1, A2 — PS, тачпад.

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

Web-конфигуратор

Прошивка микроконтроллера позволяет взаимодействовать с настройками, переназначать кнопки, назначать горячие кнопки, управлять подсветкой кнопок, менять режим ввода: xinput, dinput, Switch, PS4, HID-Keyboard. Ознакомиться с документацией web-конфигуратора можно перейдя по этой ссылке.

Чтобы зайти в конфигуратор необходимо зажать кнопку, которая соответствует терминалу S2, в случае с раскладкой PS4 это кнопка Options, и подключить контроллер к компьютеру, а затем перейти в браузере по этой ссылке http://192.168.7.1 Без зажатия кнопки S2 при подключении, конфигуратор не откроется в браузере, имейте это ввиду.

Итог

Вот уже несколько дней я играю на контроллере, который собрал. Есть что-то в процессе игры на таком контроллере, что сложно передать. Само собой, впечатления исключительно положительные, бывают сложности с вводом приемов, но это временно, благо в Street Fighter 6 завезли современный режим управления, при котором относительно сложные комбинации выполняются нажатием двух кнопок.

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

Бонус

Возникла идея дополнить статью бонусным материалом о создании беспроводного варианта контроллера, пока это лишь только черновик и в будущем он будет дополнен, т.к. на данный момент прошивка GP2040 — CE не позволяет работать по соединению bluetooth, в ней просто нет такой функции.

Сейчас можно решить вопрос реализации подключения микроконтроллера к внешнему источнику питания для беспроводной работы. Сперва понадобится версия микроконтроллера с возможностью подключения по bluetooth под названием Rassbery Pi Pico W, его цена на али составляет в три - четыре раза выше стандартного варианта, но в отличии от него он имеет возможность подключаться по bluetooth и к wifi. Для беспроводной работы микроконтроллера потребуется внешний источник питания, в этой роли могут быть использованы литий-ионные батареи или литий-полимерные аккумуляторы. Важно, чтобы источник питания работал в диапазоне напряжения от ~1,8v до 5,5v.

Внешний источник питания необходимо иметь возможность заряжать в случае его разрядки, для чего дополнительно понадобится микросхема под названием TP4056 Module, которая позволяет безопасно заряжать литий-ионные/ литий-полимерные элементы, ее тоже можно найти на али. Модуль TP4056 имеет на борту два светодиода, отвечающих за индикацию процесса заряда, а также micro usb вход, при помощи которого будет заряжаться элемент питания.

Провода B+ и B- подключаются от платы TP4056 к положительному и отрицательному концам литий-ионного элемента соответственно. Терминал OUT + подключается VSYS вывод RPi Pico через диод Шоттки (1N58xx, 1N5817). Вывод OUT- можно подключить к любому из выводов GND в Pico. Третий контакт с любого угла RPi Pico — это контакт GND, т.е. "земля" или "минус".

Схема подключения внешнего источника питания через модуль TP4056 к Rasberry Pico Pi W.
Схема подключения внешнего источника питания через модуль TP4056 к Rasberry Pico Pi W.

Обратите внимание, что для первоначального включения вам может потребоваться подключить USB-кабель к плате TP4056. При отключении питания USB плата будет использовать перезаряжаемую батарею для обеспечения выходной мощности. Для удобства можно также включить переключатель в схему.

За более подробной информацией по подключению внешнего источника питания к микроконтроллеру рекомендую обратиться сюда. Повторюсь, что этот раздел выступает в роли черновика, т.к. на данный момент прошивка GP2040 — CE не позволяет работать по bluetooth.

Галерея

Ссылки на комплектующие:

P. S.

Спасибо за внимание, буду рад вашим комментариям и лайкам. Не забывайте подписаться. Особая благодарность тем, кто готов поддержать выход новых статей чеканной монетой.

150150
99 комментариев

Сделал всё по гайду, работает хорошо, проблем никаких нет. На Xbox Series не заработал, нужно покупать специальный адаптер за 3к на алике. Сейчас делаю ещё один, но из дерева с 12 кнопками. Так даже дешевле будет, деревянный корпус и фанеру 4 мм купил в магазине для хобби за 450р, печать корпуса обошлась в 1500. Сделать отверстия не проблема, тем-более делаете под свои руки. А так, спасибо за гайд!

1
Ответить
3000 ₽

Ну ты и заморочился…

10
Ответить

Комментарий недоступен

4
Ответить

Пока не думал над этим. Может в будущем, процесс сам по себе интересный.

4
Ответить