Arduino Nano - Micro-SD-Karte

Dieses Tutorial zeigt dir, wie man die Micro-SD-Karte mit dem Arduino Nano verwendet. Im Detail lernen wir:

Arduino Nano Micro-SD-Karte

Erforderliche Hardware

1×Official Arduino Nano
1×Alternativ: DIYables ATMEGA328P Nano Development Board
1×USB-A-zu-Mini-B-Kabel
1×Micro-SD-Karte
1×Micro-SD-Karten-Modul
1×Verbindungskabel
1×(Optional) MicroSD-zu-SD-Speicherkarten-Adapter
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Breakout-Erweiterungsboard für Arduino Nano
1×(Empfohlen) Stromverteiler für Arduino Nano

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über Mikro-SD-Kartenmodul

Das Micro-SD-Kartenmodul ist eine Verbindung zwischen dem Arduino Nano und einer Micro-SD-Karte. Es erleichtert die Kommunikation zwischen den beiden, sodass der Arduino Nano auf die Micro-SD-Karte zugreifen kann.

Pinbelegung des Micro-SD-Kartenmoduls

Pinbelegung des Micro-SD-Karten-Moduls

Das Micro-SD-Kartenmodul hat 6 Pins:

  • VCC-Pin: Dieser Pin sollte mit dem 5V-Pin des Arduino verbunden werden.
  • GND-Pin: Dieser Pin sollte mit dem GND des Arduino verbunden werden.
  • MISO-Pin: (Master In Slave Out) Dieser Pin sollte mit dem MISO-Pin des Arduino verbunden werden.
  • MOSI-Pin: (Master Out Slave In) Dieser Pin sollte mit dem MOSI-Pin des Arduino verbunden werden.
  • SCK-Pin: Dieser Pin sollte mit dem SCK-Pin des Arduino verbunden werden.
  • SS-Pin: (Slave Select) Dieser Pin sollte mit dem im Arduino Nano-Code als SS-Pin angegebenen Pin verbunden werden.

Vorbereitung

Stellen Sie sicher, dass die Micro-SD-Karte entweder als FAT16 oder FAT32 formatiert ist (suchen Sie online nach weiteren Informationen).

Verdrahtungsdiagramm

  • Sie können männlich-zu-weibliche Jumperdrähte verwenden, um das Micro-SD-Kartenmodul mit dem Arduino Nano zu verbinden.
Arduino Nano Micro-SD-Kartenmodul Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

  • Oder du kannst das Micro-SD-Kartenmodul auf das Steckbrett stecken und dann die M/M-Jumperdrähte verwenden.
Arduino Nano Mikro-SD-Kartenmodul Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Nano und andere Komponenten mit Strom zu versorgen.

Arduino Nano – Wie man eine Datei auf einer microSD-Karte öffnet und erstellt, falls sie nicht existiert

Arduino Nano Code

Schnelle Schritte

  • Stecken Sie die Micro-SD-Karte in das Micro-SD-Kartenmodul.
  • Folgen Sie dem Verdrahtungsdiagramm, um das Micro-SD-Kartenmodul mit dem Arduino Nano zu verbinden.
  • Verbinden Sie den Arduino Nano mit einem Computer über ein USB-Kabel.
  • Öffnen Sie die Arduino-IDE und wählen Sie das passende Board und den passenden Port aus.
  • Öffnen Sie den seriellen Monitor in der Arduino-IDE.
  • Kopieren Sie den untenstehenden Code in die Arduino-IDE und fügen Sie ihn dort ein.
/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-micro-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 File myFile; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); while (1); // don't do anything more: } Serial.println(F("SD CARD INITIALIZED.")); if (!SD.exists("arduino.txt")) { Serial.println(F("arduino.txt doesn't exist. Creating arduino.txt file...")); // create a new file by opening a new file and immediately close it myFile = SD.open("arduino.txt", FILE_WRITE); myFile.close(); } // recheck if file is created or not if (SD.exists("arduino.txt")) Serial.println(F("arduino.txt exists on SD Card.")); else Serial.println(F("arduino.txt doesn't exist on SD Card.")); } void loop() { }
  • Klicken Sie auf die Hochladen-Schaltfläche in der Arduino IDE, um den Code zu kompilieren und auf den Arduino Nano hochzuladen.
  • Überprüfen Sie den seriellen Monitor auf die Ausgabe der ersten Ausführung.
COM6
Send
SD CARD INITIALIZED. arduino-nano.txt doesn't exist. Creating arduino-nano.txt file... arduino-nano.txt exists on SD Card.
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Die Ausgabe, die im Serial Monitor für nachfolgende Ausführungen erscheinen wird
COM6
Send
SD CARD INITIALIZED. arduino-nano.txt exists on SD Card.
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

Sie können die Ausgabe im seriellen Monitor möglicherweise nicht beobachten, wenn der erste Upload erfolgt, bevor Sie den seriellen Monitor öffnen.

  • Entfernen Sie die Micro-SD-Karte aus dem Modul.
  • Stecken Sie die Micro-SD-Karte in einen USB-SD-Kartenleser.
  • Schließen Sie den USB-SD-Kartenleser an den PC an.
  • Überprüfen Sie, ob die Datei vorhanden ist oder nicht.

