Playstation 2 Joystick (totally removed) connecting to Arduino UNO board...etc.

Hello all...
Been working on this for a while now. I purchased a generic playstation 2 (ps2) gaming pad, hand or controller (your preference). I completely removed BOTH the joysticks from the unit as the native state of how they were, would not work for the project. I DO NOT want wireless, and that first off is all I am finding online.
My question is this: WHERE do I connect the SEL (My understanding is this is where the pushbutton operation of the joystick would be wired)
Do I connect the SEL of the breakout board to the actual Arduino, or do I connect it to the breadboard. To both, just give me a location as in 3 thru 13, A0 through A5,
Now then, I have power, ground, left (left3), right (right3) figured out.
Am I totally off my mark, I have attached my fritzing diagram as a jpg with notes to assist.

For reference purposes please see these links for further info:
Breakout board: SparkFun Thumb Joystick Breakout - BOB-09110 - SparkFun Electronics
Joysticks: Thumb Joystick - COM-09032 - SparkFun Electronics

Thanks in advance
Tony

Those joysticks also have the built-in button, so you should have 5 wires total, + and -, then one for the button and two for the pots. Have you been able to get one joystick working yet?

Before I used these joysticks, I was using (unknown to me at the time) joysticks that DID NOT have the pushbutton feature. That's why I opted to get a generic control and tear them out (nicely) I have the connected to a circuit board, and was only using the break out board listed as a roadmap of the connections.
as you can see in the pic, I have listed all the connections from the Joystick (#2) since the + and - are already hooked up, I wasn't going to label them.

I need to know, where to hook that damn pot from each joystick :~

Ok, then I need to see an actual picture of what you have, and I need to see the traces on the back.

I hope this helps you out.
I don't actually have the breakout board but this one has been verified with Sparkfun that this pinout is exactly the same.
The joy stick is identical to the PS2 joystick
Diagram of my layout..Not totally complete but gives some idea.

My project is to have 2 servos on each joystick to control X & Y, and Z is to stop them from going back to 0° or back to the 90°
This is the reason I have the 4 servos.
I am seriously thinking about actually ordering the breakout board, but still have no clue as where to hook up that SEL connection to my Arduino Uno.

Thanks

It tells you what is what. The SEL is the button which, when pressed, equals LOW. Also you may need a pull up resistor on the SEL, otherwise it will be a floating pin, and you do not want that.

As per your diagram:
Vcc, Vert, Horz, Sel(button), Gnd

All it takes is 4 analog inputs (XL, YL and XR, YR). Or you can use all 6 analog inputs and include the two buttons, it is up to you.

randaza1:
I need to know, where to hook that damn pot from each joystick :~

The below shows how to connect a pot to the arduino. The picture of the joystick you posted shows the two pots and the switch pretty clearly.

http://arduino.cc/en/Tutorial/Knob

Yep, I agree with you...But my main problem is: Do I need to connect the SEL to the UNO, the breadboard, or nothing at all?
See that's where the problem is.
Originally I had a non pushbutton joystick (2 of them), connected everything and they worked just like they were suppose to, with the exception I was using non pushable (Z axis) joysticks.
I took those joysticks back and obtained the two that I currently have, and are identical to the picture I posted.
So you see, its not that I cannot get the servos to move, its I don't know what to do with that SEL connection.

Tony :~

Zoomcat....wow..I wish I would have seen that earlier...question, this is just showing the uno and 1 servo, I would be able to jump the uno board to the bread board to have more room for the other 3 servos right?

T

The SEL is not needed.
You didn't know about the knob example? So what code have you written?

randaza1:
Zoomcat....wow..I wish I would have seen that earlier...question, this is just showing the uno and 1 servo, I would be able to jump the uno board to the bread board to have more room for the other 3 servos right?

T

I can't speak to your breadboard setup, but the wiring looks simple. You need to connect a multimeter or similar to the SEL and to the ground and 5v to see how it connects to each when the switch is both open and closed. The SEL probably could connect to an arduino digital pin that is set high. When the switch is pushed it connects to the common ground pulling the arduino pin low. A multimeter will help you sort out the pots and the switch. Below is some servo pot code and bottom is servo switch code showing a simple arduino switch setup.

//zoomkat multi pot/servo test 3-23-13
//includes dead band for testing and limit servo hunting
//view output using the serial monitor

#include <Servo.h> 
Servo myservo1;  //declare servos
Servo myservo2;
Servo myservo3;
Servo myservo4;
Servo myservo5;

int potpin1 = 0;  //analog input pin A0
int potpin2 = 1;
int potpin3 = 2;
int potpin4 = 3;
int potpin5 = 4;

int newval1, oldval1;  //pot input values
int newval2, oldval2;
int newval3, oldval3;
int newval4, oldval4;
int newval5, oldval5;

void setup() 
{
  Serial.begin(9600);  
  myservo1.attach(2);  
  myservo2.attach(3);
  myservo2.attach(4);
  myservo2.attach(5);
  myservo2.attach(6);
  Serial.println("testing multi pot servo");  
}

void loop()
{ 
  newval1 = analogRead(potpin1);           
  newval1 = map(newval1, 0, 1023, 0, 179); 
  if (newval1 < (oldval1-2) || newval1 > (oldval1+2)){ //dead band 
    myservo1.write(newval1); //position the servo
    Serial.print("1- ");
    Serial.println(newval1); //print the new value for testing 
    oldval1=newval1; //set the current old value
  }

  newval2 = analogRead(potpin2);
  newval2 = map(newval2, 0, 1023, 0, 179);
  if (newval2 < (oldval2-2) || newval2 > (oldval2+2)){  
    myservo2.write(newval2);
    Serial.print("2- ");    
    Serial.println(newval2);
    oldval2=newval2;
  }

  newval3 = analogRead(potpin3);           
  newval3 = map(newval3, 0, 1023, 0, 179); 
  if (newval1 < (oldval1-2) || newval3 > (oldval3+2)){  
    myservo1.write(newval3);
    Serial.print("3- ");
    Serial.println(newval3);
    oldval3=newval3;
  }

  newval4 = analogRead(potpin4);           
  newval4 = map(newval4, 0, 1023, 0, 179); 
  if (newval1 < (oldval1-2) || newval4 > (oldval4+2)){  
    myservo1.write(newval4);
    Serial.print("4- ");
    Serial.println(newval4);
    oldval4=newval4;
  }

  newval5 = analogRead(potpin5);           
  newval5 = map(newval5, 0, 1023, 0, 179); 
  if (newval1 < (oldval1-2) || newval5 > (oldval5+2)){  
    myservo1.write(newval5);
    Serial.print("5- ");
    Serial.println(newval5);
    oldval5=newval5;
  } 
  delay(50);  //to slow loop for testing
}
//zoomkat servo button test 12-29-2011

#include <Servo.h>
int button1 = 4; //button pin, connect to ground to move servo
int press1 = 0;
int button2 = 5; //button pin, connect to ground to move servo
int press2 = 0;
Servo servo1;

void setup()
{
  pinMode(button1, INPUT);
  pinMode(button2, INPUT);
  servo1.attach(7);
  digitalWrite(4, HIGH); //enable pullups to make pin high
  digitalWrite(5, HIGH); //enable pullups to make pin high
}

void loop()
{
  press1 = digitalRead(button1);
  if (press1 == LOW)
  {
    servo1.write(170);
  }    
  
  press2 = digitalRead(button2);
  if (press2 == LOW)
  {
    servo1.write(10);
  }
}