Go Down

Topic: joystick arduino en windows.. (Read 1 time) previous topic - next topic

Tomasito

#5
Oct 25, 2010, 12:23 pm Last Edit: Oct 25, 2010, 12:25 pm by Tomasito Reason: 1
Tarde, pero seguro.


Yo hace un tiempo que quería hacer algo así, para aprovechar unas palancas analógicas que tengo de joysticks de psx rotos, y para hacer un joystick para jugar al call of duty.
No se me ocurría una manera de que windows me reconociera el arduino como joystick, hasta que me acordé que un programa que usaba para conectar el joypad de sega a la pc podría servir (PPJoy).
Me puse a investigar, y tenía soporte para puerto serie con entradas analógicas y digitales.

Estuve un rato probando y después de un litro de cocacola conseguí que funcione con dos ejes, emulando una palanca de joystick. Lo probé con un par de juegos y va de maravilla.
El código es el siguiente:


Quote

byte x = 0;
byte y = 0;

int x_pin = 0;
int y_pin = 1;

void setup() {
  Serial.begin(9600);
}

void loop() {
  x = analogRead(x_pin) / 6;
  y = analogRead(y_pin) / 6;
  Serial.print(240,BYTE);
  Serial.print(x,BYTE);
  Serial.print(y,BYTE);
}
 



Todavía no logré conseguir que me lea correctamente las pulsaciones de botones digitales (cuando está en 0, manda datos aleatoreos, pero cuando está en 1 lo manda correctamente, no sé si será ruido u otra cosa), pero creo que ya sé más o menos como solucionarlo (una solución burda, sería tratar los botones analógicamente).
Es medio complicado porque mucha información sobre el protocolo no he podido conseguir.

Por lo menos para leer datos analógicos, va mejor que un joystick comprado en una tienda.


Saludos!

chato_sat

Tomasito has probado a poner una resistencia pull down a los pines donde van enganchados los botones?? es que si no las pones arduino te lee valores aleatorios.

Saludos.
Chato_sat

Go Up