Alfombra Dance Dance Revolution

Started by Yawin, July 15, 2011, 05:18:23 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Yawin

Buenas a todos. Lamento estar tan desaparecido últimamente. Esque me han hecho organizador en la euskal Encounter y, bueno, ando atareadillo. Aun así, siempre saco algo de tiempo para programar, y por ello he venido:

Estoy haciendo un bemani estilo DDR (Dance dance revolution). Bien, el tema es que para ello quiero usar la alfombra por usb mítica de estos juegos. El tema es que no se cómo programar sus Key. E igual alguien sabe algo al respecto o puede echarme una mano de alguna forma.

Igual las interrupciones que envia coinciden con las de un joystick, o con un teclado, ni idea. Y en el caso de que haya que hacer una librería, jodido ando, porque se más de física nuclear que de eso xDD

Gracias por cualquier ayuda que podáis darme.
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

FreeYourMind

Creo que las interrupciones se corresponden con las keys del pad de ps2, habria que probar. Yo uso un adaptador usb a joy's de ps2, con eso podrias probar en pc.

SplinterGU

yo tengo uno, creo que se puede conectar a la pc, este fin de semana lo pruebo y comento.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Futu-block

eso digo yo, como lo acepta el ordenador?? como un llostik??

Trecek

#4
La mejor solucion seria poder conectar esa alfombra directamente al pc y que la reconociese como un dispositivo mas, a ver que dice splinter que tiene una. Si como dice free se puede usar directamente con un adaptador de play, estupendo. En caso de que no se pueda, o en el caso de que no vendan adaptadores para que conectes tu alfombra al pc, puedes conectar un mando de pc entre la alfombra y el pc. Eso si, tendrias que desmontar el mando, hacer algunas soldaduras, buscarte la vida para ver como conectar los cables...

Supongo que la alfombra que uses tendra dos cables por cada boton, y al pulsar el boton se conectan esos cables, los mandos funcionan igual, asi que si desmontas un mando y sueldas esos cables a la placa del mando en los sitios donde se conectan los botones del mando podrias hacer que el mando "pulse" un boton cuando pulsas los de la alfombra.

Buscando un poco por youtube he encontrado videos de gente que fabrica sus propias alfombras para juegos de baile, acerca de lo del mando y las soldaduras podras encontrar algun video explicativo (busca "pump it up" "piu" "tablero piu casero" y cosas asi, busca tambien "hackear mando").

El problema a mi modo de verlo es que no estas haciendo una alfombra a partir de cero, sino adaptando una, asi que a saber que cable es para que boton. Podrias usar un poligrafo o algo asi para averiguarlo (un poco de cable, un diodo y una pila podrian servir). Deberas ir haciendo pruebas y descartando cables (obviamente ANTES de soldar nada), despues de todo no puede tener muchos, me imagino que 10 si es de 5 botones y 18 si es de 9. Despues esos cables los conectas a un puerto (serie, paralelo, yo que se, lo que te parezca mejor) tomando nota de que cable has puesto en cada pin. De hecho puedes mantener el puerto que traiga la alfombra, para poder seguir usandola como estaba previsto originalmente, añadiendo ese puerto que digo para conectarla al mando de pc.

El mando de pc lo desmontas, miras en la placa a ver donde estan los botones, tendras que soldar dos cables para cada boton que quieras usar, no creo que te cueste mucho ver en la placa del mando donde soldarlo, un cable a cada lado para cada boton, eso si, si ves que la zona donde vas a soldar no esta brillante puede ser que tenga una capa de otro material encima, raspala suavemente con un destornillador o un trocito pequeño de lija para descubrir el metal mas brillante de debajo (de color cobre o plateado).
Despues de soldar los cables a los botones del mando de pc practicas un agujero en la carcasa del mando para sacar esos cables por ahi (te recomiendo el lado contrario a donde este el cable que va al pc), luego los llevas a un puerto (obviamente que conecte con el que pusiste en la alfombra) y cierras el mando. Por supuesto tendras que tener en cuenta el "mapa de pins" que hiciste del puerto de la alfombra para soldar los cables de este puerto en consonancia con el otro. A partir de ese momento podrias usar el mando como un mando normal, o conectarlo a la alfombra. En ambos casos la configuracion en el pc sera la que corresponda a ese mando. Recomiendo que pongas poco cable desde el mando hasta el puerto, asi podras seguir usando el mando como un mando de pc normal sin que te moleste ese cable extra.

Podrias conectar directamente los cables de la alfombra al mando, pero aunque poner un puerto entre medias requiera mas soldaduras y un poco mas de trabajo, luego sera mas comodo a la hora de usar el invento. Aparte de que de esta forma puedes seguir usando el mando de pc normalmente.

En cuanto a que mando usar... en su dia vendian unos mandos de ps1 que incluso comprando el mando y un adaptador de play a pc te salia mas barato que un mando igual para pc (ademas tendria la ventaja de que si pasas el juego a play podrias usarlo ahi tambien). Sea como sea yo probaria con un mando baratucho por si acaso obviamente :D

