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

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

В результате описанных ниже действий у вас может получиться (или не получиться) приблизительно такой игровой контроллер. Помните, что все действия вы выполняете на свой страх и риск. Спасибо за внимание!
В результате описанных ниже действий у вас может получиться (или не получиться) приблизительно такой игровой контроллер. Помните, что все действия вы выполняете на свой страх и риск. Спасибо за внимание!

Вступление

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

Контроллеры такого типа в англоязычном сообществе называют leverless controller, что переводится как «безрычажный контроллер». Свое название они получили из-за отсутствия привычного рычага (стика) для управления. На стандартных аркадных автоматах этот рычаг находится под левой рукой и используется для управления персонажем. Однако со временем кто-то решил, что для файтингов удобнее и эффективнее заменить рычаг четырьмя кнопками, каждая из которых соответствует определенному направлению. Так и появился безрычажный контроллер, сборке которого посвящена данная статья.

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

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

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

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

На AliExpress можно найти несколько вариантов микроконтроллеров нужного типа с различными характеристиками:

  • Тип подключения: доступны модели с разъемами micro USB и Type-C. Выбор зависит от того, какой кабель удобнее использовать или уже есть в наличии. 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 рублей. Они работают бесшумно, что делает их более комфортными для некоторых пользователей.

Для цветных кнопок можно заранее указать желаемое количество каждого цвета. Я рекомендую следующий вариант:

  • 4 белых кнопки для обозначения направлений;
  • 2 синие;
  • 2 желтые;
  • 2 красные.

Хочу заметить, что кнопки подешевле (черные) издают щелчок при нажатии, а те что подороже (цветные) нажимаются бесшумно.

Провода

Для подключения микроконтроллера к кнопкам понадобятся провода. Их можно заказать на AliExpress — я выбрал два лота, так как нужно не менее 40 штук. Стоимость составила 134 рубля.

Провода различаются по длине, что позволяет оптимально организовать подключение:

  • Короткие провода удобно использовать в качестве "минусового" соединения, последовательно соединяя кнопки между собой.
  • Длинные провода подойдут для подключения каждой кнопки к соответствующему терминалу микроконтроллера, согласно ее функции.

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

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

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

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

Подходящий корпус я нашел на сайте Thingiverse, немного модифицировал его под свои нужды с помощью программы FreeCAD и затем отправился искать 3D-печать. Если вы планируете заказать 3D-печать, могу порекомендовать обратиться в Творческую Мастерскую. Мне они напечатали корпус за один день из 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