Go Down

Topic: Frage zum SD Karte beschreiben? (Read 2204 times) previous topic - next topic

Doc_Arduino

Hallo,

okay, Entschuldigung an alle und Eisbaer die ich überfahren habe. Ich war nur in dem Moment sowas von gereizt. Da versucht man alles schön zu erklären und dann ... Naja, ich wollte mich mit niemanden streiten. Wirklich.

Ein Dummie wie Du das nennst ist auch niemand hier. Ich erwarte nur das man jeden Text erstmal komplett liest und nicht nur überfliegt. Das ist sicherlich nicht zu viel verlangt.

Zu Deiner Frage. Genau so ist das.

Tschau
Doc Arduino

Eisebaer

hi,

mein gott, die entschuldigung ist zwar nett, aber eine sooo dünne haut, daß ich das nicht aushalte, hab' ich auch nicht.

also überhaupt kein problem, liebe grüße

stefan

uwefed

Doc_Arduino, kein Problem.
Ich hab zwar keine Eisebaer-Haut, aber ich halte sowas auch aus.  ;) ;) 8) ;) ;)
Grüße Uwe

Doc_Arduino

Hallo,

dann ist ja zum Glück alles wieder gut.   ;)
Tschau
Doc Arduino

uwefed


Apus_Apus

Dann stelle ich hier auch mal eine Frage, zur SD-Karte. :.

Irgend wann will ich sie auch mal für die Waage benutzen.  :)
Bei dem angehängten Test-Sketch, werden Datalog.txt Files angelegt.

Nur warum bekommen die alle 01.01.2000 01:00  als Erstelldatum mit angehängt?

Gruß, Apus²

Code: [Select]

#include <SD.h>

// On the Ethernet Shield, CS is pin 4. Note that even if it's not
// used as the CS pin, the hardware CS pin (10 on most Arduino boards,
// 53 on the Mega) must be left as an output or the SD library
// functions will not work.
const int chipSelect = 10;

File dataFile;

void setup()
{
// Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  Serial.print("Initializing SD card...");
  // make sure that the default chip select pin is set to
  // output, even if you don't use it:
  pinMode(SS, OUTPUT);
 
  // see if the card is present and can be initialized:
  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
    // don't do anything more:
    while (1) ;
  }
  Serial.println("card initialized.");
 
  // Open up the file we're going to log to!
  dataFile = SD.open("datalog.txt", FILE_WRITE);
  if (! dataFile) {
    Serial.println("error opening datalog.txt");
    // Wait forever since we cant write data
    while (1) ;
  }
}

void loop()
{
  // make a string for assembling the data to log:
  String dataString = "";

  // read three sensors and append to the string:
  for (int analogPin = 0; analogPin < 3; analogPin++) {
    int sensor = analogRead(analogPin);
    dataString += String(sensor);
    if (analogPin < 2) {
      dataString += ",";
    }
  }

  dataFile.println(dataString);

  // print to the serial port too:
  Serial.println(dataString);
 
  // The following line will 'save' the file to the SD card after every
  // line of data - this will use more power and slow down how much data
  // you can read but it's safer!
  // If you want to speed up the system, remove the call to flush() and it
  // will save the file only every 512 bytes - every time a sector on the
  // SD card is filled with data.
  dataFile.flush();
 
  // Take 1 measurement every 500 milliseconds
  delay(500);
}

jurs


Nur warum bekommen die alle 01.01.2000 01:00  als Erstelldatum mit angehängt?


Um ein anderes Datum als das Default-Datum zu erhalten, müßtest Du
a) eine solche SD-Library verwenden, die das Setzen eine Datei Zeitstempels erlaubt und
b) die entsprechenden Funktionen in Deinem Sketch aufrufen, die den Zeitstempel setzen

Soweit eine kurze Google-Suche ergab, kann es die SdFat-Library über eine Callback-Funktion realisieren.

Die einfachere Variante ist, den Dateien stattdessen Namen zu geben, die gleichzeitig Zeitstempel sind (und auf die Zeitstempel zu pfeifen).

Z.B. für eine Log-Datei vom 15.03. 2013 einfach den Dateinamen "20130315.txt" vergeben, wenn Du eine Logdatei pro Tag haben möchtest. Wenn man solche Dateinamen nach Namen sortiert, sind sie gleichzeitig auch nach Datum sortiert, was das spätere Auffinden eines Datums in einer Dateiliste stark erleichtert. Den genauen Zeitstempel mit Uhrzeit loggst Du dann in den Log-Zeilen mit.

Go Up