Para darle un aspecto mas profesional y que no quede todo como un churro de cinta aislante podrias usar plastico termofusible creo que se llama, son unos tubitos de plastico que venden en cualquier tienda de electronica y que al calentarlos con el soldador de estaño se estrechan y pegan al cable, has de colocarlos en el cable antes de soldarlo y una vez lo hayas soldado tapas esa zona con el tubito de plastico y lo calientas un poco. Luego todos los cables los puedes meter dentro de un tubo de plastico mas ancho (seguro que en la misma tienda te dan alguna solucion). Asi quedaria todo con aspecto de un solo cable terminado en un puerto. Aparte del aspecto el usar ese plastico que digo hara que sea mas resistente que con cinta aislante, que hay algunas cintas que enseguida se les va la pega y se cae la cinta.

Eso si, nunca he adaptado una alfombra a pc, todo esto que he expuesto es una idea que al menos en teoria debiera de funcionar, basandome en videos que he visto.
Si te da el punto de hacer algo asi me gustaria ayudar, por ver que tal va la cosa, me gustan estos temas aunque mas que programacion parece que estoy exponiendo un programa de bricomania :D

l1nk3rn3l

#5
si existe el adaptador de usb-play2, que lo consigues
en las subastas, o en cualquier tienda de pc's

si la libreria de joystick de bennu no te reconoce
la alfombra que vendria siendo otro gamepad mas

cada boton de la alfonmbra seria las palancas (up,down,left,right)
que me acuerde...

en el bennupack seccion dlls hay otra libreria de gamepad
que podria servirte..

:D

SplinterGU

#6
la que tengo yo es compatible con psx1, psx2, wii, gcube, xbox... y no lo dice, pero tambien PC, es un joystick usb mas...

emula 2 axes, y tiene 16 botones:

left = boton 0
down = boton 1
up = boton 2
right = boton 3
y = boton 4
x = boton 5
b = boton 6
a = boton 7
+  = boton 8
-  = boton 9

los otros botones no se usan... (no existen como botones fisicos)

EDIT: Fixeado
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Trecek

Ale, ya no hace falta destripar ningun mando :D

(en un principio solo iba a decir "puedes conectarla a un mando de pc", pero me emocione pensando en el como y me salio toda esa parrafada XD )

SplinterGU

jeje... si, me asusto un poco el tamaño de tu mensaje... :D
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Trecek

Tiendo mucho a extenderme en los posts (y mis amigos aseguran que hablando soy peor), soy charlatan, que se le va a hacer  :-[

Yawin

Quote from: SplinterGU on July 16, 2011, 04:44:12 PM
la que tengo yo es compatible con psx1, psx2, wii, gcube, xbox... y no lo dice, pero tambien PC, es un joystick usb mas...

emula 2 axes, y tiene 16 botones:

-  = boton 9
+  = boton 8
b = boton 6
up = boton 2
a = boton 7
left = boton 0
y = boton 4
down = boton 1
x = boton 5

los otros botones no se usan... (no existen como botones fisicos)
Entonces, qué librería necesito. mod_key o mod_joy (o como se llame)??
Sigue el desarrollo de mi motor RPG: https://www.youtube.com/watch?v=TbsDq3RHU7g

process main()
       begin
           loop
               pedo();
               frame;
            end
       end

KeoH

Quote from: SplinterGU on July 16, 2011, 04:44:12 PM
la que tengo yo es compatible con psx1, psx2, wii, gcube, xbox... y no lo dice, pero tambien PC, es un joystick usb mas...

emula 2 axes, y tiene 16 botones:

-  = boton 9
+  = boton 8
b = boton 6
up = boton 2
a = boton 7
left = boton 0
y = boton 4
down = boton 1
x = boton 5

los otros botones no se usan... (no existen como botones fisicos)

te falta el boton right no?? xD

josebita

Yo tengo una que recomiendan en la web de stepmania (redoctane nosequé) y el cable está terminado en tres: USB, play y otro (xbox?). Lo reconoce como joystick.

SplinterGU

Quote from: KeoH on July 17, 2011, 02:29:51 PM
Quote from: SplinterGU on July 16, 2011, 04:44:12 PM
la que tengo yo es compatible con psx1, psx2, wii, gcube, xbox... y no lo dice, pero tambien PC, es un joystick usb mas...

emula 2 axes, y tiene 16 botones:

-  = boton 9
+  = boton 8
b = boton 6
up = boton 2
a = boton 7
left = boton 0
y = boton 4
down = boton 1
x = boton 5

los otros botones no se usan... (no existen como botones fisicos)

te falta el boton right no?? xD

correcto, pero es el que falta...

right = boton 3
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

vamos de nuevo

Quote
la que tengo yo es compatible con psx1, psx2, wii, gcube, xbox... y no lo dice, pero tambien PC, es un joystick usb mas...

emula 2 axes, y tiene 16 botones:

left = boton 0
down = boton 1
up = boton 2
right = boton 3
y = boton 4
x = boton 5
b = boton 6
a = boton 7
+  = boton 8
-  = boton 9

los otros botones no se usan... (no existen como botones fisicos)
Download Lastest BennuGD Release: http://www.bennugd.org/node/2