Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Technical Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=22)
-   -   usb to db15 (http://www.chiefdelphi.com/forums/showthread.php?t=31057)

663.keith 02-11-2004 17:03

usb to db15
 
for the off season, my team was looking at converting an xbox controller to fit the operator interface. so far we have been unable to find a USB female to db15 male converter (we have found an adapter to get the xbox controller to work on USB). Is there any way to accomplish this?

Billfred 02-11-2004 17:25

Re: usb to db15
 
Truth be told, you're going to have a hard time finding a converter to DB15. They (being the DB15 connectors) just aren't that common anymore.

However, the way that an XBox controller is designed, you are definitely looking at two of the gameports on the OI for the one controller (because of the two thumbsticks).

Perhaps it would be a better bet to gut the innards of the controller, and rewire it yourself.

Marc P. 02-11-2004 18:20

Re: usb to db15
 
It wouldn't be possible to directly use the Xbox controller without some sort of digital to analog converter. I believe a USB connection is a digital signal (4 conductors- +5v, signal+, signal-, ground), while the OI's 15 pin inputs are analog. There has been a bit of discussion around here about using USB joysticks with the OI, and the general consensus seems to be it can't be done using simple connectors, but you can potentially crack open the controller and manually wire the potentiometers and buttons to associated db15 pinouts (as per IFI documentation).

Team 38 did something similar this past season, with a playstation controller. We ended up ripping out the entire thing, building our own board with our own buttons and controls in the PSX controller's shell. It had a few bugs at first, but once everything was securely soldered together, it worked out pretty well.

MikeDubreuil 02-11-2004 18:33

Re: usb to db15
 
I had an idea as to how this could be done with USB. It involves writing a driver for a laptop.

You need the laptop to interpret the USB signals from the gamepad and run the driver for the gamepad. Then you send a data stream to a microcontroller. The microcontroller uses it's digital and analog outputs to output to the joystick inputs on the Operator Interface.

Very complicated. You would definitely get major props for creating this and bonus points for a white paper.

Kyle Fenton 02-11-2004 18:41

Re: usb to db15
 
I have seen controllers like this but involved cutting off the connecter at the end and doing some weird wire mapping. But I am guessing that you don't want to do that. There is a possibility of building your own converter, but you would have to know the pin-out of the x-box controller.

Elgin Clock 02-11-2004 18:47

Re: usb to db15
 
You may be interested in this thread here:
http://www.chiefdelphi.com/forums/showthread.php?t=22845&highlight=sega+genesis+cont roller

And this photo: http://www.chiefdelphi.com/forums/pictures.php?s=&action=single&picid=5818&direction =DESC&sort=date&perrow=5&trows=5&quiet=Verbose

And the accompanying discussion about that photo here:
http://www.chiefdelphi.com/forums/sh...threadid=22852

aaronbr28040 02-11-2004 19:19

Re: usb to db15
 
There was an article on the Parallax website on how to use a playstation controller to control a basic stamp robot. I have a modified version of the basic code that i found online for the project somewhere. It might be easier to use a playstation controller as there is a ton of information available on them and there is already pbasic code written for it. I found out about this in a Nuts and Volts article and was planning on doing a project with it my senior year in high school but ended up working on FIRST stuff the entire time.
-Aaron

Astronouth7303 02-11-2004 20:29

Re: usb to db15
 
Quote:

Originally Posted by 663.keith
for the off season, my team was looking at converting an xbox controller to fit the operator interface. so far we have been unable to find a USB female to db15 male converter (we have found an adapter to get the xbox controller to work on USB). Is there any way to accomplish this?

What everyone else said is correct. USB consists of GND, +5v-ish, Tx, and Rx. I'm pretty sure that most modern game controlers use serial in some way (and seeing the size of the Xbox to USB converters, I'm sure it's just wiring).

However, the DB15 Gameport (which the OI ports are based on) has 4 analog channels, 4 digital ones, 2 +5v and 2 Gnd (or +5v, gnd, MIDI Tx, and MIDI Rx). It was originally based on a 2 stick design (XY and 2 buttons each).

Of course, the IFI has modified this a little for the purposes of the OI.

It isn't impossible, but it does make it more difficult.

Al Skierkiewicz 02-11-2004 21:13

Re: usb to db15
 
I would like to remind everyone that USB requires two way communication. The device needs to exhibit a serial name in addition to the serial data so it can be identified by the host and know when it is sending (or ready to send) data. There is also a requirement to have some interpretor in the host device that will issue and receive data packets from the USB device. That is a lot of work just to use a USB joystick. I know that Innonvation First is working on the problem of fewer gameport joysticks being available but when we first asked the question, they thought that the USB took too much to implement. They were continuing to watch the problem

Mark McLeod 03-11-2004 11:05

Re: usb to db15
 
I suppose the easiest (cheapest) implementation might be a variation of Mike's solution above. Use that USB-to-serial converter more and more team have to buy for their new laptops, and couple it to the serial port on an old EDU controller (or for example a PIC) with a program to interpret the XBox control commands and output via the analog and digital outputs on the EDU to the db15 gameport on the OI.

The use of a microprocessor driving the gameport will probably be against the rules though, but it would open up a lot of interesting control possibilities!

Dave Flowerday 03-11-2004 11:57

Re: usb to db15
 
Quote:

Originally Posted by Mark McLeod
Use that USB-to-serial converter more and more team have to buy for their new laptops, and couple it to the serial port on an old EDU controller (or for example a PIC) with a program to interpret the XBox control commands and output via the analog and digital outputs on the EDU to the db15 gameport on the OI.

Unfortunately even that won't work. USB devices (such as USB-to-serial converter as well as the Xbox controller) need a USB host to communicate with - it is not possible for two USB client devices to communicate directly with each other. You'd need a microprocessor of some kind (one capable of acting as a host, which most smaller microcontrollers aren't) sitting in between the USB-to-serial and the Xbox controller.

Mark McLeod 03-11-2004 12:03

Re: usb to db15
 
Quote:

Originally Posted by Dave Flowerday
Unfortunately even that won't work. USB devices (such as USB-to-serial converter as well as the Xbox controller) need a USB host to communicate with ...

So it sounds like a laptop has to get thrown into that mix anyway.

Ian W. 03-11-2004 12:09

Re: usb to db15
 
Quote:

Originally Posted by MikeDubreuil
I had an idea as to how this could be done with USB. It involves writing a driver for a laptop.

You need the laptop to interpret the USB signals from the gamepad and run the driver for the gamepad. Then you send a data stream to a microcontroller. The microcontroller uses it's digital and analog outputs to output to the joystick inputs on the Operator Interface.

Very complicated. You would definitely get major props for creating this and bonus points for a white paper.

And going by the rules FIRST has set for as long as I can remember, this is effectively illegal, because you have some sort of computer controlling the robot, besides the RC. This idea, while neat, is overly complicated and completely illegal for use during a FIRST competition, and honestly, I think it's a lot easier to rewire a joystick if that's the only joystick you can use.

Adam Shapiro 03-11-2004 22:39

Re: usb to db15
 
Quote:

Originally Posted by Ian W.
And going by the rules FIRST has set for as long as I can remember, this is effectively illegal, because you have some sort of computer controlling the robot, besides the RC. This idea, while neat, is overly complicated and completely illegal for use during a FIRST competition, and honestly, I think it's a lot easier to rewire a joystick if that's the only joystick you can use.

This was my assumption as well. We were considering creating a Playstation controller drive system (just for fun) but decided that, even if we did (which I believe we probably will in the upcoming month or two), it would be illegal if it went through a PC.

The alternative to PC control, which I do believe is allowed, would be to create the interpreter using digital circuitry, transistors, and/or logic gates. For the most part, the circuit can be done simply through basic logic although a microcontroller may be necessary to communicate with certain serial-type controllers (PSX included). For more info on how console controllers communicate (systems from NES to N64 - not only Nintendo! ;) ) check out http://www.arcadecontrols.com/Mirror...pro/index.html and http://www.gamesx.com/controldata/psxcont/psxcont.htm. Following instructions on their site, and one other, I was able to create a PSX->Parallel interface and simple driver which could be easily converted to work with separate circuitry rather than a computer.

Feel free to PM me if you have any more questions. I'll be sure to post a thread and pictures as soon as our team gets working on the controller project in the next weeks.

**EDIT
Now that I think about it, I seem to be having a Déja-vu about this topic. I think I may have posted this same information last year (or possibly the year before). I'm too lazy to search right now but if anyone wants to, feel free.

Ian W. 03-11-2004 23:21

Re: usb to db15
 
In any case, be VERY careful about using anything that could be considered a computer in your controls. Unless you can hook everything up with wires, resistors, capacitors, etc, anything simple and that doesn't have logic in it, you'll almost definitely be safe, because it's not a computer. But if you're doing any sort of programming, don't count on that control system being legal in FIRST.

As always, don't take anything said here for 100% truth, you'll all have to do your own research, but that won't happen tilll January. If you want to prototype now, great, but just don't put all your eggs in one basket.

Angry Dictator 14-01-2005 22:10

Re: usb to db15
 
Quote:

Originally Posted by Adam Shapiro
This was my assumption as well. We were considering creating a Playstation controller drive system (just for fun) but decided that, even if we did (which I believe we probably will in the upcoming month or two), it would be illegal if it went through a PC.

The alternative to PC control, which I do believe is allowed, would be to create the interpreter using digital circuitry, transistors, and/or logic gates. For the most part, the circuit can be done simply through basic logic although a microcontroller may be necessary to communicate with certain serial-type controllers (PSX included). For more info on how console controllers communicate (systems from NES to N64 - not only Nintendo! ;) ) check out http://www.arcadecontrols.com/Mirror...pro/index.html and http://www.gamesx.com/controldata/psxcont/psxcont.htm. Following instructions on their site, and one other, I was able to create a PSX->Parallel interface and simple driver which could be easily converted to work with separate circuitry rather than a computer.

Feel free to PM me if you have any more questions. I'll be sure to post a thread and pictures as soon as our team gets working on the controller project in the next weeks.

**EDIT
Now that I think about it, I seem to be having a Déja-vu about this topic. I think I may have posted this same information last year (or possibly the year before). I'm too lazy to search right now but if anyone wants to, feel free.


I was wondering about using an xbox controller, and I know where I can get my hands on some xbox controller ports. Is there any way that someone can think of that I can use the wiring from the controller to connect to the D-15 port?

Jay5780 14-01-2005 22:37

Re: usb to db15
 
Quote:

Originally Posted by 663.keith
for the off season, my team was looking at converting an xbox controller to fit the operator interface. so far we have been unable to find a USB female to db15 male converter (we have found an adapter to get the xbox controller to work on USB). Is there any way to accomplish this?

With a simple google search I found a SmartJoy X USB Adapter I think it is what you are looking for. As for the programming side of things I don't have the slightest clue, but this will adapt an XBOX Controller to USB.

Good luck

devicenull 14-01-2005 22:47

Re: usb to db15
 
From what I've seen about it, xbox controllers are usb controllers. Their pinout is a bit weird, but there's definitely usb in the xbox (For more info about that, look up modding your xbox to include a usb hub, its a simple hardware mod)

