Differences
This shows you the differences between two versions of the page.
— |
de:arduino:micro_sd_card [2022/04/21 15:00] () |
||
---|---|---|---|
1: | 1: | ||
+ | {{ : | ||
+ | ====== Micro SD-Kartenmodul ====== | ||
+ | Das Modul (Micro SD Card Adapter) ist ein Micro SD-Kartenlesermodul. Das Modul verwendet einen SPI-Bus, um mit dem Arduino zu kommunizieren. Sobald das Modul angeschlossen ist, kann auf das Dateisystem der in das Modul eingelegten Karte vom Arduino aus zugegriffen, | ||
+ | |||
+ | Eine Zusammenfassung des Arduino SPI finden Sie hier: [[de: | ||
+ | Eine Zusammenfassung der SPI-Lösungen von Aduino finden Sie hier: [[hu: | ||
+ | |||
+ | <WRAP center round tip 80%> | ||
+ | Die zur Verwendung im Modul vorgesehene SD-Karte muss im Voraus formatiert werden. Arduino verarbeitet auch die Formate FAT16 und FAT32, FAT16 wird jedoch trotzdem unterstützt. Für Dateinamen, die auf der SD-Karte verwendet werden, gilt das strengere 8.3-Format, d. H. Ein 8-stelliger Dateiname und eine 3-stellige Erweiterung. | ||
+ | |||
+ | Es ist wichtig, dass der Befehl **file.write()** erst auf die SD-Karte schreibt, wenn der vorherige Schreibvorgang entweder mit dem Befehl **close()** oder **flush()** geschlossen wurde. Der einfachste Weg, eine geöffnete Datei direkt nach dem Schreiben zu schließen, ist: | ||
+ | |||
+ | <hidden Software zeigen> | ||
+ | <code c> | ||
+ | File dataFile = SD.open(filename, | ||
+ | if (dataFile) { | ||
+ | dataFile.println(dataString); | ||
+ | dataFile.close(); | ||
+ | // print to the serial port too: | ||
+ | Serial.println(dataString); | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Micro SD-Kartenmodulanschlüsse ===== | ||
+ | Es gibt verschiedene Arten von Kartenmodulen auf dem Markt, hier werde ich nur dieses beschreiben. Bei Bedarf werde ich die Dokumentation erweitern. | ||
+ | |||
+ | ===== Anschließen eines Micro-SD-Kartenmoduls ===== | ||
+ | Die Kartenmodulanschlüsse sollten wie folgt mit dem Arduino UNO oder Mega verbunden werden: | ||
+ | |||
+ | ^Micro SD^Arduino Uno^Arduino Mega| | ||
+ | |CS|pin 4|pin 53| | ||
+ | |SCK|pin 13|pin 52| | ||
+ | |MOSI|pin 11|pin 51| | ||
+ | |MISO|pin 12|pin 50| | ||
+ | |VCC|5V|5V| | ||
+ | |GND|GND|GND| | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Eine Beschreibung des Micro SD-Kartenmoduls finden Sie auf der Arduino-Seite hier: | ||
+ | |||
+ | https:// | ||
+ | |||
+ | ===== Software / Bibliothek für Micro SD-Kartenmodule ===== | ||
+ | |||
+ | Die Bibliothek des Micro SD-Kartenmoduls kann hier heruntergeladen werden: https:// | ||
+ | |||
+ | Es gibt auch eine große Auswahl an Beispielprogrammen zum Download: https:// | ||
+ | |||
+ | <hidden "SD card datalogger" | ||
+ | <code c> | ||
+ | /* | ||
+ | SD card datalogger | ||
+ | |||
+ | This example shows how to log data from three analog sensors | ||
+ | to an SD card using the SD library. | ||
+ | |||
+ | The circuit: | ||
+ | | ||
+ | SD card attached to SPI bus as follows: | ||
+ | ** MOSI - pin 11 | ||
+ | ** MISO - pin 12 | ||
+ | ** CLK - pin 13 | ||
+ | ** CS - pin 4 (for MKRZero SD: SDCARD_SS_PIN) | ||
+ | |||
+ | created | ||
+ | modified 9 Apr 2012 | ||
+ | by Tom Igoe | ||
+ | |||
+ | This example code is in the public domain. | ||
+ | |||
+ | */ | ||
+ | |||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | const int chipSelect = 4; | ||
+ | |||
+ | void setup() { | ||
+ | // Open serial communications and wait for port to open: | ||
+ | Serial.begin(9600); | ||
+ | while (!Serial) { | ||
+ | ; // wait for serial port to connect. Needed for native USB port only | ||
+ | } | ||
+ | |||
+ | |||
+ | Serial.print(" | ||
+ | |||
+ | // see if the card is present and can be initialized: | ||
+ | if (!SD.begin(chipSelect)) { | ||
+ | Serial.println(" | ||
+ | // don't do anything more: | ||
+ | while (1); | ||
+ | } | ||
+ | Serial.println(" | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | // make a string for assembling the data to log: | ||
+ | String dataString = ""; | ||
+ | |||
+ | // read three sensors and append to the string: | ||
+ | for (int analogPin = 0; analogPin < 3; analogPin++) { | ||
+ | int sensor = analogRead(analogPin); | ||
+ | dataString += String(sensor); | ||
+ | if (analogPin < 2) { | ||
+ | dataString += ","; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // 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(" | ||
+ | |||
+ | // if the file is available, write to it: | ||
+ | if (dataFile) { | ||
+ | dataFile.println(dataString); | ||
+ | dataFile.close(); | ||
+ | // print to the serial port too: | ||
+ | Serial.println(dataString); | ||
+ | } | ||
+ | // if the file isn't open, pop up an error: | ||
+ | else { | ||
+ | Serial.println(" | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Quellen ===== | ||
+ | https:// | ||
+ | https:// | ||
+ | https:// |