Datalogger

Tutta la tua setup() è una scopiazzatura mal riuscita, ci sono semplici esempi già scritti.
Questa una versione più corretta, non so se ti serve quel while(!Serial) si usa solo per Leonardo

const byte chipSelect = 10; //ArduinoNano
void setup() 
{ delay(1000);
  Serial.begin(9600);
  while (!Serial) ; // wait for serial port to connect. Needed for native USB port only
  Serial.println("Initializing SD card module datalogger");
  // see if the card is presente and can be initialized:
  if (! SD.begin(chipSelect)) 
  { Serial.println("Card failed, or not present");  
    while (1); // don't do anything more
  }
  Serial.println ("card initialized");
}