Hallo!
Ich habe ein SD-Shield von Adafruit mit einem Uno und einer 16 GB microSD-Karte.
Darauf funktioniert der example-Code Datalogger mit der entsprechenden Anpassung des Pins (10 statt 4).
Jetzt habe ich den Code in mein Programm kopiert und bekomme dort die Meldung "error opening datalog.txt". Die SD-Karte wurde korrekt initialisiert, und auch der String, den ich schreiben möchte, wird seriell korrekt ausgegeben.
Mein Code ist recht lang, daher nur mal die vermutlich relevanten Abschnitte:
void setup() {
Wire.begin();
Serial.begin(9600);
Serial.print("Initializing SD card...");
// see if the card is present and can be initialized:
if (!SD.begin(SD_chipSelect)) {
Serial.println("Card failed, or not present");
// don't do anything more:
while (1);
}
Serial.println("card initialized.");
Serial.println("Data-Logging");
//setup_print();
//setup_string();
}
void loop() {
uint32_t aktMillis = millis(); // Zeitabgleich; wird ausgeführt, wenn Messintervall erreicht oder überschritten
if (aktMillis - meas_lastMillis >= intervall) {
// filt_meas();
// turb_meas();
// temp_meas();
meas_lastMillis = aktMillis;
String dataString = logging();
// open the file. note that only one file can be open at a time,
// so you have to close this one before opening another.
File dataFile = SD.open("datalog.txt", FILE_WRITE);
// if the file is available, write to it:
if (dataFile) {
dataFile.println(dataString);
dataFile.close();
}
// if the file isn't open, pop up an error:
else {
Serial.println("error opening datalog.txt");
}
Serial.println(dataString);
write_lastMillis = aktMillis;
}
}
Falls hier irgendwer eine Idee hat, woran das liegen könnte wäre das super!