Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

Arduino SD-Karte: Anschluss, Einrichtung & Datenspeicherung – Komplettanleitung

Grundlagen: SD-Karte am Arduino

SD- (bis 2 GB) und microSD-Karten (SDHC bis 32 GB, SDXC bis 2 TB – aber Arduino-Library limitiert oft auf FAT32 ≤ 32 GB) sind ideale Datenspeicher für Logging, Konfiguration, Audio, Bilder. Betriebsspannung der Karten: 3,3 V. Nie direkt an 5-V-Logik anschließen! Fertige Breakout-Boards enthalten:

SPI-Schnittstelle (Standard)

Arduino nutzt SPI-Mode (nicht SDIO – das erfordert Lizenz & komplexe Treiber). SPI-Pins sind hardwarefest:

SignalUno / NanoMegaLeonardo / MicroESP32 (Arduino Core)Pi Pico (Arduino Core)
MOSI1151ICSP-423 (VSPI)19 (SPI0)
MISO1250ICSP-119 (VSPI)16 (SPI0)
SCK1352ICSP-318 (VSPI)18 (SPI0)
CS (SS)10 (Standard)53 (Standard)10 (beliebig)5 (beliebig)17 (beliebig)

CS-Pin ist frei wählbar, muss aber im Code gesetzt werden (SD.begin(csPin)).

SD-Karte vorbereiten

  1. Karte in Modul stecken, Modul an Arduino anschließen.
  2. Karte auf FAT32 formatieren (Windows: Rechtsklick → Formatieren → FAT32; Linux: mkfs.vfat; macOS: Festplattendienstprogramm → MS-DOS/FAT).
  3. Immer neu formatieren – auch fabrikneue Karten können Clustergrößen/Partitionen haben, die die Arduino-SD-Library nicht mag.

Test mit CardInfo-Sketch

  1. IDE: Datei → Beispiele → SD → CardInfo öffnen.
  2. Prüfen: const int chipSelect = 10; (bzw. Ihr CS-Pin).
  3. Hochladen, Serial Monitor öffnen (9600 / 115200 Baud).
  4. Erfolg: „Initialization done.“, Kartentyp (SDHC), Dateisystem (FAT32), Größe.
  5. Fehler: „initialization failed“ → Verkabelung, CS-Pin, Karte, Formatierung prüfen.

Daten schreiben & lesen (Beispiel-Code)

#include <SPI.h>
#include <SD.h>

const int csPin = 10;  // Uno/Nano
File dataFile;

void setup() {
  Serial.begin(115200);
  while (!Serial);

  Serial.print("SD init... ");
  if (!SD.begin(csPin)) {
    Serial.println("FAILED!");
    while (1);
  }
  Serial.println("OK");

  // Schreiben
  dataFile = SD.open("log.txt", FILE_WRITE);
  if (dataFile) {
    dataFile.println("Messung 1: 23.5 C, 1013 hPa");
    dataFile.close();
    Serial.println("Geschrieben.");
  } else {
    Serial.println("Fehler beim Öffnen zum Schreiben!");
  }

  // Lesen
  dataFile = SD.open("log.txt");
  if (dataFile) {
    Serial.println("Inhalt:");
    while (dataFile.available()) {
      Serial.write(dataFile.read());
    }
    dataFile.close();
  }
}

void loop() { /* Logging-Logik hier */ }

Wichtige Hinweise zur SD-Library

Häufige Probleme & Lösungen

SymptomUrsache / Lösung
„Card failed, or not present“Verkabelung (SPI, CS, VCC/GND), Karte defekt, falscher CS-Pin, keine gemeinsame Masse
Initialisierung klappt, aber Schreiben fehlschlägtKarte schreibgeschützt (Schieber), voll, Formatfehler, falsche Library (SD vs. SdFat)
Daten „Müll“ beim LesenBaudrate Serial Monitor falsch, Datei nicht geschlossen, Binärdaten als Text gelesen
Karte wird erkannt, aber 0 Byte GrößeFormatierung nicht FAT32, Partitionstabelle defekt, Karte gefälscht/defekt

Erweiterte Library: SdFat (empfohlen für neue Projekte)

Fazit

Die Arduino-SD-Library macht Datenspeicherung einfach. Keys: 3,3-V-Pegel (Levelshifter!), FAT32-Formatierung, korrekter CS-Pin, close() nicht vergessen. Für professionelles Logging (lange Dateinamen, Verzeichnisse, große Karten, Geschwindigkeit) SdFat verwenden. Bei Fragen zur Integration helfen wir gerne.

Industrietechnik

  1. 6G erforscht: Die Zukunft ultraschneller Konnektivität
  2. Pumpenkavitation verhindern: Ursachen, Symptome und Vermeidung
  3. Plasmaschneiden erklärt: Funktionsweise, Vorteile und Tipps
  4. Löten erklärt: Verfahren, Lote, Schritt-für-Schritt-Anleitung & Entlöten
  5. Hartlöten erklärt: Metallteile sicher & effektiv verbinden
  6. Kupferhartlöten erklärt: Techniken & Tipps für starke, zuverlässige Verbindungen
  7. MQTT in der Industrieautomation: Praxishandbuch für Hersteller
  8. Lean Digital: Definition, Vorteile und nahtlose Integration
  9. PIC18 Mikrocontroller: Eigenschaften, Performance & Programmierung
  10. Referenzbezeichner verstehen: PCB-Bestückungsanschlüsse korrekt kennzeichnen