1.

Solve : Hooking up joysticks?

Answer»

Not sure if anyone has tried this but thought I would ask for some advice. I want to know if it is possible to splice a 49 point joystick into a ps3 controller to make an analog arcade pad to use on my ps3. Any advice would be greatly appreciated. I think the arcade sticks you buy on eBay are 8 point and I would LIKE analog.Yes it can be done.... But you would have to be good with soldering up the interface board, math, and electronics.

The biggest thing to know is that the 8 point resolution of controls will still be in effect with a 49 point controller to the PS3. So in essence, there will be no control gain making direct connections where you bind multiple points to a singe x,y vector.

The only way to get the 49 points and have it truely functional for 49 points of controls would be if you had a board that interfaced between the joystick and the PS3 and for example depending on the point that is in use create a pulsed vector direction of the joystick, where you have electronics that PULSE 2 of 8 points with a combination of PULSES of the two points to give you a linear vector that is normally between the 2 points of the 8 point joystick and based on the frequency of each points pulse you can create vectors/points that are in between the limited points that the PS3 normally can register.

To make this easier visually and mathematically to explain here is the following:

Suppose this joystick is a 16 point and normally PS3 uses an 8 point. This means that there are 2 points for every point that the PS3 can sense.

If you have graph paper this is easier to explain... however any regular sheet of paper works as well. You draw an X on the paper say 1 inch or larger point to point. Now place a + symbol ( cross hair ) center to that X you end up with 8 points giving you the following directions.

Left, Left UP, UP, Right UP, Right, Right Down, Down, Left Down

Now this is how the PS3 controller is for resolution in the vector directions that you can go.

Now say you want to have 16 points, you essentially are adding additional linear vectors of direction of travel to the video game ( USUALLY flight controls ) than the PS3 can handle, although there is a way to create this additional resolution through a series of pulses.

Now lefts focus on the upper left quadrant. Here normally you have Left, Left UP, and UP for the 3 vector directions that the PS3 understands. However if you wiggle your 8 point joystick in alternation between points you can essentially travel in an offset vector that isnt there if you simply hold the stick still to the upper left corner.

So to gain the additional points, you would need a circuit that read in these additional points from the 49 point controller and basically alternates pulses between the points that are available to travel in a linear vector direction that normally is not available to an 8 point controller unless your use to wiggling the joystick quickly in a direction to get this offset vector between the 2 points of the 8 point controller.

Ok getting back to the simplicity of a 16 point controller now...

A 16 point controller will place 5 points of the 16 points into a quadrant of the 4 quadrants ( with 2 of these 5 points shared with their neighboring quadrants ) The 2 shared are LEFT and UP, with the 3 in between being 2 additional vectors to the already existing LEFT UP. These 5 points are 5 available vectors where normally you had 3, so if you make additional X's through the 8 point all intersecting at the center to now have 8 lines intersecting at the center creating 16 vectors out from the center point.

This will give you in this top left quadrant the linear vector paths of ( LEFT, LEFT 25% UP, LEFT 50% UP, LEFT 75% UP, and UP ) ... or even easier to state on the 90 degree quadrants vectors going out at the following degrees ( 0, 22.5, 45, 67.5, and 90 )

If looking at all vectors of travel with a 16 point you would have the following vectors of travel ( every 22.5 degrees all the way around 360 degres of ( 0, 22.5, 45, 67.5, 90, 112.5, 135, 157.5, 180, 202.5, 225, 247.5, 270, 292.5, 315, 337.5, 360 ) * Note the reason why there are 17 and not 16 points here is because 360 is essentially back to 0, so the bold degrees are a 16 point controller.

Now for the fun part the pulsing of the controls of the 3 original vectors to now have 6 vectors within the same 90 degree quadrant of directional controls.

To make it easier to explain I am going to reference to the degrees within this quadrant than ( Left 25% up ) etc.

Now to go in the newly added 22.5 degree direction in this upper left quadrant you need an even combination of 0 and 45 degree pulses timed in alternation ( lets say 4 hz ) doesnt need to be fast. This means that in 1 second the PS3 is given ( 0, 45, 0, 45 ) and so the vector of travel will follow the average which is the dead center of 0 and 45 degrees which is 22.5 degrees. A chip such as the 555 timer would work perfect for this + addition of a potentiometer to adjust the frequency at which the pulses are given for a more smooth control if the controled linear path seems like your following a saw tooth at 22.5 degrees that is jumpy.

The same goes for the 67.5 degree vector that you would be creating with alternation between 45 and 90 degrees at the same ( 4 hz ) ( 45, 90, 45, 90 ) per second control signal that is given to the PS3.

Now comes the even more fun part. For up to 49 points you would have to determine if you really need up to 49 points and then come up with pulse combinations between your 3 vectors of 0, 45, and 90 that the PS3 can sense electronically so that say you wanted 56.25 degree, 67.5 degree, and 78.75 degree linear held vectors of travel between 45 and 90 the 2 of the 3 vectors in this quadrant that the PS3 can understand signals from, you would need to have a circuit that gave the PS3 between the 45 and 90 degree points/vectors that it can register say ( 45, 45, 90, 45, 45, 90, 45, 45, 90 ) to get your 56.25 degree vector of linear travel and ( 45, 90, 90, 45, 90, 90, 45, 90, 90 ) to get your 78.75 degree linear vector path of travel.

The math and the electronics only get even more complicated as you add more points for the circuit to create these extra vectors to the PS3's limited vector/point sense.

Personally I would not take on such a project unless I was really bored or really wanted a challenge. Its a royal pain! I use to work with robotics and making alternate vectors of travel when limited through alternation of sensory controls and programs that were running on a Basic Stamp Chip with radio controls to joy sticks etc. I did this for 2 years and then life got busy and I had to let someone else be the electronics coach for the High Schools Robotics Team ... More info here on US First Robotics. I was involved in 1997 and 1998 with assisting a local high school to getting their robot to work for the competitions while I was also working for Allen-Bradley / Rockwell Automation : http://www.usfirst.org/ And here is the track record for the team that I was an electronics coach with in 97 and 98 http://www.usfirst.org/whats-going-on/team/211433?ProgramCode=FRC We got "Best Play of the Day, Outstanding Defense, and Xerox Creativity Awards."


Fortunately we had 8 point controllers and I made it 16 point with the same electronic pulse alterations that you seen above but instead of registering a single additional point as implementing a 16 point to an 8 point control board, I took the 2 points and used the average between them to make the extra vectors of travel in a microswitch type of joystick in which you can have 45 and 90 degree microswitches held down at the same time and so that would give you the 67.5 degree vector of travel for higher precision. And that was enough work. Shooting for 49 is a big number of higher control resolution than I would take on unless I was designing this controller for PS3 or an interface box that plugs in between the PS3 and this controller to allow for the higher precision of joystick controls for games.

We needed the extra precision for the joystick control because the robots had to perform a task and had to perform it as well as possible against other robots from all around the USA of other various designs. Once the high school kids practiced with the higher precision controls the movement of robotic arms etc was more smooth and not go X, XY, Y looking. I got a pat on the back from another team when they asked me how I got the controls to smooth out. I shared my schematic with them because they also agreed to share some stuff that we wanted to know with their design which helped both of us the following year when I saw they had used this for higher precision controls.



Discussion

No Comment Found