SD-Karten-Modul


SD-Karten-Modul

Das Modul wird über den ⇒SPI-Bus ange­schlos­sen.

Statt des SD-Kar­ten-Moduls kannst du auch ein ⇒Ether­net-Shield oder ein Daten­log­ger-Shield ver­wen­den.

Benö­tig­te Bibliothek:

Sketch ⇒ Biblio­thek ein­bin­den ⇒ Biblio­the­ken ver­wal­ten

Ach­te auf die Pin-Bele­gung des SD-Kar­ten-Moduls!
Die SD-Kar­te muss mit FAT32 for­ma­tiert sein!

Funktionen der Bibliothek SdFat

Schlüs­sel­wortPara­me­terAkti­on
begin(Datenpin)Modul star­ten

int DatenPin = 4;
begin(DatenPin);
exists(Dateiname)Vor­han­den­sein einer Datei prü­fen

exits("Lottozahlen.txt");
remove(Dateiname)Datei ent­fer­nen

remove("Lottozahlen.txt");
clo­se()Datei schlie­ßen

Datei.close();
open(Dateiname, Para­me­ter)
print()
println()
O_CREAT -> Datei erstel­len, wenn sie nicht exis­tiert
O_WRITE -> in die Date schrei­ben
O_AT_END -> Start­po­si­ti­on zum Schrei­ben an das Ende der Datei set­zen
Daten in Datei schrei­ben

open("Lottozahlen.txt", O_CREAT | O_WRITE | O_AT_END);

println("1 15 8 21 37 16 34");
open(Dateiname)
available()
read()
readStringUntil(Zeichen)
O_RDONLY nur lesenDatei öff­nen und Daten lesen

Datei = SD.open("Lottozahlen.txt", O_RDONLY);
// solange sich Zeilen in der Datei befinden ...
while (Datei.available())
{
  // ... werden sie gelesen und im Seriellen Monitor ausgegeben
  Serial.write(Datei.read());
}
mkdir(Verzeichnisname)Ver­zeich­nis erstel­len

mkdir("Zahlen");
rmdir(Verzeichnisname)Ver­zeich­nis löschen

rmdir("Zahlen");
ls(Parameter)LS_R Inhalt rekur­siv anzei­gen
LS_SIZE Datei­en mit Grö­ße anzei­gen
LS_DATE Datei mit Datum anzei­gen
Die Para­me­ter kön­nen auch kom­bi­niert wer­den:
ls(LS_DATE | LS_SIZE | LS_R);
Inhalt der SD-Kar­te anzei­gen

openNext(Dateiname, Grö­ße)isDir() -> auf Vor­han­den­sein eines Ver­zeich­nis­ses prü­fen
get­Na­me() -> Datei­na­me und -grö­ße ermit­teln
file­Si­ze() -> Grö­ße der Datei in Bytes
File Verzeichnis;
File Datei;
char Dateiname[20];

Verzeichnis.open("/");

while (Datei.openNext(&Verzeichnis, O_READ))
{
  Datei.getName(Dateiname, sizeof(Dateiname));
  Serial.print(Dateiname);

  if (Datei.isDir())
  {
    Serial.println("/");
  }
  else
  {
    Serial.print('\t');
    Serial.print(Datei.fileSize());
    Serial.println(" Bytes");
  }
  Datei.close();
}

Arduino UNO

Verzeichnis lesen mit ls

Verzeichnis lesen mit OpenNext

Datei lesen

Lege auf der SD-Kar­te eine Datei Zahlen.txt an und fül­le sie mit eini­gen Zah­len.

Daten in Datei schreiben und lesen

ESP32

Verzeichnis lesen mit ls

Verzeichnis lesen mit OpenNext

Datei lesen mit read

Datei lesen mit readStringUntil

Daten in Datei schrei­ben und lesen


Letzte Aktualisierung: Jan. 2, 2026 @ 10:10

Inhalt