Arduino Nano - Wie man Daten in eine Datei auf einer Micro-SD-Karte schreibt und daraus liest

Der folgende Code:

  • Speichert Daten in eine Datei
  • Liest den Inhalt der Datei Zeichen für Zeichen aus und zeigt ihn im seriellen Monitor an
/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-micro-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 File myFile; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); while (1); // don't do anything more: } Serial.println(F("SD CARD INITIALIZED.")); // open file for writing myFile = SD.open("arduino.txt", FILE_WRITE); if (myFile) { myFile.println("Created by ArduinoGetStarted.com"); // write a line to Arduino myFile.println("Learn Arduino and SD Card"); // write another line to Arduino myFile.close(); } else { Serial.print(F("SD Card: error on opening file arduino.txt")); } // open file for reading myFile = SD.open("arduino.txt", FILE_READ); if (myFile) { while (myFile.available()) { char ch = myFile.read(); // read characters one by one from Micro SD Card Serial.print(ch); // print the character to Serial Monitor } myFile.close(); } else { Serial.print(F("SD Card: error on opening file arduino.txt")); } } void loop() { }
  • Der serielle Monitor zeigte den Inhalt der Datei an.
COM6
Send
Created by ArduinoGetStarted.com Learn Arduino Nano and SD Card
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

Standardmäßig werden die Daten am Ende der Datei hinzugefügt. Wenn Sie den Arduino Nano mit dem oben gezeigten Code neu starten, wird der Text erneut in die Datei eingefügt. Dadurch wird der serielle Monitor mehr Zeilen anzeigen, wie folgt:

COM6
Send
Erstellt von ArduinoGetStarted.com Lernen Sie Arduino Nano und SD-Karte Erstellt von ArduinoGetStarted.com Lernen Sie Arduino Nano und SD-Karte
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Sie können die Micro-SD-Karte aus dem Modul entfernen und ihren Inhalt auf Ihrem Computer mit einem USB-SD-Kartenleser anzeigen.

Arduino Nano - Wie man eine Datei auf einer Micro-SD-Karte Zeile für Zeile liest

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-micro-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 File myFile; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); while (1); // don't do anything more: } Serial.println(F("SD CARD INITIALIZED.")); // open file for writing myFile = SD.open("arduino.txt", FILE_WRITE); if (myFile) { myFile.println("Created by ArduinoGetStarted.com"); // write a line to Arduino myFile.println("Learn Arduino and SD Card"); // write another line to Arduino myFile.close(); } else { Serial.print(F("SD Card: error on opening file arduino.txt")); } // open file for reading myFile = SD.open("arduino.txt", FILE_READ); if (myFile) { int line_count = 0; while (myFile.available()) { char line[100]; // maximum is 100 characters, change it if needed int line_length = myFile.readBytesUntil('\n', line, 100); // read line-by-line from Micro SD Card line_count++; Serial.print(F("Line ")); Serial.print(line_count); Serial.print(F(": ")); Serial.write(line, line_length); // print the character to Serial Monitor // \n character is escaped by readBytesUntil function Serial.write('\n'); // print a new line charactor } myFile.close(); } else { Serial.print(F("SD Card: error on opening file arduino.txt")); } } void loop() { }
  • Das Ergebnis, das im seriellen Monitor angezeigt wird.
COM6
Send
SD CARD INITIALIZED. Line 1: Created by ArduinoGetStarted.com Line 2: Learn Arduino Nano and SD Card
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

Sie können zusätzliche Zeilen im seriellen Monitor sehen, wenn der Inhalt der Datei vorher nicht gelöscht wird.

Arduino Nano - Wie man eine Datei auf einer Micro-SD-Karte überschreibt

Standardmäßig wird der Inhalt am Ende der Datei hinzugefügt. Der einfachste Weg, eine Datei zu überschreiben, besteht darin, die vorhandene Datei zu löschen und eine neue mit demselben Namen zu erstellen.

/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-micro-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 File myFile; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); while (1); // don't do anything more: } Serial.println(F("SD CARD INITIALIZED.")); SD.remove("arduino.txt"); // delete the file if existed // create new file by opening file for writing myFile = SD.open("arduino.txt", FILE_WRITE); if (myFile) { myFile.println("Created by ArduinoGetStarted.com"); // write a line to Arduino myFile.println("Learn Arduino and SD Card"); // write another line to Arduino myFile.close(); } else { Serial.print(F("SD Card: error on opening file arduino.txt")); } // open file for reading myFile = SD.open("arduino.txt", FILE_READ); if (myFile) { while (myFile.available()) { char ch = myFile.read(); // read characters one by one from Micro SD Card Serial.print(ch); // print the character to Serial Monitor } myFile.close(); } else { Serial.print(F("SD Card: error on opening file arduino.txt")); } } void loop() { }
  • Die Ausgabe, die im Serial Monitor angezeigt wird.
COM6
Send
SD CARD INITIALIZED. Created by ArduinoGetStarted.com Learn Arduino Nano and SD Card
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Arduino Nano neu starten
  • Überprüfen Sie, ob der Inhalt der Datei im Serial Monitor angezeigt wird oder nicht.

Sie können die Micro-SD-Karte aus dem Modul entfernen und deren Inhalte auf Ihrem PC ansehen. Dafür wird ein USB-SD-Kartenleser benötigt.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!