What happens when I run out of space?

I am planning a project that involves about 7 12v dc motors, a motor shield, a couple relays, a couple of h bridges (since the motor shield only supports 4 motors), a touch screen and an RTC. I know it seems like a lot, and I know that I'm going to need something more than 1 mega can offer. I was wondering what the next step would be from a mega? Would I begin to interface multiple 'duinos together? or should I sadly begin to look for something more robust? Thanks for the answers guys.

Consider using muliplexing, use of i2C expanders or SPI to increase the usefulness of current pins.

Just one example: add 8 I/O pins, only requires 2 from the arduino. 16 or 32 more require no more arduino pins.
http://compare.ebay.com/like/170652874134?var=lv&ltyp=AllFixedPriceItemTypes&var=sbar

That doesn't sound like anywhere near 54 IO pins, I count maybe 15, a Mega should do fine.


Rob

Use parallel shift registers, something like 74HC595. You use 3 pins from the arduino and get in return 8 outputs. You can daisy chain multiple shift registers to each other ( get 8 outputs * numbers registers) without increasing your original 3 wires. And their cheap.

Interestingly I too have a similar project where I need to be able to use 2 motor shields but only have room on an Arduino Uno to physically plug in one of these shields. I posted this on another thread and kind of got runaround answers as well. I believe that we are both in a very similar situation where it may be easier to be able to "link" 2 or more Arduino's using something like I2C in a Master / Slave configuration.

Have a Master Adruino that handles the requests and install the shields on slaves.

I am still playing with some code and ideas to make this fully functional. If I ever get it working I will post it.

Perhaps somebody on here will see this and post the missing link.

If you figure this out, would you mind posting you answer?

I have two Micro's working together to fly an RC airplane linked by serial connection. The Micros are linked to a Mega by radio link. You can do it if you can separate the tasks into logical groups. For example, on the airplane, one Micro has pilot duties (reads sensors and controls servos), the other has co-pilot duties (passes commands to pilot from the radio, and takes data from the pilot and records to the datalogger). The sky it the limit...

Are there tasks you can break up on your project?

Dave

As others have said, going to multiple processors with the processors communicating over a common bus (i2c, spi, etc.) might be the way to go.

Another way would be to stack multiple Adafruit motor/servo/stepper v2 shields. You can stack up to 32 shields to provide 64 servos or 128 dc motors. Adafruit Motor/Stepper/Servo Shield for Arduino v2 Kit [v2.3] : ID 1438 : $19.95 : Adafruit Industries, Unique & fun DIY electronics and kits

The relays you can put on to i2c/spi extender chips.