SD NON COMUNICA CON ETHERNET SHILD

Ciao a tutti sono marco e sono veramente alle prime armi con arduino .Ho acquistato da poco ARDUINO UNO E una scheda di rete shield ethernet con wiznet W5100 ,per prima cosa ho provato usando gli esempi (SD CARD INFO) la scheda SD ma senza nessuno risultato ,ho letto moltissimi post ma niente non riesco a farla funzionare ,sicuramente sbaglio qualcosa a scrivere nel programma cosi ho deciso di postarlo.. se qualcuno mi puoi aiutare .. grazie in anticipo .(la scheda sd è da 2 gb formattata in fat 32)
#include <SPI.h>
#include <SD.h>

Sd2Card card;
SdVolume volume;
SdFile root;
const int chipSelect = 4;
void setup() {  
Serial.begin(9600);
while (!Serial) {
 }
Serial.print("\nInitializing SD card...");

if (!card.init(SPI_HALF_SPEED, chipSelect)) {
Serial.println("initialization failed. Things to check:");
Serial.println("* is a card inserted?");
Serial.println("* is your wiring correct?");
Serial.println("* did you change the chipSelect pin to match your shield or module?");
return;
} else {
Serial.println("Wiring is correct and a card is present.");
}
Serial.print("\nCard type: ");
switch (card.type()) {
case SD_CARD_TYPE_SD1:
  Serial.println("SD1");
  break;
case SD_CARD_TYPE_SD2:
  Serial.println("SD2");
  break;
case SD_CARD_TYPE_SDHC:
  Serial.println("SDHC");
  break;
default:
  Serial.println("Unknown");
}  
if (!volume.init(card)) {
Serial.println("Could not find FAT16/FAT32 partition.\nMake sure you've formatted the card");
return;
}
uint32_t volumesize;
Serial.print("\nVolume type is FAT");
Serial.println(volume.fatType(), DEC);
Serial.println();

volumesize = volume.blocksPerCluster();  
volumesize *= volume.clusterCount();      
volumesize *= 512;                            
Serial.print("Volume size (bytes): ");
Serial.println(volumesize);
Serial.print("Volume size (Kbytes): ");
volumesize /= 1024;
Serial.println(volumesize);
Serial.print("Volume size (Mbytes): ");
volumesize /= 1024;
Serial.println(volumesize);
Serial.println("\nFiles found on the card (name, date and size in bytes): ");
root.openRoot(volume);
root.ls(LS_R | LS_DATE | LS_SIZE);
}
(QUESTO SOTTO L HO AGGIUNTO IO )
void loop(void) {
pinMode(10,OUTPUT);                  
digitalWrite(10, LOW);  
uint8_t r = card.init(SPI_HALF_SPEED, chipSelect);
}

@marcou: il cross-posting è proibito dal regolamento e tu stai discutendo di questo argomento già QUI ...
... ti prego di continuare nel thread che hai già aperto e dove ti sono state già date delle risposte. Grazie.

Questo thread viene quindi chiuso e successivamente cancellato.

Guglielmo