I'm going to build a midi controlled analog effect pedal switcher. It basically has to receive midi commands from a foot controller (for instance Behringer FCB1010) and has to transfer these commands into switching relays and changing the value of digital potentiometers. It will have a small text based LCD screen and some push buttons to control simple functions/menus.
The software side is not yet my concern. I have experience with a PIC controller and interfacing it with ADCs and RS232 all done in assembler. Right now I'm going to do it with C which should be easier because of the availability of resources. For this reason I chose to buy a Arduino 2009 board.
My question relates more to how many ICs I can connect to the digital outputs/inputs of the chip. I will be using:
- MIDI-in (and maybe out so I like to keep it unused)
- 4 pins for a standard text based LCD
- Output shift registers for switching relays and general purpose outputs
- Several digital potentiometers: AD7376, AD5204
- Input shift register(s) to read keys or any future function
Is it possible to cascade all of these chips or would it be a better choice to give each type of chip its own digital pins? And would I need to use multiplexers?
In other words my questions is: What is the best topology for connecting these component to the Arduino board?