LBK Rules 15-01-2005 21:49

Re: usb to db15
 
Our team is intrested in using an XBOX controler.

I'll see what I can find on these sites.

jzampier 20-01-2005 13:34

Re: usb to db15
 
Here's how this would have to work:
(I'm working with USB for a senior project.)
USB is a serial bus. This means that it has 2-way data communication over a balanced signal. The usb connector also happens to have +5 and GND.

I'm assuming that the XBox controllers have some kind of 'smarts' in them to multiplex (that's assemble) the button pushes into a serial data stream for the USB. So, first off... they require power. I wouldn't recommend trying to draw power off of the OI joystick ports without talking to IFI about current limits, which I don't think are published as such. Secondly, since you aren't allowed a 'computer' at the player station ... well, you can see where I'm going with that.

Now other issues aside the techy details...
A PIC18F4550 appears to have USB support and is in a PDIP package, which means you could actually solder to a IC socket. (It's not a surface mount)
Then you need to write the pic code to decode the probably custom data stream from the XBOX controller and demultiplex it into a set of digital outputs. Then you need to D to A the outputs for the analog sticks because the pic doesn't have built in D to As.

Now how I would do it:
I'd disassemble the xbox controller and see what's inside... I'd try to re-wire it so that each of the buttons has a direct output line to a DB-15 connector.
I'm rusty on my rules, but I don't think you are allowed to do this. (Check)

Dave Flowerday 20-01-2005 13:49

Re: usb to db15
 
Quote:

Originally Posted by jzampier
A PIC18F4550 appears to have USB support and is in a PDIP package, which means you could actually solder to a IC socket. (It's not a surface mount) Then you need to write the pic code to decode the probably custom data stream from the XBOX controller and demultiplex it into a set of digital outputs. Then you need to D to A the outputs for the analog sticks because the pic doesn't have built in D to As.

The 18F4550 is only capable of acting as a USB peripheral, not a USB host. You would need something capable of acting as a USB host to talk to the XBOX controller. Since USB was designed to simplify the peripheral side of things, implementing the USB host hardware is more complicated and therefore hard to find in a microcontroller package. Additionally, the software side of the USB host is also fairly complicated.
Quote:

I'd try to re-wire it so that each of the buttons has a direct output line to a DB-15 connector.
I'm rusty on my rules, but I don't think you are allowed to do this. (Check)
I believe this is legal but unsupported by IFI. However, the biggest problem you will face is that the XBOX controller's analog potentiometers are probably not 100K which is required by the IFI OI. We tried to use a PC-based controller that was similar to the XBOX last year but eventually gave up as we couldn't find a decent way to replace the pots inside the device (which I believe were 15K) with 100K pots.

Joe Ross 20-01-2005 15:16

Re: usb to db15
 
Quote:

Originally Posted by jzampier
Now other issues aside the techy details...
A PIC18F4550 appears to have USB support and is in a PDIP package, which means you could actually solder to a IC socket. (It's not a surface mount)
Then you need to write the pic code to decode the probably custom data stream from the XBOX controller and demultiplex it into a set of digital outputs. Then you need to D to A the outputs for the analog sticks because the pic doesn't have built in D to As.

<R69> says that anything plugged into the joystick port must be powered by the joystick port. You will very likely run into issues trying to power your processor off the joystick port. And of course you have the USB host issue Dave pointed out.


All times are GMT -5. The time now is 05:31.

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