Ask Slashdot: Physical Input Devices For Developers? 147
First time accepted submitter paysonwelch writes "I am a developer and entrepreneur and I am considering developing a very graphically rich and custom interface for my latest application which does charting and analysis of large data sets. The application would feature lots of gauges, knobs and levers. As I was thinking about this I said to myself, why not hook up physical knobs and levers to my computer to control my application instead of designing them in 2D bitmaps? This could potentially save screen space and provide tactile feedback, and a new way of interacting digitally with one's application and data. So my question is whether or not anyone out there has advice for building a custom solution, perhaps starting with a mixing board, or if there are any pre-fab kits / controllers for achieving this?"
Re:Human Factors (Score:5, Interesting)
Yep. If you want to waste a couple of hours, read this story [slashdot.org] from a couple of days ago to get a taste of the difficulties of trying to cater to people. (For what it's worth, here's [slashdot.org] my contribution to the debate.)
I am curious about the details behind your thoughts. The only key to your target audience is that it does "charting and analysis of large data sets". Could be a number of industries, from finance to utilities looking at PMU data from the electric grid. It makes a difference - you're an entrepreneur and developer (although your home page says you're an artist), so it'd seem to be a safe assumption that you want to commercialize this. If that's the case, you want to consider the physical location of where this is going, how complicated it'll be to provide input and get output, how quickly people will need to react, how much space they'll have around them, how many will need to be installed at a location, etc., etc. All of those considerations make a big impact on whether this is even a workable idea in the first place.
As fidget42 said - hire someone who does this stuff for a living. That is, if I'm correct in my assumption you actually want to commercialize this.
Research why Guitar Hero worked.. (Score:5, Interesting)
While the Guitar Hero guitar was a PITA for retailers (huge box, took up space), it wasn't the game itself that sold people, nor the controller. It was when people put the controller on, that it conveyed a feeling of "I'm a rock star".
That feeling itself is what made GH a great game. Same holds true to flight sims, driving games with steering wheels and plastic guns. They add an emotion to the game that isn't there with a gamepad/joystick/keyboard+mouse.
I got a chance to meet Kai Huang at a class I was taking and he was telling me that when they brought the controller to the VC guys. The VC guy put on the controller and before even playing the game told Kai and his brother that he was sold on it. The VC guy said, "I don't know how to play guitar, but I feel like a rock star!"
Have some experience here (Score:5, Interesting)
I'm developing features for software defined radio [flickr.com]. Higher end radios, for those of you who don't know, tend to have a lot of controls. Bandwidths, IF shift, notch filter(s) with frequency and Q settings, AGC decay, intercept and knee, frequency, band, memories, panadaptor controls, waterfall controls, demodulator type, demodulator settings... it really goes on for quite a while.
Initially, I mapped a whole bunch of functions to keys, but eventually ran out of keys. Sure, there are on-screen controls, but they're not as nice as physical knobs. Essentially similar to the problem the submitter faces, at least in some respects.
So, my solution? First, a Griffin Tech Powermate knob [amazon.com] for tuning -- because that's what you do most of with a radio. Big knob, very precise, easy to use. Then, a Behringer BCR2000 B-control rotary control deck [amazon.com]. Cost was about $156 from Amazon. This is a MIDI device that can map any of 32 knobs and 24 buttons to arbitrary functions. Coding to the device was relatively simple; implement a MIDI learn function, then map whatever seemed fun to a physical knob or button. The board will remember several scenes, too, so you can set up a bunch of controls all at once. Works great. There's another version of the board [amazon.com] with a somewhat similar price but a different complement of controls, works similarly, though I think it's a bit more biased towards audio concepts (faders, specifically.)
There are other physical control solutions that utilize MIDI out there as well, but I have found none as economical as the BCR2000. BTW, I don't have anything to do with Behringer other than as a satisfied customer.
Re:Research why Guitar Hero worked.. (Score:4, Interesting)
I'm waiting for the version of GTA where I get to drive with the wheel and shoot with the gun at the same time. That would be raw.
Re:Human Factors (Score:5, Interesting)
Re:Oh Please No (Score:4, Interesting)
Or Simulink & an XPC.
Hell with an XPC box and a few dozen knobs we built an entire engine hardware in the loop simulator. Knobs for air pressure, engine speed, throttle position, etc. Took one of our technicians about 3-4 days to get all built up.
Or if you're poor an arduino and some Pots. That's all "Knobs" and "sliders" are. Go read up on voltage dividers. Get yourself a A/D converter. Feed one side 5V, Set 0V to 0%, 5V to 100%. Tada read it with the Arduino and you have yourself actual inputs.
Here's one already done with an Arduino [arduino.cc]. The more pots you want find something with more analog IO.
Buy a project box from from radio shack drill some holes, put it all in. You could probably do most of it for under $50.
Re:Flight Simulator Inputs (Score:5, Interesting)
I can't believe no one has suggested one of the many MAME interface boards. Arcade enthusiasts have a myriad of inexpensive interfaces for connecting custom controls to a computer. They are cheap and easy to use:
http://www.ultimarc.com/ [ultimarc.com] (follow U-HID links, or the I-PAC, Opti-PAC, etc links)
http://groovygamegear.com/ [groovygamegear.com] (follow the controls interfaces link)
Buttons, spinners, joysticks (optical, microswitch, etc), and analog controls - there is almost certainly an off the shelf interface for any kind of basic control like that. Beyond that a microcontroller kit (arduino or other) could fill in anything more exotic. I'm going a similar route to this for a custom CNC control panel I'm building, fun stuff.