Can & Ethernet Shield on the same Arduino Mega 2560 but ...

Hi
I have to connect a Can & Ethernet shield on the same one Arduino Mega2560 but both shields use MISO / MOSI Pins (the SD Card also but I dont use first). With the CAN bus I connect the trainstaions ( Light, switches, etc.). On one Arduinoboard with CAN I send the trainyard layout and status via ethernetshield to a PC to visualisation on a WEB server / big display.

What can I do? Install on a protoshield an aditional MISO / MOSI - IC with DIP contacts? Can I use the same CAN Library (copy on it ans change the register and addresses) as the internal MISO / MOSI on Arduino Mega 2560.

The two Products that I have select on www.RobotShop.com :

  1. Arduino Ethernet Shield, Product Code: RB-Ard-11
  2. CAN-BUS Shield for Arduino, Product Code: RB-See-261

(That have also SPI Interface: CAN-BUS Shield - DEV-13262 - SparkFun Electronics)

The same Problem with I2C Bus the Arduino MEGA 2560 has only one I2C bus....
I prefere the 5V Board not the 3.3Volt
This ist the only one I2C Buscontroller that I have found: http://www.nxp.com/documents/application_note/AN10148.pdf
Same Question: Can I connect the chip on a address on the Arduino's addressbus after 0x2200h and can copy the original I2C library to library I2C Extern and change on it all hardware register and ports?

Any better solutions with Arduiono Mega 2560 5V?

Kind regards
TrainControl

The MISO/MOSI pins are part of the SPI bus so they are intended to be used by more than one device. You just have to take care that the CS/SS pins are separate for the two shields. On the CAN shield you can select between D9 and D10 for CS. Switch to D9 and you're fine.