Pages: [1]   Go Down
Author Topic: datum und zeit auf sd karte  (Read 1067 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 1
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ich habe mal wieder ein problem,
vor einiger zeit habe ich mir einen datenlogger gebaut, der 8 spannungen und 2 ströme mißt und auf sd speichert.
das gerät funktioniert einwandfrei.
bei den dateieigenschaften der datei auf sd habe ich festgestellt, das datum und zeit immer 01.01.2000 01:00 sind.
daraufhin habe ich mir ein neues sd shield mit rtc zugelegt.
die rtc habe ich in mein sketch mit eingebaut und läuft auch.
leider komme ich nicht weiter datum und zeit der rtc in die sd dateieigenschaften zu bringen.
ich hoffe ihr könnt mir helfen
gruß
ardubu
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 139
Posts: 2895
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

leider komme ich nicht weiter datum und zeit der rtc in die sd dateieigenschaften zu bringen.
ich hoffe ihr könnt mir helfen

Hast Du denn überhaupt eine SD-Library, die mit entsprechenden Library-Funktionen das Setzen von Dateidatum und -uhrzeit unterstützt?

Die FAT-Libraries für Mikrocontroller sind üblicherweise stark abgespeckte Libraries, die nur einen ganz minimalen Funktionsumfang haben, damit diese Libraries überhaupt mit so wenig RAM-Speicher laufen, wie sie z.B. ein Arduino UNO hat.
Logged

Offline Offline
Jr. Member
**
Karma: 1
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

nein, ich nutze die standard sd library, ich habe nur die utylity/sd2card.h geändert, damit ich den software spi nutzen kann, da das sd shield für den uno gebaut ist und ich es auf einem mega betreibe.
man müßte doch in dem sketch datum und uhrzeit für die sd karte übergeben können, ich übergebe ja auch den dateinamen.
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 106
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich habe ein ähnliches Problem.
Adlerdings nutze ich die Internetzeit und liegt nur daran das ich
mit der Programmiersprache noch Probleme habe.

Serial bekommst du die Zeit angezeigt?
Wie gibst du sie serial aus?

Bei mir wird die Zeit so zusammen gestellt:
Code:
void clockDisplay(){
  Serial.print(year());
  Serial.print("-");
  Serial.print(month());
  Serial.print("-");
  Serial.print(day());
  Serial.print(" ");
  printDigits(hour());
  Serial.print(":");
  printDigits(minute());
  Serial.print(":");
  printDigits(second());
}
// prints leading 0
void printDigits(int digits){
  if(digits < 10)
  Serial.print('0');
  Serial.print(digits);
}
Und serial so auch richtig ausgegeben:
Code:
void loop() {
  clockDisplay();
}
Nur wie ich das auf die SD bekomme weiß ich noch nicht.
Meine Sensor Daten schreibe ich mit sdfat so:
Code:
void loop() {
  int furnaceState = digitalRead(furnaceInPin);
 
  // open the file.
  if (!dataFile.open("HOM_1.CSV", O_RDWR | O_CREAT | O_AT_END)) {
    sd.errorHalt("opening HOM_1.CSV for write failed");
  }

  // if the file is available, write to it:
  dataFile.print(";16;");dataFile.println(furnaceState);

  // print to the serial port too:
  clockDisplay(); Serial.print(";16;");Serial.println(furnaceState);

  // close the file:
  dataFile.close();

delay(5000);
}
Nur
Code:
dataFile.clockDisplay();
Geht halt nicht.
Die Zeit per string schreiben sollte gehen, aber das möchte ich eigentlich nicht.
« Last Edit: December 16, 2012, 10:19:45 am by MrGlasspoole » Logged

Offline Offline
Jr. Member
**
Karma: 1
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

beim durchstöbern der SdFat.h habe herausgefunden, das datum und zeit mit einer callbackfunktion übergeben werden können. ich weiß nur noch nicht wie
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 139
Posts: 2895
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

beim durchstöbern der SdFat.h habe herausgefunden, das datum und zeit mit einer callbackfunktion übergeben werden können. ich weiß nur noch nicht wie

Siehe:
http://arduino.cc/forum/index.php?topic=72739.0
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 106
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

geht es nun um timestamps oder das Datum in die Datei zu schreiben?
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1419
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich glaube es geht wohl darum welches Erstellungsdatum und -zeit die Datei im Filesystem der SD-Karte hat, nicht darum eine Zeit in eine Datei zu schreiben.
Logged

Offline Offline
Jr. Member
**
Karma: 1
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

es geht um den timestamp, der link von jurs geht schon in die richtige richtung
Logged

Offline Offline
Jr. Member
**
Karma: 1
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

nachdem ich die rtclib.h eingebunden habe, funktioniert der link von jurs einwandfrei. smiley
Logged

Offline Offline
Jr. Member
**
Karma: 1
Posts: 83
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

nachdem ich den sketch aus dem link von jurs (läuft einwandfrei) und meinen (läuft einwandfrei) zusammen gestellt habe, läd der mega das ganze hoch, und es scheint auch zu funktionieren, aber ich bekomme einige fehlermeldungen, mit denen ich nichts anfangen kann.

avrdude: stk500v2_recv(): checksum error
avrdude: stk500v2_recv(): checksum error
avrdude: verification error, first mismatch at byte 0x043f
         0x97 != 0x01
avrdude: verification error; content mismatch

kann mir jemand weiterhelfen?
Logged

Pages: [1]   Go Up
Jump to: