Stap 2: Code
/ * Arduino code om te communiceren met de xbox 360 RF-module.Origineel werk door (yaywoop) / aanvullende ideeën uit Alexander Martinez - bewerkt door dilandou (www.dilandou.com, www.diru.org/wordpress)
Eerst stuurt LED initialisatie code gevolgd door LED Animatie opstartcode en vervolgens tot een druk op de knop voor de opdracht sync slaapt.
RF-module moet worden aangedreven met 3.3V, twee diodes in serie met de USB 5v zal doen. Sluit de USB-kabels tot een host-computer, en de gegevens en seriële draden aan de Arduino.
Natuurlijk, zorg ervoor dat een gemeenschappelijke basis * /
#include < avr/sleep.h >
#define sync_pin 2 //power knop voorzien voor sync-knop (pin 5 op de module)
#define data_pin 3 //data lijn (pin 6 op de module)
#define clock_pin 4 //clock lijn (pin 7 op module)
int led_cmd [10] = {0,0,1,0,0,0,0,1,0,0}; Activeert/vooruitgangsbalk de LEDs, waardoor het centrum LED verlicht.
int anim_cmd [10] = {0,0,1,0,0,0,0,1,0,1}; Maakt de startup-animatie op de ring van licht.
int sync_cmd [10] = {0,0,0,0,0,0,0,1,0,0}; Met deze opdracht start het synchronisatieproces.
vluchtige Boole sync_enable = 0;
VOID sendData (int cmd_do[]) {}
pinMode (data_pin, OUTPUT);
digitalWrite (data_pin, laag); beginnen met het verzenden van gegevens.
int prev = 1;
for (int i = 0; ik < 10; i ++) {}
terwijl (prev == digitalRead(clock_pin)) {} //detects verandering in klok
Prev = digitalRead(clock_pin);
moeten worden na neerwaartse rand van de klok, dus stuur nu bits van gegevens
digitalWrite (data_pin, cmd_do[i]);
terwijl (prev == digitalRead(clock_pin)) {} //detects opwaartse rand van klok
Prev = digitalRead(clock_pin);
}
digitalWrite (data_pin, hoge);
pinMode (data_pin, INPUT);
}
ongeldig initLEDs() {}
sendData(led_cmd);
delay(50);
sendData(anim_cmd);
delay(50);
}
ongeldig wakeUp() {}
sync_enable = 1;
}
ongeldig sleepNow() {}
set_sleep_mode(SLEEP_MODE_PWR_DOWN); instellen slaapstand
sleep_enable(); slaap bit inschakelen
attachInterrupt (0, wakeUp, laag);
SLEEP_MODE();
sleep_disable(); Ontredderen slaap bit
detachInterrupt(0); Hiermee schakelt u onderbreken 0 op 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;
}
}
of u kunt het krijgen van hier http://diru.org/wordpress/hacking/xbox-360-rf-module-arduino/
u zult moeten uw arduino met deze code program
Ik kwam niet met deze code alle lof voor deze code naar dilandou en Alex Martinez gaat