Building a Cockpit Setup for Simulator Games?
Milo_Mindbender asks: "For awhile I've been looking at building a cockpit-like setup for playing simulation games. One problem is finding a way to hook up a large number (up to 100) of lighted push-buttons in the thing and interface them to a computer that would poll the switches and control the (Tri-color LED) lights. Since the buttons/LEDs won't be clustered together, it would be nice if each button (or group of 4-5 buttons) could be on some kind of multi-drop network so the thing wouldn't turn into a wiring nightmare. The trick is that you don't want to miss button presses and you want to let people hold down multiple buttons without the setup getting confused. The big problem though, is cost. Anybody got an idea of how this could be done, preferablly with off-the-shelf parts, for under $5-$10 per button including the button?" Combine this idea with the earlier article we did on LCD-screens-for-cockpits, and you might have a kick-ass setup! Networked mech sims, anyone?
You, sir, have won the Too Much Time on Your Hands Award. Congratulations.
It is worrying, if someone would only think of the children to stop unpatriotic terrorists like this from obviously planning how to cheaply fly a jumbo jet into the side of a large building!
Interesting project.
Wire all the lights to a centralised box, which acts as a keyboard pass through.
I wonder if you could adapt a system to efficently manage networks?
OPerhaps you hsould by some LED's with IPV6 intergrated? That would be pretty cool - if they are available.
Your problem has probably been solved, as there's a somewhat decent sized following of people who build their own flight sim cockpits, and I think I even saw one mech cockpit.
;)
Build Your Own Cockpit
That has a few links. Plenty more can be found with simple google searching. I had this idea a few months ago, and like any idea I have, I checked to see if it was done already, and sure enough
As for LCD screens, they've got that stuff figured out. Check it out, you won't be let down.
Take apart a standard AT or PS/2 keyboard. Now, inside of most of them are a few layers of plastic with electronic traces, and a small bit of circuit board with one big chip (the encoder). How a keyboard works is that the keys are arranged in a grid of wires, and when you press down on a key, you connect two wires in a grid. With a little bit of work recording the electronic traces, you can figure out what keys connect what pins on the encoder. Congradulations, you now have a 101 button method of input.
Now, if you want to be lazy, then here's this link: Happs Controls, which has less inputs, and only works on win9x/NT/Mac, but saves you from wiring. Even if you go with the homebuilt solution, Happs sells a variety of buttons, and gives a price discount for large quantities. (I believe the price drops happen at 10 and 100 unit quantities.)
(Happs, btw, is a supplier of arcade game parts.)
I've just been browsing around their site, what a great selection! Thanks for posting that link.
Something to think about.
sPh
Look at some of the application notes for the PIC microcontroller. A $2-3 chip could easily debounce 25 buttons and output a serial stream.
Envy my 5 digit Slashdot User ID!
I would think a dual processor Xeon system with 2 GB RAM and 3 video cards should have enough horsepower (sic) to handle this type of setup, but is there any software that can do it?
sPh
sPh
Check out what Dallas Semiconductor has for products. Check out there 1-wire items. (www.ibutton.com has a number of related links).
Basicly, they have modules to do damn near anything you want, they can check the status of a switch, toggle like a transistor/buffer combination, etc. And you can have a number of devices on the same 1-wire network. Each device is individually addressable, and device types can be access in groups.
(While they call it a 1-wire network, it is 1 wire + ground, can be accessed various speeds depending on the attached devices. (Up to 1 megabit I think.)
So, basicly what you'll want to do is work out the fastest polling rate you require and figure out if you can adaquatly transfer enough data to meet the worst case scenario. (best case is probably easy, as you can poll to see if devices changed.).
A rough estimate would be that you could do all this for about $3/[switch|LED] combination.
You need an EPIC board from R & R electronics:
a se r.shtml
http://www.mindspring.com/~rrelect/epic/info/te
At least, that's what all the hardcore cockpit builder guys I know use. One just bought a cockpit from a little fighter (it's an F-5 or one of it's variants that wound up in a scrap heap) and is in the process of rewiring the whole thing to run off an epic board.
Here are some links that you may find helpful and/or interesting:
The JoyRider Virtual Flyer
Homebrew Flight Sim Cockpit
Full Motion Flight Simulation Platform
Homemade Flight Simulator
3 Axis Flight Simulator
Also, look for something called the "Rock-N-Ride" - it was a commercial low-cost motion platform, that interfaced to a serial port and used a airbrush compressor for power. It wasn't cheap, but it was cheaper than a real 3 axis platform. I have also seen real 3 axis platforms sold on eBay, but be prepared for hydraulic behemoths (in weight, if not size) that will set you back some.
Now, granted, none of these sites will probably answer your question about what to do in regards to all of the lights, switches, etc. For that, I would suggest looking into PIC or BASIC Stamp interfacing over a "single-wire" serial interface or similar. You could probably also do it with logic circuits and shift register-based systems (to effect a parallel to serial to parallel interface), or use a MAX232 for comm. There is also a guy out there that sells an ethernet -> uPU interface (people have used it to hook old C64's to ethernet, etc).
You could also hook up to the joystick port - in theory you could hook resistors up to get input from both axis's, a different resistor per switch, two joysticks - plus all of the buttons - that is a lot of buttons!
There is also the possibility of using the joystick port as a MIDI port, and comm'ing over that. Also, look up joystick info, there is a method of toggling a bit or so on the joystick port to actually gain a certain low-speed output over the joystick port to allow you to "clock" data from the port - supposedly some "digital" joysticks have done this.
There is always USB - check out Nuts and Volts magazine - there have been articles in the past on the chipsets, etc needed to interface using USB.
I hope this helps...
Reason is the Path to God - Anon
A cheap microcontroller and serial communication will get you started. Then it's just a matter of picking up all your LEDs, buttons, etc. from a nice cheap place, like Jameco will get you going. . . gl! --subhuman
Isn't somebody supposed to get on and complain about this guy asking his question here instead of making google do all the work? All I see (except for the hijacker jokes) are thoughtful, intelligent, and helpful replies. Did I miss the announcement of a "Grown-ups only" day on Slashdot?
I see even classic Slashdot is now pretty much unusable on dial up anymore.
http://www.arcadecontrols.com has a lot of information about hooking pushbuttons up to keyboards and so on.
If you're a zombie and you know it, bite your friend!
http://www.projectmagenta.com
they did the s/w for BEL
You simply MUST add a Thunderseat to your home-brew cockpit. MUCH fun!
The place I work has full motion F/A-18 flight simulators. Our cockpits use the EPIC card to control ~200 switches & buttons. Also, they have 5 ft dome screens from Elumens that use a special lens on a standard LCD projector, and a 15" LCD panel as the front instrument panel.