Datalogger Code ändern

Dieses Problem bezieht sich im Prinzip auf das "Datalogger" Beispiel:

Der Code im Beispiel ist so geschrieben, dass Daten weiter am serial Monitor dargestellt werden wenn die SD entfernt wird. //soweit ok

Wird die SD wieder in den Slot gesteckt möchte ich gerne eine neue Datei (wie im setup) anlegen und beschreiben.

Wie mache ich das?
Ich benötige ja nun sowas wie eine abfrage ob SD vorhanden ist und um letzten durchlauf nicht vorhanden war

Wir reden von eine SD in Normalformat nicht Mini oder Micro???
Der SD-Sockel hat 2 Schalter; einen für den Schreibschutzschieber der Karte und einen für die Anwesenheit einer SD-Karte. Ich weiß jetzt nicht, ob Dein SD-Slot diese beiden Schalter benutzt und Du auf diese zugreifen kannst.

und um letzten durchlauf nicht vorhanden war

Mit einer Statusvariablen.

Würde zwischen dem Detektieren der SD-Karte und dem ersten Schreiben eine Pause einlegen.

Grüße Uwe

Hy Uwe,

sry für die späte Antwort. War ein paar Tage unterwegs...

uwefed:
Wir reden von eine SD in Normalformat nicht Mini oder Micro???

Ja , normale SD. Hier der Hersteller:

Eine Statusvariable habe ich eingebaut. War auch mein erster Gedanke :grinning:
Also in etwa so:

if (sdlastloop == 0  && SD.exists(filename))  {   //Check ob SD entfernt war und jetzt wieder da ist. Wenn ja = neue Datei
    for (uint8_t i = 0; i < 100; i++) {  
      filename[6] = i/10 + '0';
      filename[7] = i%10 + '0';
      if (! SD.exists(filename)) {  // only open a new file if it doesn't exist
        logfile = SD.open(filename, FILE_WRITE); 
        break;  // leave the loop!
      }
    }  
  }
  
  logfile = SD.open(filename, FILE_WRITE); //Datei mit den namen filename wird auf SD geöffnet 
  
  if (! SD.exists(filename)) {    //If the filename on SD doesn´t exists set lastloop=0
    sdlastloop = 0;
  }

Aber am Ziel bin ich damit wohl noch nicht.
Also selbes Ergebnis :confused:

Hallo,
das Problem bei Dir wird wohl das Root-Verzeichnis der SD sein.
Wenn Du die Karte gezogen hast, dann wird das nicht geschlossen.

Über eine irgendwann funktionierende Suche im Forum könnte man da einen Beitrag finden.
Da gibt es einen Patch/Sketch Schnipsel für die SD-Lib.
Gruß und Spaß
Andreas

Hy,

wieder wochen später...
DANKE Skobymobil!
Hab das Problem mit deiner Beschreibung gefunden. Liegt wohl an der SD Lib. Habe es jetzt noch nicht getestet aber es scheint logisch und funktioniert wohl...
Für alle die auch mit SD spielen hier der Link zum Code:

http://forum.arduino.cc/index.php?topic=46969.msg339113#msg339113

Gruß Stefan