Pages: [1] 2   Go Down
Author Topic: Radio Shack Avenger 700 Joystick - 2 row 15 pin connector  (Read 1345 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Sr. Member
****
Karma: 1
Posts: 264
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I purchased a never used Radio Shack Avenger 700 Joystick from a thrift store for $2.  Seriously the cord was still tied up nice and in original plastic bag.  It looks awesome and has 2 push buttons, one for the trigger finger, one for the thumb on top!  The problem is it has a15 male pin connector plug spread on 2 rows.  I wanted to know the connector pin layout, but RadioShack didn't have this much info on it.  I saw in the Learning section a nice and simple joystick example.  Should I just cut the 15 pin plug and see which wires appear to be pos/neg?  Then test the signal on each direction of the joystick using leds.  Do that sound like the right direction?  Would you try to work with the plug on figuring it is now outdated since 1995?
Logged

peace*&^

SE USA
Offline Offline
Faraday Member
**
Karma: 40
Posts: 3783
@ssh0le
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

it was standard for PC's



I wouldnt cut the plug off, you can find 15 pin female versions of that just about anywhere

http://www.digikey.com/scripts/dksearch/dksus.dll?FV=fff40016%2Cfff8051c%2C160001f%2C1680002&k=dsub&vendor=0&mnonly=0&newproducts=0&ptm=0&fid=0&quantity=0&PV28=1220&stock=1


mainly cause you wont find wire in the cord, its a nylon string thats been metal plated, a big hassle to work with
Logged


Offline Offline
Sr. Member
****
Karma: 1
Posts: 264
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Are B1,B2,B3,B4 capacitors?  What do A,B,C,D represent?  Is pin2 tied back to pin4 on the connector?  Likewise, is pin5 tied back to pin7? And pin10, pin12, and pin 14 tied to GND?  Why does this hardware pinout show 2 joysticks?   Is one side Left/Right/Up/Down and the other side diagonal directions?  Are the 100k ohms linear potentiometers built into the joystick?  I thought MIDI was for sound?  I'll go buy the female connector. smiley-grin
Logged

peace*&^

Global Moderator
UK
Offline Offline
Brattain Member
*****
Karma: 238
Posts: 24322
I don't think you connected the grounds, Dave.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Are B1,B2,B3,B4 capacitors?  What do A,B,C,D represent?
Most joysticks have switches.
Logged

"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.

Offline Offline
Sr. Member
****
Karma: 1
Posts: 264
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, I do have a x axis Trim Control Switch and a Y axis Trim Control Switch.  Why does it the design show joystick 1 & 2? smiley-zipper
Logged

peace*&^

UK
Offline Offline
Shannon Member
****
Karma: 184
Posts: 11160
-
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

That appears to be a standard 'gameport' connector, which supports two ordinary two-axis joysticks with two buttons each. It was quite common to use these to connect a single joystick with a coolie hat, giving four proportional controls and four buttons in a single joystick.
Logged

I only provide help via the forum - please do not contact me for private consultancy.

Offline Offline
Sr. Member
****
Karma: 1
Posts: 264
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Are the 100k ohm potentiometers built into the joystick?  Which pins would I connect 2 buttons to?  thanks! smiley-lol
Logged

peace*&^

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 36
Posts: 5519
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

That appears to be a standard 'gameport' connector, which supports two ordinary two-axis joysticks with two buttons each. It was quite common to use these to connect a single joystick with a coolie hat, giving four proportional controls and four buttons in a single joystick.

There was also ways of using the MIDI IN and OUT pins to give you even more buttons and such (you needed special drivers, though - and no two joysticks supported the same protocols).
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

field road, jupiter creek
Offline Offline
Sr. Member
****
Karma: 3
Posts: 348
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

a lot of the joysticks with "lots" of buttons multiplex them to give you 4 bit code.

One thing to watch is you have to wire up all the ground and +V connections.
Logged

0
Offline Offline
Tesla Member
***
Karma: 114
Posts: 8914
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Are the 100k ohm potentiometers built into the joystick?  Which pins would I connect 2 buttons to?  thanks! smiley-lol

You should be able to discover a lot just using a multimeter and the posted diagram.
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

Offline Offline
Sr. Member
****
Karma: 1
Posts: 264
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok I'll do that once I get a connector for it.  Here is a pic of the joystick.


* joystick.JPG (2881.05 KB, 3680x2760 - viewed 32 times.)
Logged

peace*&^

Offline Offline
Sr. Member
****
Karma: 1
Posts: 264
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm not understanding this joystick.  I wrote this program to identify each movement, but it doesn't work the way I expected.  In the serial monitor I see a number flip from 6 to 7 pressing a button on the joystick.  I have 4 pins plugged into PWR and 3 pins plugged into GND as the diagram shows.  What am I doing wrong?

Code:
/******************************
Program: joystick_test.ino
Author: Evan Johnson
Purpose: Test each direction of the joystick to figure out
which pin relates to it.  Print the pin # in the serial monitor
and then you'll know by the direction your moving the joystick
which pin correlates to it.
*******************************/

//Each movement on the joystick should be sensed by an
//individual pin. The 8 movements translates to left/right,
//up/down, NorthEast, SouthEast, NorthWest, SouthWest.
int pin6 = 6; //pin 6
int pin7 = 7; //pin 7
int pin8 = 8; //pin 8
int pin9 = 9; //pin 9
int pin10 = 10; //pin 10
int pin11 = 11; //pin 11
int pin12 = 12; //pin 12
int pin13 = 13; //pin 13

void setup()
{                   
  Serial.begin(9600);
 
  pinMode(pin6, INPUT); // red     ROW 1
  pinMode(pin7, INPUT); // purple
  pinMode(pin8, INPUT); // orange
  pinMode(pin9, INPUT); // green
   
  pinMode(pin10, INPUT); // black  ROW2
  pinMode(pin11, INPUT); // green
  pinMode(pin12, INPUT); // red
  pinMode(pin13, INPUT); // blue
}

void loop()
{
  // read the input pin 6:
  int joystickState1 = digitalRead(pin6);
 
  // read the input pin 7:
  int joystickState2 = digitalRead(pin7);
 
  // read the input pin 8:
  int joystickState3 = digitalRead(pin8);
 
  // read the input pin 9:
  int joystickState4 = digitalRead(pin9);

  // read the input pin 10:
  int joystickState5 = digitalRead(pin10);
 
  // read the input pin 11:
  int joystickState6 = digitalRead(pin11);
 
  // read the input pin 12:
  int joystickState7 = digitalRead(pin12);
 
  // read the input pin 13:
  int joystickState8 = digitalRead(pin13);
 
 
  if(joystickState1 == HIGH)
  {
    Serial.println("Pin 6");
  }
  else if(joystickState2 == HIGH)
  {
    Serial.println("Pin 7");
  }
  else if(joystickState3 == HIGH)
  {
    Serial.println("Pin 8");
  }   
  else if(joystickState4 == HIGH)
  {
    Serial.println("Pin 9");
  }
  else if(joystickState5 == HIGH)
  {
    Serial.println("Pin 10");
  }
  else if(joystickState6 == HIGH)
  {
    Serial.println("Pin 11");
  }
  else if(joystickState7 == HIGH)
  {
    Serial.println("Pin 12");
  }
  else if(joystickState8 == HIGH)
  {
    Serial.println("Pin 13");
  }
  delay(1);        // delay in between reads for stability
}
 
Logged

peace*&^

Offline Offline
God Member
*****
Karma: 27
Posts: 829
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Your joystick is analog. You need to connect the pins that correspond with X and Y to analog pins on the arduino and read it's value. When the joystick is in the center, that is your center value. Any value greater will be one direction, any value less with be the other. Those little levers next to the joytisk handle set the trim which adjusts the center position. The two fire buttons are just buttons that go low when pressed. You can connect those to any pins and use internal pullups on the arduino.

You connect all 5V and all GND together. I attached a picture which might make it more clear how to hook it up. The pin numbers are the same on your joystick.


* joystick.png (30.38 KB, 566x250 - viewed 28 times.)
Logged

0
Offline Offline
Tesla Member
***
Karma: 114
Posts: 8914
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Your joystick probably has x, y, and z pots. The pins with the wiper outputs should be per standard joystick schematic pinouts. The below might be helpful in finding the joystick pot pins, the +5v pin, and ground pin. 

https://www.google.com/search?q=game+port+pinout&num=100&hl=en&lr=&as_qdr=all&tbm=isch&tbo=u&source=univ&sa=X&ei=WBgsUdjCN6qr0AHT0ICgBQ&ved=0CFMQsAQ&biw=1094&bih=629
Logged

Consider the daffodil. And while you're doing that, I'll be over here, looking through your stuff.   smiley-cool

Offline Offline
Sr. Member
****
Karma: 1
Posts: 264
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

finally got it to control the mouse cursor!  There was no Z coordinate.  check it out on youtube! smiley-eek-blue

http://youtu.be/e-59qHSzKns
Logged

peace*&^

Pages: [1] 2   Go Up
Jump to: