I'd like to start a project using the Arduino as an interface to a Software Defined Radio. The current computer software has lots of virtual buttons. How many different hardware buttons can the Arduino read input from? I'm thinking of at least a 12 key keypad and a few more. Also, can the Arduino do "shift" type button reading, i.e. "when these two buttons are pressed at the same time, do this"? I assume I'll need that for the keypad as well since it does a similar thing.
Thanks.
-J.R.
The maximum number of buttons is almost infinite. You can keep on adding extra hardware to expand the capability. For example on a project I have been doing I have added 4 extra chips and got an extra 64 input / output pins.
@Grumpy_Mike; you mentioned you added "4 extra chips". Do you mean you have 4 Arduinos running? If so are they each handling separate parts, or daisy-chained, etc? Or is there other hardware you added for the extra capabilities? Any pics of what you've done?
Thanks from a noob
-J.R.
You can connect extra chips that will permit N buttons to be connected to far fewer than N pins. Typically shift registers, but consider also something like a PS2 computer keyboard, which has 100+ keys with separate press/release messages coming out of two or three data pins.
(someone should do a tutorial on how to extract the controller from an old keyboard and re-connect it to a matrix of "real" buttons (of user-defined layout) instead of the original key matrix; old keyboard show up regularly in the trash, frequently just because they've been replaced with a newer version, and even when they're broken it is more likely to be the key matrix than the controller anyway...)
Do you mean you have 4 Arduinos running?
No it's one Arduino with 4 MCP23016 chips attached to just two or the Arduino pins. This is an interface known as the I2C bus. You can chain many such devices off this bus.
Thanks!