Main > Project Announcements
ROTARY T-STIK PLUS (PLUS) - Willy Wonka Edition
abaraba:
BYOAC - "Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic."
I think reply fits, new topic can be started later if preferable.
Anyway, there might be simpler and possibly "better" solution if you are using MAME and have game port on your PC. All you need is 2 variable resistors in range from 0 - 100 kohm to make any two joystick become rotary sticks, or better to say "analog dials".
http://www.epanorama.net/documents/joystick/pc_circuits.html
First, it's good to know how to trick computer into detecting there is joystick on the game port.
--- Code: --- pin 1 +5 ________________
|
|
pin 3 stick 1x _______________|
|
|
pin 6 stick 1y _______________|
--- End code ---
Say we assign X-axis to Player 1 and Y-axis to Player 2 clockwise/anticlockwise rotation. This wiring, without any potentiometers and resistors, would then set both Player 1 & 2 dials to maximum anticlockwise (max. left) position. So, what you want to do is this:
--- Code: --- pin 1 +5 ________________
|
0-100k |
pin 3 stick 1x ____/\/\/\_____|
|
0-100 k |
pin 6 stick 1y ____/\/\/\_____|
--- End code ---
Plug in two variable resistors, so at 0 kohm the dials are at maximum anticlockwise, at 50 kohm they are centered, and with 100 kohm they are at their maximum clockwise position.
Now, the only question remains where to place it, it needs to rotate against static frame of the joystick. There is bottom, the middle and the top, where the problem is keeping the "horizontal" planes of the stick and the static frame parallel.
--- Code: --- ___ BALL horizontal plane
/ \ ===========================================
| |
\ / TOP horizontal plane
| | ................................................
| |
| |
| | MIDDLE
| | ................................................
___________ | | _____________
|___________\ /_____________|
| | | | STATIC horizontal plane
| | | | ==================================================
|----------------------|
| | BOTTOM
| | ................................................
===
--- End code ---
The bottom seem to be the most troublesome as the angle between "BOTTOM" plane and "STATIC" frame plane may vary wildly during the gamepley, so this need to involve some springs, rubber and such flexibility, which I think is preferable to avoid, if possible.
Only the top planes always stay parallel for sure, so the best place for this "pot" would be inside the ball. Only you would need a hollow stick to pass wires down.
The second best place could be the middle, where on some joystick there is plastic half-ball joint piece stick goes through and it also leans together with the stick, but stays fixed around vertical axis becasue of the spring downward pressure, so the stick rotates against it. That seems like a very good place for potentiometer, if I could only find one that is shaped like ring so to fix it to this half-ball joint and so that stick can pass through it as well, but in any case that could be made.
...unless, there is some even simpler solution?
BTW, my problem is how to make this work with real PCB, such as Caliber 50, so if you know how actual optical rotary joystick works please let me know - I started thread about it in the main forum.
abaraba:
Unfortunately, I was wrong.
MAME does not translate analog joystick movement as spinner displacement, but as the speed of rotation. For the above to work you would then need to change this code handling "Analog Dial" in MAME, so the movement is displacement and then normally the speed would become 'displacement over time', as it should be.
mr.Curmudgeon:
I love that someone is still thinking about ways to improve this. ;D :cheers:
abaraba:
This is very good hack here:
http://www.trimoor.com/rotary_joystick/
...btw, I also solved my problem, so I can tell that above right there is all you need to make this spinner work with actual arcade board, and to make it work with your PC and MAME you would also need the rest of the mouse, which then serves the same purpose as OptiPac adapter - converts quadrature code to serial PC packets. These mechanical encoders seem to be much more practical than potentiometers, especially since they are compatible with arcade spinners and trackballs out-of-the-box, so I take back my suggestions about resistors and analog joystick port. Anyway, I explained all this a bit more here, in my original thread: http://forum.arcadecontrols.com/index.php?topic=107640.0
mr.Curmudgeon,
your hack is also great, especially considering it is only "add-on" as opposed to "modification", very good!