> > Really? I'd have thought an 8x8 square with no external parts. Drive the > > rows with portD and read the columns with portB interrupt on change. I'm > > not familiar with MIDI, but certainly I'd have thought the other 17 IO > > lines would be enough to implement it. > > > > As others are fond of saying "engineering is the art of compromise" > > For midi ouput I think I need only one data pin, maybe an extra for > control so that's no biggy. But can I take stock 4x4 keypads and wire > them up 8x8? Problem is, I've never actually wired up a keypad. So while > I want it to be efficient, I'd rather use a less confusing set up then > anything else. Pin efficiency aside, what would be the most beginner > friendly? > Well, I'm only guessing about how your keypads are arranged, but the typical matrix arrangement will have one line for each column and one line for each row: | | | | -------+------+------+------+ | | | | | | | | | | | | -------+------+------+------+ | | | | | | | | | | | | -------+------+------+------+ | | | | | | | | | | | | -------+------+------+------+ Generally you set this up where the rows are hooked to input pins and have pull up resistors. Then you cycle through the columns pulling them low one at a time and checking for lows on the row inputs. (indicating a button pressed) (you could also hook it up the other way, with the rows as scanned outputs and the columns as inputs, but you get the idea :-) Seems easy enough to connect several keypads together to build a larger matrix, yes? As for beginner friendly, I cannot stress this enough, start small and add to it. Start with blinking an led, then go to four leds - hey that looks like scanning the keypad ;o) Building blocks, just add one piece at a time. Good luck -Denny -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu