Xbox 360 RF + Arduino = беспроводный приемник контроллера для PC
В этой инструкции будут описаны шаги по подключению радиочастотного модуля от xbox 360 к вашему компьютеру, чтобы вы могли использовать беспроводной контроллер вместе с вашим компьютером.
Список деталей:
Arduino - удивительный плата микроконтроллера.
Модуль RF - со сломанной Xbox 360
USB-кабель
Диоды 1N4001-2шт (Диод может быть 1N4001, 1N914 или 1N4148. В основном каждый диод имеет падение 0,7V на нем, так что два последовательных диода дают 5 – 0.7 – 0.7 = 3,6V, что близко к требуемому 3V3. Точно так же стабилитрон-это грязный способ добраться от 5V до 3V3.
Самый лучший и безопасный способ-это использовать регулятор напряжения 3V3, чтобы сделать преобразование 5V в 3V3)
Резистор:
Arduini uno 10КоМ - 2шт
Arduino mini pro,nano нужно будет подтянуть с 3,3v резисторы на 100 Ом
Регулятор 3V3 также можно получить из мертвого XBox:
Схема подключения:
Прошивка Ardyino:
Вам нужно будет запрограммировать свой Arduino с помощью этого кода.
код Ардуино устарело
/* Arduino code to communicate with xbox 360 RF module.
Original work by (yaywoop) / additional ideas from Alexander Martinez - modified by dilandou (www.dilandou.com, www.diru.org/wordpress)
First sends LED initialisation code followed by LED startup animation code, then sleeps until a button press for sync command.
RF module must be powered with 3.3V, two diodes in series with USB 5v will do. Connect the USB wires to a host computer, and the data and serial wires to Arduino.
of course, make sure to have a common ground */
#include <avr/sleep.h>
#define sync_pin 2 //power button repurposed for sync button (pin 5 on the module)
#define data_pin 3 //data line (pin 6 on the module)
#define clock_pin 4 //clock line (pin 7 on module)
int led_cmd[10] = {0,0,1,0,0,0,0,1,0,0}; //Activates/initialises the LEDs, leaving the center LED lit.
int anim_cmd[10] = {0,0,1,0,0,0,0,1,0,1}; //Makes the startup animation on the ring of light.
int sync_cmd[10] = {0,0,0,0,0,0,0,1,0,0}; //Initiates the sync process.
volatile boolean sync_enable = 0;
void sendData(int cmd_do[]) {
pinMode(data_pin, OUTPUT);
digitalWrite(data_pin, LOW); //start sending data.
int prev = 1;
for(int i = 0; i < 10; i++){
while (prev == digitalRead(clock_pin)){} //detects change in clock
prev = digitalRead(clock_pin);
// should be after downward edge of clock, so send bit of data now
digitalWrite(data_pin, cmd_do[i]);
while (prev == digitalRead(clock_pin)){} //detects upward edge of clock
prev = digitalRead(clock_pin);
}
digitalWrite(data_pin, HIGH);
pinMode(data_pin, INPUT);
}
void initLEDs(){
sendData(led_cmd);
delay(50);
sendData(anim_cmd);
delay(50);
}
void wakeUp(){
sync_enable = 1;
}
void sleepNow() {
set_sleep_mode(SLEEP_MODE_PWR_DOWN); // set sleep mode
sleep_enable(); //enable sleep bit
attachInterrupt(0, wakeUp, LOW);
sleep_mode();
sleep_disable(); //disable sleep bit
detachInterrupt(0); // disables interrupt 0 on pin 2
}
void setup() {
Serial.begin(9600);
pinMode(sync_pin, INPUT);
digitalWrite(sync_pin,HIGH);
pinMode(data_pin, INPUT);
pinMode(clock_pin, INPUT);
delay(2000);
initLEDs();
// sendData(sync_cmd);
}
void loop(){
Serial.println("Sleeping.");
sleepNow();
delay(200);
if(sync_enable==1) {
Serial.println("Syncing.");
sendData(sync_cmd);
sync_enable = 0;
}
}
Исправленный Код Ардуино (проверял на Arduino Pro Mini)
Теперь не нужно подтягивать резисторы, подтяжка выполнена программно (внутренняя подтяжка)
Убрано немного лишнего кода
Если установлена Windows 10 советую использовать драйвер встроенный в 10ку
Диспетчер устройств => выбираем наше устройство => Обновить драйвер => Найти драйвер на этом компьютере => Выбрать драйвер из списка доступных драйверов на компьютере => Периферийные устройства Xbox 360 => Беспроводной приемник Xbox 360 для Windows
Перазагружаемся, подключаем устройство, указываем путь к драйверу, файлу Xusb21.inf
Синхронизируемся кнопкой включения.
Видео:
Arduino Uno
Xbox 360 Rf + Arduino mini pro 5v
Xbox 360 Rf + Arduino Nano
Список деталей:
Плата из фатки RF-01 (до модулей из слимок руки не дошли, а с фатками уже сделал несколько штук себе, друзьям и родственникам)
USB шнурок или прочие варианты (под прочими вариантами, для двух ресиверов я просто взял старые ADSL модемы, у которых есть USB вход, использовал их как корпус, и как разъём, и как кнопку)
Диод для понижения напряжения c 5v до 3,3v(например 1n4006) или стабилизатор напряжения с 5в на 3.3 вольта
Микроконтроллер pic12f629
Простейший программатор, который собирается на коленках. (можно любой другой)
Но пойдём в обратном порядке:
Программатор:
Схема программатора для COM порта
Несколько раз собирал такие, был вариант и на монтажной плате (где просто втыкаешь детали и соединяешь проводками), потом спаял платку.
Программатор, пример платы
Что бы прошить микросхему нам потребуется прошивка SyncRF360.zip ( 133,21 КБ )
И программа для прошивки (на win10 я пользовался этой) winpicpgm_1.8.0.rar ( 1,1 МБ )
Теперь по схемам можно использовать оригинальную схему
Схема
Альтернативные точки
Для подручности мануала добавлю ещё эту фотку с распиновкой USB
Вот исходный код для PIC16F629.
;**********************************************************************
; This file is a basic code template for assembly code generation *
; on the PIC12F629. This file contains the basic code *
; building blocks to build upon. *
; *
; Refer to the MPASM User’s Guide for additional information on *
; features of the assembler (Document DS33014). *
; *
; Refer to the respective PIC data sheet for additional *
; information on the instruction set. *
; *
;**********************************************************************
; *
; Filename: xxx.asm *
; Date: *
; File Version: *
; *
; Author: *
; Company: *
; *
; *
;**********************************************************************
; *
; Files Required: P12F629.INC *
; *
;**********************************************************************
; *
; Notes: *
; *
;**********************************************************************
list p=12f629 ; list directive to define processor
#include ; processor specific variable definitions
errorlevel -302 ; suppress message 302 from list file
__CONFIG 0x3FD4
; ‘__CONFIG’ directive is used to embed configuration word within .asm file.
; The lables following the directive are located in the respective .inc file.
; See data sheet for additional information on configuration word settings.
И видео на тему установки драйверов на примере win10 (при перетыкании в другой USB разъём действие нужно повторять) bandicam 2020-12-15 20-59-42-394.mp4 ( 11,77 МБ )
После установки драйверов, зайдите в папку (Microsoft Xbox 360 Acessories) найти по пути
C:\Program Files\Microsoft Xbox 360 Accessories
Xusb21.inf файл драйвер, файл нужно будет изменить. Открыть его с помощью текстового редактора или программы, как Notepad++ (рекомендуемый)
И в данных секциях [MSFT.NTx86.6.0], [MSFT.NTamd64.6.0], [MSFT.NTx86], [MSFT.NTamd64].
Для сопряжения RF модуля и геймпада достаточно кабеля.
Такой себе лайфхак. Владельцы беспроводного геймпада и х360, думаю и так прекрасно знают, что он работает без батареек от этого кабеля) Да и тема такая себе... Сколько там - рублей 500 стоит с али адаптер. Опять же это всё сейчас для избранных) Так как современные геймпады от современного ящика работают по блюпупу. Не говоря уже про всякие 8bitdo. Кабель у меня, к слову есть. Как и беспроводной геймпад. Аккумуляторы, правда, давно сдохли, что от кабеля в комплекте, что отдельный, так как металгидрид. Поймал себя на мысли, что проще купить пачку батареек за 250 рублей - 24 штуки. Хватит на пол жизни. Так как в отличие от аккумуляторов - сами не разряжаются. А одного комплекта батареек хватает достаточно надолго. Это не дуалшоки, которые надо чуть ли не каждый день заряжать. Геймпад от х сирис купил до нового года. До сих пор с пк работает на стоковых батарейках. Правда играю я мало.
Другие консоли: PS1, PS2, PS3, PSVITA, XBOX360, XBOX ONE
Регистрация: 07.03.2015
Возраст: 34
Сообщений: 423
Вы сказали Спасибо: 3
Поблагодарили 58 раз(а) в 44 сообщениях
Сила репутации: 1
Репутация: 58 
(скоро придёт к известности)
а мне вот интересно эти китиайские rf адаптеры правильно ли передают информацию с геймпада на пк или все таки тупят как вся китайская переферия касательно геймпадов Ang3l42, да я тож заметил что для 360 лучше подходят батарейки чем аккумы, уже недели три как не поменял батарейки (правда обычно вырубаю вибро). кстати касательно геймпадов хуан у меня есть только одна.. скорее всего первых ревизии. заряд держит отвратно что с аккумов что с батареек, макс держит где то 4 часа. батарейки разряжаются в нем сами по себе
а мне вот интересно эти китиайские rf адаптеры правильно ли передают информацию с геймпада на пк или все таки тупят как вся китайская переферия касательно геймпадов
А черт его знает, я геймпад сто лет назад покупал с адаптером в комплекте. А потом и кабель для зарядки с аккумулятором в комплекте. Аккумы сдохли давно эти фирменные, а геймпад живой. Стики даже замены не требуют)
Сообщение от karenjan99
кстати касательно геймпадов хуан у меня есть только одна.. скорее всего первых ревизии. заряд держит отвратно что с аккумов что с батареек, макс держит где то 4 часа. батарейки разряжаются в нем сами по себе
У меня долго держит. Правда, хуановский геймпад я сам давно угробил. Вот недавно от сирис х купил. Он батарейки вообще похоже не жрет. Единственное что стучит кнопками как швейная машинка) Единственный его недостаток - достаточно громкие кнопки. А так - по очучениям - лучший геймпад, который я держал в руках.
Сообщение от karenjan99
скорее всего первых ревизии. заряд держит отвратно что с аккумов что с батареек, макс держит где то 4 часа. батарейки разряжаются в нем сами по себе
Хуановский у меня был тоже виндовс эдишн. Первых ревизий без блюпупа. С адаптером для пк в комплекте. Работал очень долго. На аккумуляторах гпншных. на 2700. Тупо поиграть - в форзу бывало чуть ли не сутки подряд играл. Не разряжался.
А сейчас, думаю, нафиг эти аккумулятры. Разряжаются сами. Купил на вайлдберисе батареек. Думаю на пару лет хватит. А по цене как полтора аккумулятора. На аккумуляторах двое суток примерно жил геймпад. Так как в форзу 5 я играть любил.
Последний раз редактировалось Ang3l42; 05.02.2024 в 00:00.
Другие консоли: PS1, PS2, PS3, PSVITA, XBOX360, XBOX ONE
Регистрация: 07.03.2015
Возраст: 34
Сообщений: 423
Вы сказали Спасибо: 3
Поблагодарили 58 раз(а) в 44 сообщениях
Сила репутации: 1
Репутация: 58 
(скоро придёт к известности)
тогда походу что то замыкает на плате у меня, хотя гугл такие проблемы не приводит, походу придется покупать еще один)))
кстати я заметил что в винде поломали что то и он четко отличает пад от 360 от хуана. убрали иконку пада от 360, некоторые игры начали не принимать его а раньше было по барабану, лишь бы геймпад был с xinput. и довольно таки долго винда настраивает геймпады, бывает и что настройку завершает только со второго подключения
кстати я заметил что в винде поломали что то и он четко отличает пад от 360 от хуана
Не поломали. Тебе прямым словом говорят что геймпад твой говно. Даже кнопки не соответствуют
Сообщение от karenjan99
и довольно таки долго винда настраивает геймпады, бывает и что настройку завершает только со второго подключения
С х сирис не замечал. Просто по блюпупу подключил и он моментально настроился. Ну я давно на 11.
Я для пк давно не юзал геймпад от х360. Сейчас даже адаптера нет, так как в другой квартире на другом конце города лежит. Мотаться за ним не хочется. А хуановский угробил феном. Один стик отлично заменил. А второй - там дорожки по трынде пошли. Ну я не мастер, в отличие от вас) Всё на своём опыте)
Владельцы беспроводного геймпада и х360, думаю и так прекрасно знают, что он работает без батареек от этого кабеля
Неа, просто так не работает. Ну, в смысле, как обычный проводной он не станет, этот кабель чисто для зарядки фирменных аккумов и для сопряжения, ну и для тупо питания тоже годится.
Это я к тому, что при использовании передней платы от 360 коробокса на ПК как ресивера (само собой с припаянным USB хвостиком с понижайкой и правильными дровами) не обязательно паять ещё какую то логику. Подключил эту RF плату к ПК, подключил геймпад таким кабелем к ПК и они "подружились". Всё, далее кабель уже не нужен, ардуинка тоже.
Сообщение от Ang3l42
Сколько там - рублей 500 стоит с али адаптер. Опять же это всё сейчас для избранных
Если трупик 360 валяется, то надо как то останки с пользой использовать
Сообщение от Ang3l42
нафиг эти аккумулятры. Разряжаются сами.
Так это металгидриды, ну их нафиг с их саморазрядом. Я везде уже где по 2 штуки требуется использую пару: белая Li-ion 14500 PALO 1шт + пустышка с диодом внутри 1шт
Сообщение от Ang3l42
купить пачку батареек за 250 рублей - 24 штуки
Главное, не забывать их внутри, а то вытекут. Хотя и щелочные тоже бывает текут. Фикспрайсовские чёрные по 4 штуки вроде норм в этом плане.
Последний раз редактировалось Necrocannibal; 05.02.2024 в 11:10.
Это же китайская фирма, а они хитрые, экономят на литии как только можно
Почему бы не пользоваться российскими, наши же тоже добывают литий и выпускают батарейки. Например, есть фирма ПАО "Энергия". Они кругом продают, на Яндекс Маркете, на Мегамаркете, на Озоне и кругом.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Неа, просто так не работает. Ну, в смысле, как обычный проводной он не станет, этот кабель чисто для зарядки фирменных аккумов и для сопряжения, ну и для тупо питания тоже годится.
Возможно так и есть. Просто помню, что с этим кабелем геймпад на х360 работает без батареек.
ErikPshat, 18650 вижу, много, вроде и ценники адекватные. 14500 не нашёл. По поводу PALO, брал чисто после обзоров с муськи, неплохо себя показали по сравнению с моими предыдущими ноунеймами. Хотя, от подделок никто не застрахован, что там могут подсунуть. Мои норм, брал лот 4 штуки на али. Единственное не нравится - отсутствие выпуклого носика на плюсовом контакте, где то это критично и приходится что нибудь выдумывать. Может предназначены именно под точечную сварку, поэтому и конструкция такая.
Сообщение от Ang3l42
с этим кабелем геймпад на х360 работает без батареек
да, берёт питание, но работает всё равно по воздуху. Хотя, майки в него дата линии заложили, раз по нему сопряжение происходит. Вот тут они проявили свою хитрозадость- хочешь на ПК, покупай доп ресивер.
Сообщение от karenjan99
ну так я тоже феном угробил когда то геймпады. стики лучше снять оплеткой)
Такая же фигня, только не плату угробил, а сама механика поплыла. Теперь снимаю сначала потенциометры, если требуется, потом механизм паяльником и оловоотсосом. Т.е. по отдельности. Можно сплавом Вуда или Розе разбавить для надёжности. Только потом убрать его тем же оловоотсосом. Подольше, но проще.
Подскажите, любой RF-модуль подойдет (у меня консоль jasper, fat, в продаже нашел разные модули от фаток, RF01, RF02)? Или искать какую-то определенную (лучшую) ревизию?
Два и более геймпада можно будет подключить на один модуль или 1 модуль = 1 геймпад?
Последний раз редактировалось js0ul; 19.08.2024 в 17:05.
А это нормально, что винда каждый раз после отключения геймпадов или адаптера, заново устанавливает дрова (если перевоткнуть модуль)?
И то, что периодически на геймпадах мигают лампочки парами?
Собрал на скорую руку с помощью ардуинки нано, через понижающий DC-DC преобразователь, без резисторов очень часто было неопознанное устройство, от разных портов еще и нестабильные 3.3в (то лампочки не загорятся, которые при включении на плате, и ничего не работает, то отвалы), с резисторами получше (код второй версии, который типа не требует резисторов), скоро приедет другой (фиксированный) dc-dc попробую с ним.