Unstimmigkeiten Umweltmessstation ohne Internetanbindung

Ich versuche ein Datenloggerprogramm zu schreiben und war sehr erfreut, dazu eine passende Projektvorlage zu finden. Nur sind mir ein paar Ungereimtheiten aufgefallen,.
Im Vereibarungsteil wird folgende Definition getoffen:

File myfile;

In setup wird eine Datei geöffnet die so aussieht:

dataFiledata = SD.open("data.txt", FILE_WRITE);

Im Text vorher soll aber eine Datei mit dem Namen:

"data.csv"

geöffnet werden.

In der loop-Funktion ist wieder von myFile die Rede:

 myFile = SD.open("data.txt", FILE_WRITE);
    myFile.print(TEMP_ID);
    myFile.print(",");
    myFile.print(hdc.getTemperature());
    myFile.print(",");
    myFIle.println(timestamp)

Was stimmt nun?

Du kannst beides verwenden, wichtig ist nur, dass es gleich ist. Ich werde das Beispiel korrigieren damit es nicht zu Verwirrung kommt.

@mario
Hi Mario,

es ist zum Haare ausraufen. Ich habe das Beispielprogramm zur Umweltmessstation ohne Internatverbindung heruntergeladen und wollte es compilieren, da erscheint folgende Fehlermeldung:

class RV8523 has no member named ‚begin‘

Dann wollteich nachsehen welche Keywords diese Library hat und musste feststellen, dass diese Library scheinbar nicht existiert. Gebe ich RV8523 im Bibliotheksverwalter ein findet er nichts.
Was tun ?

Noch eine Frage im Programm findet sich die Zeile:
SD.begin(28)

Ist 28 der Chipselect-Eingang der SD-Karte?

@altprog du musst einmal auf das aktuellste Board Support Package aktualisieren (V1.4.2) dann sollte es gehen.

Genau Pin 28 ist der Chipselect für das SD-Bee.

@mario
Wie aktualisiert man das Package? Ich habe es gelöscht und nach einem Neustart wieder eingfügt. Aber das hat nichts gebracht.

Viel Grüße
Altprog

In der Arduino IDE unter Werkzeuge - Board - Boardverwalter nach senseBox suchen und dort die Version 1.4.2 auswählen und auf update drücken.

Folgendes Beispiel aus dem Projekt habe ich gerade getestet und ließ sich ohne Probleme kompilieren:

#include <SPI.h>
#include <SD.h>
#include "SenseBoxMCU.h"
#include <RV8523.h>

File myFile;
HDC1080 hdc;
RV8523 rtc;

// Sensor ID's mit eigenen austauschen
const char *TEMP_ID = "SENSORID";
const char *HUMI_ID = "SENSORID";

const long interval = 60000; // 60.000 Millisekunden = 60 Sekunden
long time_start = 0;
long time_actual = 0;

// Platzhalter für den Zeistempel
char timestamp[64];



void setup() {
  // put your setup code here, to run once:
  SD.begin(28);
  myFile = SD.open("data.txt", FILE_WRITE);
  myFile.close();

  rtc.begin();
  rtc.start();
  rtc.batterySwitchOver(1);

}


void loop() {
  time_start = millis();
  if (time_start > time_actual + interval) {
    time_actual = millis();
    uint8_t sec, min, hour, day, month;
    uint16_t year;
    //get time from RTC
    rtc.get(&sec, &min, &hour, &day, &month, &year);
    sprintf(timestamp, "20%02d-%02d-%02dT%02d:%02d:%02dZ",
            year,
            month,
            day,
            hour,
            min,
            sec);
    // Datei vorher öffnen
    myFile = SD.open("data.txt", FILE_WRITE);
    myFile.print(TEMP_ID);
    myFile.print(",");
    myFile.print(hdc.getTemperature());
    myFile.print(",");
    myFile.println(timestamp);
    // zweiter Messwert
    myFile.print(HUMI_ID);
    myFile.print(",");
    myFile.print(hdc.getHumidity());
    myFile.print(",");
    myFile.println(timestamp);
    // Datei nachher schliessen
    myFile.close();
  }

}

@mario

habe das Package aktuaisiert, danach lief der Compiler durch.
Danke !