PSPx форум

PSPx форум (https://www.pspx.ru/forum/index.php)
-   Различные инструкции [FAQ] (https://www.pspx.ru/forum/forumdisplay.php?f=130)
-   -   Xbox 360 RF + Arduino = беспроводный приемник контроллера для PC (https://www.pspx.ru/forum/showthread.php?t=111171)

28deys 17.01.2025 21:32

Цитата:

Сообщение от Semechka_66 (Сообщение 1292875)
Хочу поддержать Necrocannibal, достаточно RF-модуля, USB-кабеля, понижающего регулятора с 5V до 3.3V и кабеля Play and Charge (желательно оригинального). Подключал любопытства ради четыре ориг. геймпада к ПК с Windows 7. После установки дров для ресивера подключил первый джой кабелем, также установил дрова для него (все дрова изначально уже имеются на борту Windows 7), отключил кабель и джой выключился. Снова его включил, нажал на нём кнопку сопряжения и он подключился к ПК. А потом, когда появились ещё три геймпада, воткнул RF-модуль, включил первый джой, нажал кнопку синхронизации, он подцепился, а остальные три после включения сразу цеплялись к ресиверу без нажатия кнопки синхронизации, высвечивая свои порядковые номера, и все четыре нормально работали. Отсюда вопрос: зачем нужна Arduino, чтоб диоды на модуле светились?

Оригинально:D разве что так трудно Arduino установить она копейки стоит и не у всех есть Play and Charge , нажал сделал синхронизацию и все) не танцевать вечно с Play and Charge проводом :acute:.

28deys добавил 17.01.2025 в 21:32
Кстати у кого есть модель для печати корпуса на принтере под RF?

Semechka_66 18.01.2025 18:00

Цитата:

Сообщение от Narkolai (Сообщение 1292877)
Тут дело в том что не у всех есть кабель Play and Charge, у меня геймпады на обычных батарейках (акб пальчиковые), кабеля нет (синхронизировать нечем), взял RF модуль с 360 и контроллер на STM (или Ардуино в тех же примерах) он и позволяет использовать кнопку включения консоли как кнопку сопряжения джойстика с ПК.

Цитата:

Сообщение от 28deys (Сообщение 1293310)
Оригинально:D разве что так трудно Arduino установить она копейки стоит и не у всех есть Play and Charge , нажал сделал синхронизацию и все) не танцевать вечно с Play and Charge проводом :acute:.

28deys добавил 17.01.2025 в 21:32
Кстати у кого есть модель для печати корпуса на принтере под RF?

Сегодня добрался до другого компа с windows 7 (x64, до этого подключал к x32), к которому ещё не пытался ничего подключать (в смысле - геймпады от бокса). Для начала скачал дрова с сайта archive.org для xbox 360 wireless controller for windows, установил (сейчас полагаю, что этого можно было и не делать, но хочу описать все шаги). Затем подключил RF-модуль (без ардуины и т.п.), Винда попыталась установить дрова - безрезультатно (что было ожидаемо). В окне "устройства и принтеры" выбрал появившийся неопознанный объект, открыл "свойства", "обновить драйвера", "установить вручную с этого компьютера", и так далее. Из 4-х предлагаемых драйверов поочерёдно установил 3 (все, кроме того, что имел надпись по-русски "контроллер"). Дрова встали и устройство определилось как wireless receiver. После этого нажал кнопку Guide на контроллере, и после его включения кнопку синхронизации (на нём же - соответственно). Геймпад подцепился к модулю (загорелся первый сектор), и винда попыталась установить на него дрова - не смогла. Проигнорировав это, зашёл на сайт gamepad tester, проверил - всё работает. Потом установил и запустил игру Mark of the ninja - и снова, геймпад работает как и должен, То есть, как показал этот эксперимент, достаточно лишь RF-модуля (без Arduino и кабеля Play and charge).

28deys 18.01.2025 18:17

Это понятно что работает. Но есть один минус, допустим на вин 10 или 11 если прилетело обновление то потом он слетает и опять драйвер ставить ну или если подключил rf в другое usb

dimon8x 08.02.2025 18:01

Пробовал модуль от слимки. Работает только старый вариант из шапки на адруино нано и только с резисторами.
С обновленным кодом для ардуино не работает кнопка синхронизации. Проходит только анимация включения. И работает только с резисторами.
Кто-нибудь подскажет как сделать, чтобы индикация была на модуле при подключении геймпада?
Нашел в интернете коды активации светодиодов. Но нужно как-то считать с платы номер активного подключения.

Схема для слимки

Код:

Вид на контакты со стороны кнопок

  (1)  (2)  (3)  (4)  (5)  (6)

(7)  (8)  (9)  (10) (11) (12) (13)

2 - data
3 - clock
5 - usb- (white)
6 - usb+ (green)
12 - +3.3V
13 - sync btn


Коды светодиодов

Код:

//Зеленые светодиоды круга

0010100001 = левый верхний / 1й
0010100010 = правый верхний / 2й
0010100100 = левый нижний / 3й
0010101000 = правый нижний 4й

0010101111 = все 4
0010100111 = два левых и правый верхний / 1й 2й 3й
0010101011 = два правых и правый нижний / 1й 2й 4й
0010101101 = два левых и правый нижний / 1й 3й 4й
0010101110 = два правых и левый нижний / 2й 3й 4й
0010100011 = два верхних / 1й 2й
0010100101 = два левых / 1й 3й
0010101001 = левый верхний и правый нижний / 1й и 4й
0010100110 = правый верхний и левый нижний / 2й и 3й
0010101010 = два правых / 2й 4й
0010101100 = два нижних / 3й 4й


karenjan99 25.04.2025 21:03

странно. у меня заработал без редактирования inf, просто в диспетчере указал ресивер xbox 360, правда майки почему то иконку контроллера убрали в новых дровах. навсяки поставил драйвер из шапки и указал в драйверах wireless receiver. с обоими драйверами заработал без проблем

st11kkkkk 17.11.2025 17:04

Всем привет, захотел сделать ресивер для пк из rf модуля x360, arduino uno. Все подключил, пк определил, драйвер поставил, но индикации никакой нет.

krong60 24.12.2025 22:14

Всем привет! Вот что у меня получилось:
1. Взял RF модуль от Xbox 360 Slim. Распиновка ниже.

2. Питание от USB на 12 пин через линейный стабилизатор на 3.3В (AMS1117-3.3)

3. Подключил к ПК, появилось Неизвестное устройство. Установил драйвер, встроенный в windows 10/11 по инструкции из шапки.
4. Теперь надо синхронизировать джойстик с модулем. Выбрал вариант с Arduino, так как есть под рукой несколько разных моделей. Так как логический уровень должен быть 3.3В, то взял Arduino Due. Можно взять другую и заморочиться с согласованием.
5. Припаиваем Data, Clock и Sync (2, 3, 13 пин или к ноге кнопки). Если что, то можно взять любую кнопку и с ее помощью давать понять Ардуино, что мы хотим синхронизировать джой. От модуля нам надо только Data и Clock.
6. Пишем программу для Ардуино. Изучив варианты из шапки, выбросил сон, добавил фильтр от дребезга. Может и лишнее, но делает ровно то, что нужно.
Код Ардуино


#define sync_pin 2 //sync button
#define data_pin 3 //data line
#define clock_pin 4 //clock line

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.

int previousState = HIGH;
unsigned int previousPress;
volatile int buttonFlag;
int buttonDebounce = 20;

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 syncButtonPressed () {

buttonFlag = 1;
}

void setup() {
Serial.begin(9600);
pinMode(sync_pin, INPUT);
digitalWrite(sync_pin,HIGH);
pinMode(data_pin, INPUT);
pinMode(clock_pin, INPUT);
attachInterrupt(sync_pin, syncButtonPressed, CHANGE);
delay(2000);

initLEDs();
}

void loop(){

if((millis() - previousPress) > buttonDebounce && buttonFlag)
{
previousPress = millis();
if(digitalRead(sync_pin) == LOW && previousState == HIGH)
{
Serial.println("Syncing.");
sendData(sync_cmd);
previousState = LOW;
}

else if(digitalRead(sync_pin) == HIGH && previousState == LOW)
{
previousState = HIGH;
}
buttonFlag = 0;
}

}


7. В итоге при подключении модуля с Ардуино весело зажигаются диоды, как первоначально задумано в коде. После нажатия на кнопку джой прекрасно синхронизируется и это также сопровождается огоньками. Вот только не показывает какой джой подключен. Далее убираем Ардуино и спокойно пользуемся связкой модуль + синхронизированный джойстик. Если модуль воткнуть в другой USB разъем, то нужно драйвер ставить заново, или править драйвер, чтобы автоматом подхватывал vid pid модуля.
Всем удачи!


Текущее время: 08:14. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.