Étape 2: Code
/ * Code Arduino pour communiquer avec le module RF xbox 360.Original travail de (yaywoop) / autre idées de Alexander Martinez - modifié par dilandou (www.dilandou.com, www.diru.org/wordpress)
Tout d’abord envoie le code d’initialisation de LED suivie LED démarrage animation code, puis dort jusqu'à ce qu’un bouton de commande sync.
Module RF doit être alimenté avec 3.3V, deux diodes en série avec USB 5v suffira. Raccorder les fils USB à un ordinateur hôte et les données et les câbles série pour Arduino.
bien sûr, assurez vous d’avoir un terrain commun * /
#include < avr/sleep.h >
#define sync_pin 2 //power bouton utilisables pour le bouton de synchronisation (broche 5 du module)
#define data_pin 3 //data ligne (broche 6 du module)
#define clock_pin 4 //clock ligne (broche 7 du module)
int led_cmd [10] = {0,0,1,0,0,0,0,1,0,0} ; Active/initialise les LEDs, laissant le centre LED allumées.
int anim_cmd [10] = {0,0,1,0,0,0,0,1,0,1} ; Rend l’animation de démarrage sur l’anneau de lumière.
int sync_cmd [10] = {0,0,0,0,0,0,0,1,0,0} ; Initialise le processus de synchronisation.
sync_enable booléen volatils = 0 ;
Sub sendData (int cmd_do[]) {}
pinMode (data_pin, sortie) ;
digitalWrite (data_pin, basse) ; commencer à envoyer des données.
int prev = 1 ;
pour (int i = 0; i < 10; i ++) {}
tandis que (prev == digitalRead(clock_pin)) {} //detects changement dans l’horloge
PREV = digitalRead(clock_pin) ;
devrait être après le bord vers le bas de l’horloge, donc, peu de données envoyer maintenant
digitalWrite (data_pin, cmd_do[i]) ;
tandis que (prev == digitalRead(clock_pin)) {} //detects bord vers le haut de l’horloge
PREV = digitalRead(clock_pin) ;
}
digitalWrite (data_pin, HIGH) ;
pinMode (data_pin, entrée) ;
}
void initLEDs() {}
sendData(led_cmd) ;
Delay(50) ;
sendData(anim_cmd) ;
Delay(50) ;
}
wakeUp() Sub {}
sync_enable = 1 ;
}
void sleepNow() {}
set_sleep_mode(SLEEP_MODE_PWR_DOWN) ; mode SET "veille"
sleep_enable() ; activer le sommeil peu
attachInterrupt (0, réactivation, faible) ;
sleep_mode() ;
sleep_disable() ; désactiver le sommeil peu
detachInterrupt(0) ; désactive interrompre 0 sur broche 2
}
void setup() {}
Serial.Begin(9600) ;
pinMode (sync_pin, entrée) ;
digitalWrite(sync_pin,HIGH) ;
pinMode (data_pin, entrée) ;
pinMode (clock_pin, entrée) ;
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 ;
}
}
ou vous pouvez l’obtenir auprès de http://diru.org/wordpress/hacking/xbox-360-rf-module-arduino/ ici
vous aurez besoin programmer votre arduino avec ce code
Je ne suis pas venu vers le haut avec ce code tout le crédit pour ce code va à dilandou et Alex Martinez