Модель консоли: Ps5, PS4 Slim,
Прошивка: HEN
Другие консоли: PS5, Xbox Series X, xbox360, PS4 Slim, sega, dendy
Регистрация: 30.04.2017
Адрес: Ставропольский край
Возраст: 39
Сообщений: 6,318
Вы сказали Спасибо: 2,195
Поблагодарили 12,088 раз(а) в 3,135 сообщениях
Сила репутации: 1Репутация: 18305 
(репутация неоспорима)
|
Xbox 360 RF беспроводный приемник контроллера для PC
Подключаем Xbox 360 RF к PC Вложение 17256Вложение 17257Вложение 17258Вложение 17259Вложение 17260
Xbox 360 RF + Arduino = беспроводный приемник контроллера для PC
В этой инструкции будут описаны шаги по подключению радиочастотного модуля от xbox 360 к вашему компьютеру, чтобы вы могли использовать беспроводной контроллер вместе с вашим компьютером.
Прошивка 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;
}
}
Скачать: Код Ардуино устарело: xbox_360_controller
Исправленный Код Ардуино (проверял на Arduino Pro Mini)
Теперь не нужно подтягивать резисторы, подтяжка выполнена программно (внутренняя подтяжка)
Убрано немного лишнего кода
- Если установлена Windows 10 советую использовать драйвер встроенный в 10ку
Диспетчер устройств => выбираем наше устройство => Обновить драйвер => Найти драйвер на этом компьютере => Выбрать драйвер из списка доступных драйверов на компьютере => Периферийные устройства Xbox 360 => Беспроводной приемник Xbox 360 для Windows
Установки драйверов XP W7
 Качаем драйвера: Xbox360_32Eng.rar Xbox360_64Eng.rar
После установки драйверов, зайдите в папку (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].
Меняем это
%XUSB21.DeviceName.Wired%=CC_Install, USBVid_045E&Pid_028E
%XUSB21.DeviceName%=CC_Install, USBVid_045E&Pid_0719
%XUSB21.DeviceName.Wired%=CC_Install, USBMS_COMP_XUSB10
%XUSB21.DeviceName%=CC_Install, USBMS_COMP_XUSB20
%XUSB21.DeviceName.Jump%=CC_Install, USBVid_045E&Pid_028F
На это
%XUSB21.DeviceName.Wired%=CC_Install, USBVid_045E&Pid_0291
%XUSB21.DeviceName%=CC_Install, USBVid_045E&Pid_0291
%XUSB21.DeviceName.Wired%=CC_Install, USBUNKNOWN
%XUSB21.DeviceName%=CC_Install, USBUNKNOWN
После этого перегружаемся в режиме отключенной подписи драйверов. В win 8 делается так.
shutdown.exe /r /o /f /t 00
Диагностика - Дополнительные параметры - Параметры загрузки - F7
Перазагружаемся, подключаем устройство, указываем путь к драйверу, файлу Xusb21.inf
Синхронизируемся кнопкой включения.
Но пойдём в обратном порядке:
Программатор:
Несколько раз собирал такие, был вариант и на монтажной плате (где просто втыкаешь детали и соединяешь проводками), потом спаял платку.
Что бы прошить микросхему нам потребуется прошивка
SyncRF360.zip ( 133,21 КБ )
И программа для прошивки (на win10 я пользовался этой)
winpicpgm_1.8.0.rar ( 1,1 МБ )
Теперь по схемам можно использовать оригинальную схему
И видео на тему установки драйверов на примере 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].
Меняем это
%XUSB21.DeviceName.Wired%=CC_Install, USBVid_045E&Pid_028E
%XUSB21.DeviceName%=CC_Install, USBVid_045E&Pid_0719
%XUSB21.DeviceName.Wired%=CC_Install, USBMS_COMP_XUSB10
%XUSB21.DeviceName%=CC_Install, USBMS_COMP_XUSB20
%XUSB21.DeviceName.Jump%=CC_Install, USBVid_045E&Pid_028F
На это
%XUSB21.DeviceName.Wired%=CC_Install, USBVid_045E&Pid_0291
%XUSB21.DeviceName%=CC_Install, USBVid_045E&Pid_0291
%XUSB21.DeviceName.Wired%=CC_Install, USBUNKNOWN
%XUSB21.DeviceName%=CC_Install, USBUNKNOWN
После этого перегружаемся в режиме отключенной подписи драйверов. В win 8 делается так.
shutdown.exe /r /o /f /t 00
Диагностика - Дополнительные параметры - Параметры загрузки - F7
Перазагружаемся, подключаем устройство, указываем путь к драйверу, файлу Xusb21.inf
Синхронизируемся кнопкой включения.
RF-01 Xbox 360 PC
XBox 360 HF Module + PIC16F628
Последний раз редактировалось ErikPshat; 06.12.2023 в 12:50.
|