Go to Post I've got much more out of FIRST ever since I stopped and realized I can gain so much more from trying to improve my current team's situation rather than complain about teams who have more. - AdamHeard [more]
Home
Go Back   Chief Delphi > CD-Media > White Papers
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

photos

papers

everything



Playstation 2 Controller Adapter

By: jakep
New: 25-01-2006 19:28
Updated: 25-01-2006 19:28
Total downloads: 1959 times


This white paper contains information about building and programming a Playstation 2 controller adapter to control your robot! This adapter was developed by Team 862, Lightning Robotics, and works perfectly with any off-the-shelf PS2 controller. The advantage of this model is that no modifications n...

This white paper contains information about building and programming a Playstation 2 controller adapter to control your robot! This adapter was developed by Team 862, Lightning Robotics, and works perfectly with any off-the-shelf PS2 controller. The advantage of this model is that no modifications need to be made to your PS2 controller. It is fairly inexpensive, easy to build, and competition legal! Schematics, board layouts, PIC hex file, code, and documentation are included.

Attached Files

  • zip Playstation 2 Controller Adapter

    1138235317ps2_adpater_whitepaper.zip

    downloaddownload file

    uploaded: 25-01-2006 19:28
    filetype: zip
    filesize: 567.39kb
    downloads: 1957



Recent Downloaders

Discussion

view entire thread

Reply

25-01-2006 22:40

Greg Marra


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

That's really cool, but the circuit looks fairly complicated to build and program.

You guys should consider building more and selling them to other teams. Considering that the price of a CH Flightstick on eBay is upwards of $40, you could help people get a better controller for their robot and make your team some extra money at the same time.



25-01-2006 22:41

pathew100


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Great job by the "geekTeam" of our robotics team. I'm the electrical/software mentor for team 862 and what they have done is amazing. Especially since they didn't even need to ask me for help! I had a major "How the heck did you do that?" moment when they first hooked it up and had it working on the breadboard.

So if you have any questions, ask the students!

Here's our website :www.lightningrobotics.com



25-01-2006 23:51

Jeff Rodriguez


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Will this also work with a PSone controller?



26-01-2006 07:06

GhostInTheShell


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

It will work with PSOne controllers that have the analog sticks (The dual-shock analog controllers work)



26-01-2006 07:33

Joel J


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

I had no idea you were allowed to connect a PIC between the "joystick" and PORTx of the OI.



26-01-2006 08:45

Not2B


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Quote:
Originally Posted by Joel J.
I had no idea you were allowed to connect a PIC between the "joystick" and PORTx of the OI.
Yeah, we were nervous. Last year, I would say this would be right out. But this year...

Quote:
Originally Posted by Manual
<R78> All equipment connected to the Joystick Ports of the IFI Operator Interface must be powered solely
through the power available through the port. External power sources of any type are not permitted on any
equipment connected to the Joystick Ports. Portable computing devices may not be connected to Joystick
input ports on the Operator Interface. Power-passive devices (e.g. joysticks that draw their power solely
through the IFI Operator Interface joystick port) are permitted.
I'd call this a power-passive device, as all power is comming from the OI. Then to look at the INTENT of the rule, all the PICs are doing is translating data, they aren't adding any value to the input or doing any calculations to drive the robot any better. So I hope we're OK. It's still up to the human to drive that sucker into a wall and fall over.

OR... another way too look at it...

We made our own joysticks. The joystick starts at the plug. An off the shelf PS2 controller is just one of the materials we used to make our control.

I hope!



27-01-2006 16:06

pathew100


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

See also this thread on the Q&A:

Custom-circuit Controllers

This design is officially legal for FIRST competitions.



27-01-2006 18:03

acumenerratica


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Question about your control mapping...
It was unclear in the white paper (to my insomnia-addled brain, at least) whether both joysticks are mapped to the PIC. Is it possible to run tank drive simply from the two analog sticks of a PS2 controller using your adapter method?

Replies are greatly appreciated



27-01-2006 22:08

Not2B


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

I'm not sure if you need 2 sets or one set... I'll have to ask the geeks. BUT - I can tell you that we drive tank style with the 2 sticks.

I'll see if I can ask the geekTeam more about it.



27-01-2006 23:44

jakep


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Yes, the two Y axes are sent to the OI, allowing for tank drive.

The X axis on either joystick on the ps2 controller is not sent to the OI, and is instead used to send digital signals. (4 per analog input on the OI, total of 8)



30-01-2006 01:46

phrontist


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Impressive! You deserve a Innovation In Control award, if you don't get it, they have no idea what they're doing!

