Сделать контроллер Xbox 360 с помощью Arduino Uno

Я подумывал сделать собственный контроллер Xbox 360 (гоночный руль) с Arduino Uno, подключенным к Xbox. Как мне эмулировать кнопки/триггеры исходного контроллера с помощью Arduino? Есть ли библиотека, которая может мне помочь в этом?

, 👍0

Обсуждение

вы можете или не можете сделать это с вашим Uno.... это зависит от типа преобразователя USB в последовательный порт, который использует плата..... какой чип вы видите рядом с разъемом USB?, @jsotola

Я немного погуглил эту тему. Похоже, что по крайней мере большинство (если не все) эмуляций контроллера Xbox360/сборок своими руками нельзя использовать с самим Xbox360, а только с ПК. Причина в том, что контроллер Xbox оснащен дополнительным чипом безопасности, который выполняет некоторую форму рукопожатия, прежде чем консоль действительно примет контроллер. На некоторых сайтах говорилось, что некоторые китайские производители взломали этот чип, чтобы создать подделки, но я не смог найти намека на опубликованный взлом. Возможно, он существует, возможно, вам придется много гуглить. Если вы что-то найдете, то, скорее всего, это будет проект не для новичков., @chrisl

Если вы решите, что использовать его только с ПК можно, вам следует обратить внимание на платы Arduino с настраиваемым USB-соединением, чтобы Arduino мог вести себя как HID-устройство. Это также возможно с Uno, но не так хорошо и только при перепрошивке USB на последовательный контроллер., @chrisl

Спасибо, что указали мне в правильном направлении. Смогу ли я подражать этому с помощью чего-то более мощного, например Raspberry Pi? Я также поискал еще немного и нашел кое-что о PID и VID. Это то, что вы имели в виду под ключом безопасности, или это еще не все? PS вот руководство, о котором я говорил: [ссылка](https://hackaday.com/2015/07/14/using-a-teensylc-to-emulate-the-xbox-360-controller/). Также был этот репозиторий на ["falcon Panel"](https://github.com/candera/falconpanel), @Rohan Harish

PID и VID — это определения USB-соединения. Они используются для идентификации типа устройства, подключенного через USB. Кажется, что это можно изменить. Но, несмотря на это, оно все равно будет просто рекламировать себя как HID-устройство. Если вы погуглите эмуляцию контроллера Xbox360, вы найдете много людей, которые говорят о реальном дополнительном чипе на печатной плате контроллера, который выполняет какое-то секретное рукопожатие. Без настоящего взлома вы не сможете собрать ни один самодельный контроллер, работающий с Xbox360. Microsoft использует чип безопасности, чтобы активно препятствовать другим делать это., @chrisl

VID и PID — это просто числа, связанные с продавцом и продуктом. Они не определяют, *что* это такое, а только кто это и как это называется. То, что он *делает*, определяется дескриптором устройства — большим блоком данных, который определяет протоколы, типы конечных точек, размеры блоков и т. д., @Majenko

Проект с открытым исходным кодом [GIMX](https://gimx.fr) может помочь. Адаптер GIMX подключается к консоли и компьютеру под управлением Windows или Linux (Raspberry Pi имеет экспериментальную поддержку). Настоящий контроллер Xbox должен быть подключен к компьютеру, чтобы он мог выполнить аутентификацию Xbox. Готовые или специальные контроллеры, подключенные к тому же компьютеру, могут взаимодействовать с консолью Xbox., @gdsports

Ох... Это выглядит интересно. Это может сработать! Спасибо за предложение. Дам вам знать, если это сработает., @Rohan Harish


1 ответ


1

В Arduino Uno нет встроенного USB-соединения. Однако, если вы используете Arduino Leonardo или Pro Micro, вы можете использовать библиотеку джойстиков MHeironimus. Однако я не уверен, совместимы ли они с XBox.

https://github.com/MHeironimus/ArduinoJoystickLibrary

,