Recientemente intenté hacer un adaptador de controlador de XBOX para mi PC según estas instrucciones . Como tengo muy poco conocimiento eléctrico, inmediatamente tuve problemas.
Conectó todo como se muestra y usando el código provisto, nada funciona, no se enciende.
Al usar mi propio código, funciona (algo):
int sync_pin = 2;
int data_pin = 3;
int clock_pin = 4;
int led_cmd[10] = {0,0,1,0,0,0,0,1,0,0};
int anim_cmd[10] = {0,0,1,0,0,0,0,1,0,1};
int sync_cmd[10] = {0,0,0,0,0,0,0,1,0,0};
void setup()
{
Serial.begin(9600);
Serial.write("Initializing..");
Init();
SendData(anim_cmd, 7000);
}
void loop()
{
}
void SendData(int data[], int delay_ms)
{
pinMode(data_pin, OUTPUT);
digitalWrite(data_pin, LOW);
int prev = 1;
for (int i = 0; i < 10; i++)
{
while (prev == digitalRead(clock_pin)) { }
prev = digitalRead(clock_pin);
digitalWrite(data_pin, byte(data[i]));
while (prev == digitalRead(clock_pin)) { }
prev = digitalRead(clock_pin);
}
digitalWrite(data_pin, HIGH);
pinMode(data_pin, INPUT);
delay(delay_ms);
}
void Init()
{
pinMode(data_pin, INPUT);
pinMode(clock_pin, INPUT);
digitalWrite(clock_pin, HIGH); // SOMEHOW IT NEVER WORKS WITHOUT THIS LINE!!!
SendData(led_cmd, 0);
delay(50);
}
No se enciende todas las veces. Se sincroniza, a veces.
El mayor problema es que cada vez que toco el módulo de RF o Arduino, o incluso cuando muevo mi mano cerca de él, todo se vuelve loco. Comienza a parpadear, se enciende o se apaga, y Arduino se reinicia.
Como he mencionado, soy nuevo en electrónica, así que probablemente haya conectado algo mal. Todo lo que hice fue conectar directamente el módulo RF a los pines del Arduino. Sin resistencias ni diodos. Nada. Una cosa que se me ocurrió fue proteger los cables con papel de aluminio. :)
Entonces, si aún no destruyo mi equipo, tal vez alguien sepa lo que se podría hacer.