(Espescially because it was student designed and built)



03-02-2006 22:56

Ellery


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Quote:
Originally Posted by jakep
Yes, the two Y axes are sent to the OI, allowing for tank drive.

The X axis on either joystick on the ps2 controller is not sent to the OI, and is instead used to send digital signals. (4 per analog input on the OI, total of 8)

Very nice work! Is your white paper complete enough to have my students try to tackle it as well? I looked through it and it seems to be missing some of the components for the PCB.

What size diodes and Resistors are required for the completion of this project?
Also is there anything missing from the whitepaper I should know about?

Thanks in advance for bringing teams to the next generation!

Ellery



04-02-2006 13:10

jakep


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

No diodes or resistors are required for this project. Depending on how you are building it, you might need to have a resistor for the LED. However, we used an LED mounting that already had a resistor built in. We used to have some in the design, but they were removed to make it more simple.



06-02-2006 20:36

maniac_2040


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

When it comes to changing which buttons we uses, is it possible to just modify the code in some way? My team was thinking about using the playstation controller, but would like to use both the x-axis and y-axis in at least one of the analogs. How would I go about doing this? Thanks in advance!



07-02-2006 10:52

kc8nod


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

I can't open the schematic file. I get the error "ps2adapter.sch is not a valid ExpressSCH file". The layout file opens fine with ExpressPCB. Any ideas what's wrong?

p.s. great job guys, thanks for all the hard work.



07-02-2006 12:45

jakep


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

The PCB file is for use with Express PCB, the schematics were made using Eagle Layout software.

To modify the adapter to use different axes and such, you will need to modify the code. The source code is included, and it will compile with free compilers like gpasm. In the future, we will be working on a better base code to allow for more changes, buttons, and axes.



08-02-2006 16:50

kc8nod


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

FYI, you can buy the PIC and the digipots from DigiKey:

Code:
Part Number        Description                       Price 
PIC16F688-I/P-ND   IC PIC MCU FLASH 4KX14 14DIP      $3.35 
DS1267-100-ND      IC POT DUAL DIGITAL 100K 14-DIP   $3.32



10-02-2006 15:56

Ellery


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Jake,

I've been trying to compile and program your source code with MPLab but do I need to change your code again to be able to compile and program with the Microchip Picstart Plus programmer?

According to your Remarks you changed the PNUM_DATA 0; Pin_DATA PortA, 0; <-What were the original values?

If you are programming directly from the PS2 plug I assume you're direct wiring the plug to the board pinouts for the 7 inputs to the match the programmer pins.

Let me know what i'm missing here.

Thanks

Ellery



11-02-2006 15:32

jakep


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

No, you do not have to change any of the sourcecode to use a different programmer.

The comments are unfortunately somewhat misleading, which pins you use for programming are built into the chip itself. The reason for that comment was that we had to move around some of our inputs to make sure the MCLR pin was free to be wired to a custom programmer. This way, we can wire an unused pin on the PS2 plug to MCLR, and when we want to program the chip, we can apply 12volts to that pin and not worry about any of the voltage flowing to the sensitive digipots.



20-02-2006 02:28

maniac_2040


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

I have a question regarding the code. When you're writing the digital outputs you have this smiget of code:

movlw 0x87 ; Write the first set of digital outputs
btfss datast+2, 2 ; L1
xorlw 0x80
btfss datast+2, 0 ; L2
iorlw 0x40
btfss datast+2, 3 ; R1
iorlw 0x20
btfss datast+2, 1 ; R2
iorlw 0x10
movwf digipots+2

On the first line is there any particular reason you used the hex value of 87 and then xor'd the L1 bit(when pressed) to the final output? Couldn't you just movlw 0x00 and the iorlw 0x80 just as you do all the following? I modified the code like such and wanted to know if it'd work:

;Write the first set of digital outputs
movlw 0x00
btfss PS2_BUTTON_BYTE_1, L1_BUTTON
iorlw 0x80
btfss PS2_BUTTON_BYTE_1, L2_BUTTON
iorlw 0x40
btfss PS2_BUTTON_BYTE_1, R1_BUTTON
iorlw 0x20
btfss PS2_BUTTON_BYTE_1, R2_BUTTON
iorlw 0x10
btfss PS2_BUTTON_BYTE_1, TRIANGLE_BUTTON
iorlw 0x08
btfss PS2_BUTTON_BYTE_1, CIRCLE_BUTTON
iorlw 0x04
btfss PS2_BUTTON_BYTE_1, X_BUTTON
iorlw 0x02
btfss PS2_BUTTON_BYTE_1, SQUARE_BUTTON
iorlw 0x01
movwf digipots+2

