Hello, I'm new to arduino. I have a device I'm building that requires it take input from a 49-way joystick
(I need more options than an 8-way ardunio thumb joystick can offer.)
My question is if an arduino board can take input from this device?
If so, how do I know what the output pins mean on the joystick? I don't think they're clearly labeled, and the device doesn't come with a blueprint manual.
I count 10 pins on the connector. If one is ground, another is power, that leaves 8 pins. One is probably a strobe to tell you there is data on the other 7 pins.
You will have to research the connections and data patterns.
Check the text on the IC (the 'device' with the 14 pins). Find the datasheet. Check which pin (pins) is (are) the Vcc pin and which pin is (are) the GND. Take a multimeter and check to which connector pins those pins are connected.
Try to find with the multimeter which IC pins are connected to the output connector. Try to find to 'what' (e.g. transistor?) remaining connector pins are connected.
Check the output type of the output pins of the IC in the datasheet; they might be open-collector or open-drain. If so, you need pull-up resistors to be able to measure anything.
Find the the supply specification (Vcc). If it's 5V, you can more than likely use it directly with the Arduino. Connect a power supply to the appropriate pins (don't swap plus and minus). Connect pullup resistors if needed to the connector pins.
And next you can start fiddling and measuring. If readings are in the range of 0V / 5V, you can connect to the Arduino.
For more help, post that part number of the IC (or a link to the datasheet) and how the pins of it are connected to the connector.
If you really want to use such an expensive high-end device, hire an engineer to complete your project
IMO the price is due to Atari compatibility (spare part), not for superior performance. What functionality do you really need, that is not found with the cheap Arduino compatible joysticks?
Once used in a small handfull of Williams, Midway and Atari games, 49 way joysticks live in a no-man's land between digital and analog joysticks. 49-way joysticks do not, as the name might seem to imply, point in 49 different directions. The number 49 comes from the number of positions the stick can report to the game hardware, including positions somewhere between "dead center" and "pushed all the way". Imagine a 7x7 grid (that's 49 squares) and you've got it. Games that originally used this hardware benefited from the extra info the joystick could report by allowing the player to control the on-screen character with more precision- both in the form of better directional control (24 discrete directions possible, if you count dead center), and 3 levels of speed control, based on how far from center the stick was pushed. For example, in SiniStar, the player can make the ship move faster or slower, by varying how hard they push the stick, and the ship's movement is not limited to just 8 directions. Attempting to play this game (or others that originally used 49-way sticks) with a standard 8-way digital joystick tends to be frustrating- SiniStar is a very difficult game in the first place; take away the speed control and limit yourself to 8 directions, and it's really, really hard. More info on 49-way joysticks can be found at What are 49-Way joysticks? by URebelScum
Games that originally used 49-way joysticks include:
SiniStar
Blaster
Arch Rivals
Pigskin 621 A.D.
Blitz
Blitz '99
Blitz 2000
NFL Blitz 2000 Gold Edition
NBA Showtime
SportStation
Gauntlet: Legends
Gauntlet: Dark Legacy
For home gaming purposes, when paired with the GP Wiz49 controller from [www.groovygamegear.com GroovyGameGear], these analog style joysticks have become a popular all-around stick. Using the GP-Wiz's various DRS modes, these joysticks can be easily switched between 8-way, 4-way, 2-way (vertical), 2-way (horizontal) and diagonal (Q*Bert style) modes without having to physically change the joystick hardware. This allows these sticks to be used to play any digital joystick games well. In addition, the two 49-way modes allow play for games that originally used 49-way sticks (and have emulator support that goes beyond 8-ways- not all 49-way games do), and also will play well for some games that originally used analog or Hall-Effect joysticks.
For those with a penchant for soldering here's a circuit on Arcadecollecting.com that allows a 49-way to be connected with an an analog interface (Dualstrike hack etc).
There are three varieties of 49-way joystick: Williams, Midway, and Happ.
The Williams are easy to distinguish- they use a distinctive rubber centering "spider" on the bottom, and have balltop handles. Red balltops come from SiniStar; Orange come from Arch Rivals. There are also Williams optical sticks out there with Turquoise and Yellow balltops. These look like 49-ways, complete with centering spider. However, these sticks do not have as many optics, and the pin connector is different, with fewer pins. These sticks are 8-way only. Turquoise ones most likely come from Bubbles, however, some early Joust games shipped with Turquoise and Yellow optical sticks.
The Midway and Happ 49-ways are very similar, in fact the Happ is just the Midway stick with a minor re-design. (Happ bought the rights to a lot of Midway's parts business several years ago.) The Midway sticks have a smaller diameter shaft, and the centering grommet has a correspondingly smaller hole. Both have a black bat top handle. Replacement handles are available in a variety of colors (Happ variety only) at [www.groovygamegear.com].
@Tom George: I'm new to arduino, have no clue how to build this- but I do need some device that can give directional input to the board on a wide level. 49 seems just right, it may be cheaper to buy 50 push buttons and position them in a grid, but that would take too long to wire/program. oh, and customer service is not an option, as the company is just a supplier that stockpiles old parts. Had no clue I could even find a manual of the output pins online, and I searched everywhere!
@DrDiettrich: Would it be possible to build a 50-box grid on a PC (custom program), and click on the boxes to give input to my ardunio board?
@Bill Ho: Thank you for the chart, so since there's a 5V on the diagram, it will work with ardunio?
One last question, What kind of arduino board do you guys suggest I buy? I need to wire 10-12 mini linear actuators that will be programmed to go a certain stroke when the joystick (input device) individually tells them to? ..I'm guessing Arduino Uno, but I'm not sure how I can connect all the actuators to the board, as each one has 5 output pins...plus joystick which is 10, and then the power supply.
Would it be possible to build a 50-box grid on a PC (custom program), and click on the boxes to give input to my ardunio board?
Yes.
You have to think it through though as to what your needs are. In its simplest form, you can send 'the number' of the button. Slightly different would be to send the number of the button and e.g. ON or OFF.
Thank you @sterretje, what program would you suggest I use to build this grid? Preferably I'd like to use 'AWSD' keys to flow smoothly across the grid. Having each number tell specific actuators to push out, and how much to push out.
Sorry, I meant the up/down/left/right keys. I took a look at the program you mentioned, but was thinking something more visual, where I can see my keyboard input change the grid in real time.
I'd like to practically wire frame an online app with the 50 grid boxes, as I navigate with my keyboard up/down/left/right, I can visibly see the boxes lighting up in that path. ie: kinda like the game snake
is there anything that intuitive, like POP app for custom smartphone apps..one that assigns a number to each box in the grid?
You still didn't say what's the purpose of the input. If you want to replace a button array, a touch pad were a good choice. If you want joystick control, the analog joysticks will have a better resolution than the 49-way joystick.
So I need to guide my cursor/selector along a 50-box grid
ie: as the point is set somewhere on the top-left hemisphere of the gird, the top-left linear actuators extend their rod out.
..this is the basic idea, except the level of precision will need to be much more sensitive, and I will need to calibrate the stroke length for each actuator, depending on how close the cursor is to the center of its registered 'box' in the grid.
I don't mind joystick control, as you can more or less feel the stick moving across the 49 grid spots in its housing.
I don't mind using a mouse or touch pad, as I can also see where I'm positioned via cursor/finger.
..Either way I'd like a PC program to layout the 2D grid and personally click on box areas and assign the actuator stroke accordingly.
It's just important I use something visual and easy to program to give input to my Arduino board + x15 linear actuators.