Xbox 360 RF + Arduino = беспроводный приемник контроллера для PC

Роясь в ящике нашел ардуино нано. Со скуки решил запилить чегонить полезное. Взял старый дохлый хбох 360. Выковырял с него переднюю панельку. Залил прошивочку. Спаял все вместе. Теперь можно играть во всякое без проводов выведя изображение с пека по ХДМИ на телек.

 

 

/* 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;   } }

 

 

Но надо еще поставить драйвера и тут есть небольшие тонкости.

Качаем драйвера http://www.microsoft.com/hardware/en-us/d/xbox-360-wireless-controller-for-windows

Ищем файл Xusb21.inf

И в данных секциях [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

 

 

 

 

 

Поделиться
+1
Jove

jove 7 августа 2014 21:26

Готово можно играть.

ion

ЖеньШень 7 августа 2014 21:30

Задрот ( с уважением, без иронии)

Bober123

Bober123 8 августа 2014 0:00

Наша тема. Сонибои идут лесом с синезубом (где-то тут тоже была тема, да).

Прямой эфир
Девушка родила ребенка в ванной и задушила его в Павлодаре
avgusta, это Irbistv.kz,  помойка. Но иногда и Павон подобным грешит, тоже носом тыкаю.
#wlad50 минут назад
Жизнь, посвященная истории края
Замечательное события. Приятно, когда помнят. Когда не просто так
#Somik22 часа назад
Через Пакистан, Индию и Непал: как велопутешественник из Павлодара покорил Эверест
История хорошая. Куда только Павлодарцы не ездят... Особенно на велосипедах
#Somik2 дня назад
Павлодарские фермеры обеспокоены возможным запретом на экспорт овощей
Сколько живу, все одно и тоже: наше в Россию, а из России к нам...
#Somik2 дня назад
57 работ художника Ария Школьного передали в дар павлодарскому художественному музею
Павон, за  семья переехала в Алма-Ату  большое спасибо?
#wlad2 недели назад
В Павлодаре пенсионерку, которая собиралась перевести мошенникам полтора миллиона тенге, остановила сотрудница полиции
В Павлодаре пенсионерку, которая собиралась перевести мошенникам полтора миллиона тенге, остановила сотрудница полиции…
#wlad3 недели назад
Павлодарских болельщиков приглашают на презентацию родного футбольного клуба
Интересно, как же в Павлодар будут добираться команды соперников? Как обычные гражданские, до Астаны и дальше на…
#John Wick3 недели назад
Как пройдет референдум по принятию новой Конституции в Павлодарской области
765 милонов  на 3 тысячи человек итого 255тыщ на на нос за несколько дней работы. неплохо
#sergadm3 недели назад
Ход реконструкции областного реабилитационного центра проверили аманатовцы
Реабилитационный центр, расположенный в Зеленой роще, входит в предвыборную программу партии. Вот-таки всеми шестью…
#wlad1 месяц назад
Популярные у павлодарцев огурцы и помидоры теперь в списке социально-значимого продовольствия
Интересно - а владелец магазина в деревне Павлодарские Ебеня за 200 км. от славного города Павлодара, где он продукты…
#wlad2 месяца назад
Иностранка пыталась продать почку в Павлодаре
sergadm, да, в количестве двух штук.
#wlad2 месяца назад
Футбольный стадион на 20 тысяч зрителей начнут строить в Павлодаре
А это точно начнут строить в 2026 году? Разве уже есть эскизы, ПСД, застройщик и т.д. Такая большая стройка так просто…
#John Wick2 месяца назад
"Иртыш" объявил о массовом уходе известных футболистов
Там вообще остался, кто играть в КПЛ будет? Кто будет выходить последний, свет выключите...
#John Wick2 месяца назад
Детский хоспис откроют в Павлодаре
Дело хорошее. Тут без власти не пожить... Благодарность
#Somik2 месяца назад
Первую многоэтажку в Затонском микрорайоне Павлодара сдадут до конца этого года
20 - 2 этажек заменили 7 - девятиэтажными домами и 2-мя 2 - этажными, мощности какие никакие есть
#Somik2 месяца назад
В Павлодаре горожане и спортсмены не поделили горку в Зеленой роще
Действительно, место отдыха было для всех. Административный ресурс замечательно работает, но тут непродуманно. Хоть на…
#Somik2 месяца назад
Строительство 4 многоэтажек намерены начать в микрорайоне "Достык" в Павлодаре
Планы грандиозные. Видимо государство подумало об этом. Теперь - "Aq Jol", чтобы реализация не подвела
#Somik2 месяца назад
В Павлодаре начали строить новый завод
Жаль подробностей нет. Но стратегия видна, думает кто-то на перспективу и это замечательно
#Somik2 месяца назад
Как диабетикам получить социальные выплаты в Павлодаре
Инсулинозависимый диабет (сахарный диабет 1 типа). Термин «инсулинопотребный» обычно относится к сахарному диабету 2…
#Somik2 месяца назад
Сокращение количества бродячих собак привело к росту числа лис в Павлодаре
Сокращение количества бродячих собак привело к росту числа лис в Павлодаре - Любой вид, когда он живёт где-то, он…
#wlad3 месяца назад
Нового прокурора представили в Павлодаре
А вы, друзья, как ни садитесь ... .
#wlad3 месяца назад
"Куртка за 1,2 млн тенге": аким Павлодарской области объяснил, откуда в его гардеробе дорогие вещи
На воре и шапка горит. На акиме любое пальто хорошо сидит.
#wlad3 месяца назад