Yea I changed all the datast and #'s to some defines....will this code work?



20-02-2006 16:45

jakep


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

No, your code will not work. The reason is that the analog signals sent out by the digipots and the OI are not sensitive enough to accurately measure a 1 bit difference on an analog port. The max we had good results with was 4 digital outputs on one 8bit analog signal. The reason it is 0x87 is to provide an offset so that if there is a difference of 1 bit, it won't erroneously send button signals.



04-05-2006 19:03

Pavan Dave


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Good job guys. I finally found this thread. I appreciate you guys taking the time to do this and helping other FIRST teams with cool new innovative ways to control their robot.

Kudos

Pavan



08-05-2006 02:47

Barry Craig


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Can you post the schematics on the PS2 programmer you made? It seems very interesting and I would like to use that too, if it is alright with you.



08-05-2006 17:41

Not2B


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Quote:
Originally Posted by Barry Craig
Can you post the schematics on the PS2 programmer you made? It seems very interesting and I would like to use that too, if it is alright with you.
I'm asking them for the instruction on how to make your own programmer. But in the mean time, our website maven gave me this...

http://www.sparkfun.com/commerce/pro...?products_id=8

He said he uses it, you don't have to make your own programmer, and you don't need to write your own code.



09-05-2006 18:12

d0nk


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Yeah, i'm the one who told Not2B about that programmer. I bought it last august when i wanted to mess around with PIC's, and found it very easy to use. Use it in conjunction with the ICProg software (free, supports the programmer, which is known as a "JDM" programmer). Sparkfun also has tutorials on getting started with the programmer, and PIC's in general. If the programmer supports the IC, but doesn't have a "slot" for it (the 14/16 pin chips dont fit on the programmer), you can use the built in ICSP header, and jumper to the pic (usually in a breadboard, if programming in this manner).



16-05-2006 23:07

Barry Craig


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Quote:
Originally Posted by d0nk
Yeah, i'm the one who told Not2B about that programmer. I bought it last august when i wanted to mess around with PIC's, and found it very easy to use. Use it in conjunction with the ICProg software (free, supports the programmer, which is known as a "JDM" programmer). Sparkfun also has tutorials on getting started with the programmer, and PIC's in general. If the programmer supports the IC, but doesn't have a "slot" for it (the 14/16 pin chips dont fit on the programmer), you can use the built in ICSP header, and jumper to the pic (usually in a breadboard, if programming in this manner).
I already bought the PICkit Flash 1 from Microchip, which uses MPLAB. Would I be able to upload the supplied hex file with this, or if I cannot, just copy and paste the source code into a new project?



20-11-2006 14:09

Ryan O


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Hi,

I recently read your white papers, and I have an idea. However, to make it work, I need to shift out all the data coming from the controller in a way to register when buttons are pressed, ect, like you did to get some of them. I think that if this is possible you could wire all the x, y and buttons to one or more ports to utilize the full potential of the controller. Any help would be greatly appreciated.

Thanks,

Ryan O
Team 350 Porgrammer/Electrical



20-11-2006 15:13

6600gt


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

Quote:
Originally Posted by Manual
<R78> All equipment connected to the Joystick Ports of the IFI Operator Interface must be powered solely
through the power available through the port. External power sources of any type are not permitted on any
equipment connected to the Joystick Ports. Portable computing devices may not be connected to Joystick
input ports on the Operator Interface. Power-passive devices (e.g. joysticks that draw their power solely
through the IFI Operator Interface joystick port) are permitted.
Is a PIC really considered as a portable computing device?
Because I want to use one for modifying non real time values form the OI.



20-11-2006 21:18

jakep


Unread Re: White Paper Discuss: Playstation 2 Controller Adapter

The design we made was used legally in two regionals and nationals last year, so it doesn't really count as a computer device.

Also, to all teams wanting to make one of these for this years competition, we, the creators of the design, must advise you about an issue we had with it. We had some power regulation issues, which cause the thing to occasionally drop connection during competitions (works fine when the OI is powered from an AC adapter, but not always in competitions when all OIs are off of one power supply). We have some ideas about updating the design to fix this problem, like adding a capacitor to help prevent short lived power drops. We don't have a solution yet, but we will probably be updating the white paper when we do. Please proceed at your own risk when building these, at least until we get a fix available. (It should be a simple solution, not requiring new boards to be made if you already did)



view entire thread

Reply

Tags

loading ...



All times are GMT -5. The time now is 08:30.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi