I have a project that works on the UNO.
From bottom to top (Edited order after second post):
UNO R3
Arduino SD/Ethernet
Arduino GSM Shield
MAX 31855 K-Type Thermocouple Shield (ch4-7)
I am now porting this to the MEGA.
I have jumped pins 11->51, 12->50, 13->52 for the SD/Ethernet/Thermocouple SPI, and 2->69 for the GSM RX. When plugging them in all together, the thermocouple readings are garbage.
I have plugged them all in separately, they work fine. I have plugged in the GSM and the SD/Ethernet, they work fine. I have plugged in the GSM and the Thermocouple, they work fine. I have plugged in the SD/Ethernet and Thermocouple, I get garbage thermocouple readings. The SD still works fine when they both are plugged in.
Okay. I plugged all three in and turned off all calls to the ethernet and SD library, and commented out all code having to do with the SD/Ethernet shield. The Thermocouple STILL gets garbage readings.
Okay. Now again, without the SD/Ethernet libraries being used, I can get the data to fluctuate between garbage and no data by messing with the output pins. In my UNO code I define and turn high both the SD and Ethernet SS pins.
pinMode(4, OUTPUT); //SD card chip select
pinMode(10, OUTPUT); //Ethernet chip select
digitalWrite(4, HIGH); // SD Card not active
digitalWrite(10, HIGH); // Ethernet not active
The SD/Ethernet website says I must also turn on pin 53 as an output.
http://arduino.cc/en/Main/ArduinoEthernetShield
On the Mega, the hardware SS pin, 53, is not used to select either the W5100 or the SD card, but it must be kept as an output or the SPI interface won't work.
So currently I'm using:
pinMode(4, OUTPUT); //SD card chip select
pinMode(10, OUTPUT); //Ethernet chip select
pinMode(53, OUTPUT);
digitalWrite(4, HIGH); // SD Card not active
digitalWrite(10, HIGH); // Ethernet not active
But this doesn't work. I've tried many variations of those three pins but no luck.
So in conclusion, all shields work separately and together on the UNO. Every shield works on the MEGA by itself. However, anytime the Thermocouple Shield and SD/Ethernet shield, which both happen to use SPI are plugged in together, the Thermocouple shield doesn't work. Any suggestions? I will share any other information if needed.