I am trying to build a custom interface for the live performance (music) software I've been writing, but I'm somewhat overwhelmed. I'm going to order a duemilanove for this project and some other prototyping, but that's about as far as I've gotten in terms of ordering hardware.
Right now I am using my Korg padKONTROL (seen above) as an input device, but I want something larger and more customized, and I am trying to do this as cheaply as possible. I have eventual access to a laser cutter, so I was thinking I would pick up some acrylic sheets, some plywood, some LEDs, momentary pushbutton switches, some I/O multiplexing equipment and get started.
However, I don't know exactly what I need. I am thinking somewhere between 92-128 LEDs and a similar number of switches, but I don't know what LEDs/switches or where to order them from. I don't know how to know how bright the LEDs will be or how they will work in places with high ambient light. I also don't know whether or not I should try to multiplex the arduino I/O or if I should get an LED driver and some parallel-in/serial-out shift registers instead. Or maybe some I2C I/O expanders like I am going to use for my gameboy flashcard reader/writer project?
Like I said, I'm just a bit overwhelmed. I've done a lot of electronics work, but I've never built anything from scratch like this before. I'm hoping that some of the more experienced members can help me find a functional, affordable way to build this.
Also, for anyone in the know, I am currently using the padKONTROL in native mode. I would be communicating with the Arduino via plain old serial, not as a MIDI device.
Maybe you could describe how you want your interface to work? It would make it easier to comment on the parts you would need. For example, why do you think you'll need so many leds? Are they just for status, or are you trying to use them for photosensors?
As for designing the circuits, I would start with drawing a block diagram based on functional blocks or units. Then for each functional block, you can define the actual circuitry needed. From here, you can determine things like curent & voltage requirements for the blocks, add up the blocks to get overall requirements.
As for where to get the parts, check out suppliers like Digikey, Jameco, Mouser, etc. Just google "electronic parts" and you'll find them. All of the big suppliers will send you free catalogs, which are nice to have on hand for ideas & inspiration.
Lastly, if you'll be dedicating an Arduino board to this project, you may want to use the Mega instead of the Duemilanove. It has a lot more expandability.
I would look into using registers such as the 74374, used with a decoder such as the 74154 you can get a large amount of individually addressable inputs or outputs from a relatively few number of pins.
the is also shift registers, which would require even fewer pins to drive, but you have to clock out the entire sequence every time you want to change a single led.
I need so many LEDs because I need an 8x8 button/led combo matrix (like the monome) plus extra status LEDs and buttons for miscellaneous stuff. I don't know what LEDs to buy though. Not sure whether I should just go with the cheap 25pc LED kit from Sparkfun to save on shipping, or whether or not it would be cheaper to get stuff off Mouser or Digikey. I also don't really have a good idea of how bright certain LEDs are going to be.
Also, I don't really understand what benefits an LED driver chip offers over a register. Is it just built to accomodate higher loads? I guess the simplest explanation of the project is that this is going to be a whole lot of LED/pushbutton pairs so that I can adjust and monitor the state of my live performance software quickly. The LEDs need to be bright enough to be clearly visible in moderate indoor lighting.
If you're located in the U.S., and you need relatively inexspensive LEDs to prototype with, you can usually find a good selection at any good sized Radio Shack store. They have them in the component drawers.
Given the number of shapes, sizes, colors, current draw, lumens output, pricing, availability, etc., it's not really practical to tell you what to buy. I would look at some catalogs for ideas on what might work, as well as considering what best fits your end product. But in general, the bigger suppliers will typically give you the best prices.
You should also consider using switches that have the led built in. This will save you the trouble of duplicating something that already exists, as well as trying to keep track of both led & button state for each switch.
Isn't Radioshack ridiculously expensive? And pushbutton switches with embedded LEDs run for about 3$ a pop. I don't have 300$ to spend on switches alone. If you know of somewhere where I can get these for cheap, let me know.
Isn't Radioshack ridiculously expensive? And pushbutton switches with embedded LEDs run for about 3$ a pop. I don't have 300$ to spend on switches alone. If you know of somewhere where I can get these for cheap, let me know.
This project is fairly complicated as a first Arduino project.
I would start out with a simple proof of concept (and skills) prototype.
Make a small interface with say 8 sitches / leds. Figure out how to hook up and program everything, make it work so the LED's have the brigthness you want, test it. You can always recycle the components for your real thing.
When everything is working to your satisfaction, scale it up. I would go for some kind of modular approach.
This way you dont run the risk of ending up with a lot of LED's that are the wrong kind, a lot of switches that don't work, a lot of current limiting resistors for the LED's that are the wrong value etc. etc.
Things you need to know about before starting:
switch debouncing, EXTREAMLY important for a musical project.
pull up / down resistors for switches, a must to understand.
current limiting resistors for the LED's.
total current consumption for your project. more than 100 LED's will require a serious power supply if many of them are on at the same time.
@zoomkat: Have you looked at the prices of illuminated pushbutton switches on Digikey/Mouser? If I wanted to spend $300+, I would just buy a Monome kit.
@MikMo: Yeah, I'll probably end up doing that. I don't have enough cash right now to order everything I would need anyway. I'm just going to pick up some stuff for my parallel EEPROM reader/writer and a couple of components here and there to mess around and prototype with in the meanwhile. Then maybe I can save up enough to do a 256 LED matrix.
Also, I have decided how I am going to construct the LED buttons. My GF actually came up with this. As an artist, she's amazing at finding weird, awesome crap to re-purpose.
You know those capsules that cheap vending machine toys come in? The small ones? You can buy those in bulk for super cheap. (1000 for $40, for instance)
Sandpaper the capsule to diffuse the light from the LED, glue the base of the capsule on permanently, drill a hole in the base so that the LED can fit through, and mount a momentary switch on the side to be pressed down by the base of the capsule.
Then all that's left is to build a plywood/acrylic cover for the capsule button tops to stick out of.
I absolutely love the idea of using the capsules as buttons.
It's going to be a lot of work, but you will have a totally unique interface.
Don't forget that you can by bulk switches and LED's on ebay. I bought 100 blue LED's way back when they were stll very expencieve and saved a bundle by bying from ebay.
The samll tactile switches are cheap, especially if you buy bulk.
Just google a bit to make sure you by from an eBay seller with a good reputation.
Please post your progress in the exibition forum.
EDIT: a little tip, in stead of sanding all the capsules, i think that you can get a spray laquer that will give you a frosted look, might be a lot easier.
Wow! That's cheap. I'm definitely going to use ebay for this. That works beautifully too, since the shipping is cheaper AND Digikey doesn't accept Paypal. Thank you so much for the help and info. I'm glad you like the idea, and I will make sure to keep everyone posted.
:edit: Just bought my Arduino and spent my remaining $20 Paypal balance on 100 6mm momentary switches, 100 18000mcd green LEDs, 5 SI/SPO shift registers and 4 multiplexer/demultiplexer chips. All of it should arrive within the next two weeks. I'm quite excited. Also, I get a whole bunch of free resistors with my LEDs. Thanks ebay/MikMo! :/edit:
Are you sure you want to use tactile switches for a musical device? They can be annoying to push. I think it would be nice if you could use those rubbery squishy buttons. No idea what they are called, though. Like the ones in keypads, tv remotes, video game controllers... Also, perhaps this could help you.
I'd like to know where your getting those bubble capsules..... i wouldnt mind ordering a thousand myself. great for little hobby projects to protect circuits, could put some rocks in it, sink a RGB LED for my fish tank... and of course water proof it
@P_Wood: I believe that I've seen a few projects that use squishy buttons like that to depress tactile switches. I didn't spend much on the switches anyway, so if it doesn't work well, then I'll just find some other way to get input. I'm going to make a 4x4 or 2x2 test build before I construct the whole thing anyway. I've seen the Sparkfun button pads, but those can get expensive quick. Arrogant as I am, I believe that I can find a more economical way to build a Monome-type device.
@Lyght: They can be found with a quick search for "vending machine capsules." Here's a link to a site that supplies them, though I've seen them for cheaper:
(FYI, I haven't got any yet. I'll post an update if/when I find a really cheap place to order them.)