SD-Karten-Modul

Lesezeit: 5 Minuten

Das SD-Karten­mod­ul wird mit ein­er Micro-SD-Karte bestückt. Es kön­nen Verze­ich­nisse und Dateien erstellt und gelöscht wer­den. In eine Datei kön­nen fort­laufend Dat­en geschrieben wer­den, die Dat­en kön­nen zeilen­weise auch wieder gele­sen wer­den.

Anschluss am Arduino UNO

SPI

Benö­tig­te Bib­lio­thek:

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

Achte auf die Pin-Bele­gung des SD-Karten-Moduls!
Die SD-Karte muss mit FAT32 for­matiert sein!

Schlüs­sel­wortPara­me­terAktion
begin(Datenpin)Mod­ul starten

int DatenPin = 4;
begin(DatenPin);
exists(Dateiname)Vorhan­den­sein ein­er Datei prüfen

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

remove("Lottozahlen.txt");
close()Datei schließen

Datei.close();
open(Dateiname, Para­me­ter)
print()
print­ln()
O_CREAT -> Datei erstellen, wenn sie nicht existiert
O_WRITE -> in die Date schreiben
O_AT_END -> Start­po­si­tion zum Schreiben an das Ende der Datei set­zen
Dat­en in Datei schreiben

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

println("1 15 8 21 37 16 34");
open(Dateiname)
avail­able()
read()
readStringUntil(Zeichen)
O_RDONLY nur lesenDatei öff­nen und Dat­en 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)Verze­ich­nis erstellen

mkdir("Zahlen");
rmdir(Verzeichnisname)Verze­ich­nis löschen

rmdir("Zahlen");
ls(Parameter)LS_R Inhalt rekur­siv anzeigen
LS_SIZE Dateien mit Größe anzeigen
LS_DATE Datei mit Datum anzeigen
Die Para­me­ter kön­nen auch kom­biniert wer­den:
ls(LS_DATE | LS_SIZE | LS_R);
Inhalt der SD-Karte anzeigen

openNext(Dateiname, Größe)isDir() -> auf Vorhan­den­sein eines Verze­ich­niss­es prüfen
get­Name() -> Dateiname und ‑größe ermit­teln
file­Size() -> 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();
}

Jed­er Funk­tion muss der Name des SD-Karten-Moduls mit abschließen­den . vor­angestellt wer­den!

Beispiel:

Datei mit Zufall­szahlen schreiben, lesen und Datei löschen.

Beispiel:

Ord­ner und Dateien erstellen und löschen, Dat­en in eine Datei schreiben und sie wieder ausle­sen.

So sieht es aus:


Letzte Aktualisierung: Nov. 12, 2025 @ 19:15