Hello! I'm new to the Arduino and to physical computing in general, though I'm pretty comfortable with soldering LEDs to sequencer chips; and I'm not that worried about the programming if I can get the hardware to work. After following instructions for the LED cube, and getting most of the demos to work, I've played with the blinkm, an accelerometer, sonar sensor, 75HC595, etc.
I'd like to interface into a number of different "black box" devices that don't have standard interface ports; I'd just like to be able to bypass the buttons; for example I've got several toy musical keyboards, etc. These don't have the same voltage as the Arduino (or each other), so I'd like to keep them physically separate but just be able to signal their buttons. In the case of the keyboards, it's easier and more difficult because they're matrix switches - 5x8 so 13 switches can signal 40 different notes, but I have to activate two switches at a time. I may also have this plugged into more than one "black-box" device at a time, say, multiple keyboards or keyboards plus children's toys plus smart greeting cards or whatever.
Looks like opto-isolators are the weapon of choice for this. I've got a few 1-channels, and a few 4-channels, and I've gotten them to work blipping LEDs and triggering keys, but...
-(obligatory am-i-doing-this-all-wrong question) Is there some other sort of switch I should be using for this? Relays and reed switches definitely seem like overkill; I was wondering if I could go in the other direction since the voltages are so low and use some simpler chip; I could probably even common-ground the devices if that would help.
-I've been running the input side directly from the arduino digital ports. Should I be using a resistor? I know I need a resistor with an LED, and the oi is just an led on a chip... I may also be putting an led (or a matrix of them!) in-line just for fun to blink when the switch gets hit.
-Is there such a thing as a 16-channel (or more) opto-isolator? Seems like 4 is the highest they go. The cost isn't too bad at $1.50-$2.00 apiece but they take up a lot of board space.
-Really what I'd like is a driver (like a MAX7219 if I could find one; I'm using 74HC595 at the moment) combined with an array of external switches, such that I could drive any combination of switches; 32 or 64 switches would be optimal. Otherwise I'll be building one of these that I can swap from device to device as I experiment.
-(finally) I'm still looking for clever ways to trigger the "frankenkeyboard" - array switches or sensors. I'm considering things like hammer-activated metal plate swiches, Theremin-style sensors, motion/range sensors, etc. So if you've read this far and can think of any "you've got to try this" switches or sensors, I'd love to hear suggestions!
Thanks in advance!