Arduino-SD-Karte:Was es ist und wie man es verwendet
Führen Sie zahlreiche Arduino-Projekte durch? Und Sie müssen eine riesige Menge an wichtigen Informationen und Protokolldaten speichern? Die Lösung ist die Verwendung einer Arduino SD-Karte. Wie funktioniert es?
Dieser Artikel führt Sie durch alles, was Sie über das Gerät wissen müssen, z. B. was es ist, wie es angeschlossen wird, wie es verwendet wird und vieles mehr.
Lesen Sie weiter, um alles zu erfahren, was Sie wissen müssen.
Was ist SD in Arduino?
Arduino-SD-Karte
Bildquelle:Pixlr
Eine SD-Karte oder Micro-SD-Karte ist ein Gerät, das aus zwei Hauptkomponenten besteht. Und diese Komponenten helfen Ihnen, die Datenprotokollierung einfach in Ihr Arduino-Projekt einzubinden. Außerdem beträgt die Betriebsspannung der meisten Micro-SD-Karten 3,3 V.
Daher ist es unmöglich, das Gerät direkt an 5-V-Logikschaltungen anzuschließen. Kurz gesagt, wenn Sie versuchen, mit Spannungen über 3,6 V zu arbeiten, wird Ihre SD-Karte zerstört.
Aus diesem Grund verfügt ein Modul über einen Regler (onboard ultra-low dropout), der die aktuelle Spannung von 3,3 – 6 V auf etwa 3,3 V ändert.
Außerdem hat die SD-Karte einen Chip auf dem Modul (74LVC125A), der hilft, die Verbindungslogik von 3,3 – 5 V auf 3,3 V zu ändern. Sie können den Vorgang also als „Logikpegelverschiebung“ bezeichnen, was bedeutet, dass das Board mit zwei Mikrocontrollern wie Arduino verbunden werden kann:3,3 V und 5 V.
Komponenten von Mikrocontrollern
Wie verbindet man eine Standard-SD-Karte mit Arduino? Wir haben dafür zwei Methoden:SDIO-Modus und SPI-Modus.
Die meisten SD-Kartenmodule basieren auf dem SPI-Modus (weniger Overhead und niedrigere Geschwindigkeit). Und dies ist ein einfacher Modus für die meisten Mikrocontroller.
Speicherkartenmodule
Andererseits ist SDIO der schnellere Modus und gilt für verschiedene Geräte wie Mobiltelefone, Kameras usw. Dieser Modus ist jedoch tendenziell komplexer, da Sie vertrauliche Dokumente signieren müssen, bevor Sie fortfahren können.
Die Pinbelegung des Arduino SD-Kartenmoduls
Das SD-Kartenmodul verfügt über sechs Stifte am Adapter, darunter die folgenden:
- MOSI – SPI-Eingang
- CS – Signalstift für Chipauswahl zum Deaktivieren/Aktivieren der Leitung
- GND – Erdungsstift
- MISO – SPI-Ausgang
- VCC – +5V Stromversorgung
- SCK – Es empfängt Taktimpulse, um Daten zu synchronisieren
So bereiten Sie Ihre Micro-SD-Karte vor
Zuerst müssen Sie sich ein SD-Kartenmodul besorgen und Ihre Micro-SD-Karte einlegen. Platzieren Sie dann das Modul im Arduino, um die Karte richtig zu formatieren.
Stellen Sie dabei sicher, dass Sie die Karte basierend auf der Arduino-Bibliothek formatieren. Das heißt, Sie sollten die Speicherkarte auf FAT32 oder FAT16 formatieren.
Wenn Sie mit einer brandneuen SD-Karte arbeiten, haben die Hersteller diese möglicherweise mit einem FAT-Dateisystem vorformatiert. Es können jedoch Probleme mit dem Format der Karte auftreten. Die Faustregel lautet also, Ihre SD-Karte neu zu formatieren, egal ob neu oder alt.
Wie verbinden Sie die SD-Karte mit Arduino?
Verbindung der Arduino-Karte mit der SD-Karte
Bildquelle:Wikimedia Commons
Da Ihre SD-Karte einsatzbereit ist, können Sie sie an das SD-Breakout-Board anschließen.
Sie können also damit beginnen, das Micro-SD-Kartenmodul auf Ihrem Steckbrett zu platzieren. Verbinden Sie dann den VCC-Pin des Moduls mit den 5 V des Arduino. Verbinden Sie auch den GND-Pin mit Masse. Und was übrig bliebe, wären die Pins für die SPI-Kommunikation.
Typischerweise benötigen Micro-SD-Karten viel Datenübertragung. Sie funktionieren jedoch besser, wenn Sie die Karten an die Hardware-SPI-Pins des Mikrocontrollers anschließen. Und das liegt daran, dass die Pins (SPI) schneller sind, als den Schnittstellencode mit einem anderen Satz von Pins zu „bit-bangen“.
Außerdem ist es wichtig zu beachten, dass Arduino-Boards verschiedene SPI-Pins haben, die Sie entsprechend verbinden müssen. Zum Beispiel hat der Arduino Nano Pins wie 11 (MOSI), 12 (MISO) und 13 (SCK). Zusätzlich benötigen Sie einen vierten Pin:die SS-Leitung „Chip Select“.
Außerdem können Sie Pin 10 für den SS-Pin oder einen beliebigen anderen verwenden. Beim Umgang mit Arduino Mega sind die Pins jedoch unterschiedlich. Sie müssen also 53 (SS), 50 (MISO), 51 (MOSI) und 52 (SCK) verwenden. Sie können auch auf diese offizielle Dokumentation verweisen, wenn Sie andere Arduino-Boards verwenden. Dann können Sie Daten protokollieren.
Wie verwenden Sie einen Arduino-Code, um das SD-Kartenmodul mit CardInfo zu testen?
Es kann mühsam sein, mit einer SD-Karte zu kommunizieren. Aber das Gute daran ist, dass die Arduino IDE eine nette Bibliothek „SD“ enthält. Dadurch wird das Lesen und Beschreiben von SD-Karten erleichtert.
Führen Sie außerdem die Skizze aus und klicken Sie auf File→Examples→SD→card info. Anschließend benachrichtigt Sie die Skizze, wenn sie Ihre SD-Karte erkennt, indem sie einige Daten anzeigt. Dann können Sie zur Skizze zurückkehren und bestätigen, dass „Chip Select“ den richtigen digitalen Pin verwendet. Wenn nicht, ändern Sie den Pin auf 10.
Wenn alles gut aussieht, legen Sie die SD-Karte in das Modul und laden Sie die Skizze hoch. Außerdem sollten Sie sofort eine Eingabeaufforderung sehen, wenn Sie den Serial Monitor öffnen. Und die Eingabeaufforderung sollte FAT32 für den Datenträgertyp, die Größe und SDHC (SD High Capacity) als Kartentyp anzeigen.
Screenshot von Arduino-Sketch
Wenn es sich jedoch um einen Klon oder eine fehlerhafte SD-Karte handelt, sehen Sie möglicherweise SD1 als Kartentyp ohne Produkt- und Hersteller-ID. Damit können Sie versuchen, die Karte neu zu formatieren. Wenn Sie dasselbe Ergebnis erhalten, werfen Sie die Karte.
Screenshot von Arduino-Sketch
Zuletzt führen Sie die Skizze ohne Ihre SD-Karte erneut aus. Und die Skizze initialisiert die SD-Karte nicht. Interessanterweise erhalten Sie diese Meldung auch, wenn Ihre Karte beschädigt ist oder einen Verdrahtungsfehler aufweist.
Screenshot von Arduino-Sketch
Was ist, wenn die SD-Karte mit korrekter Verkabelung richtig formatiert ist? Die Eingabeaufforderung lautet:„Die Verkabelung ist korrekt, und eine Karte ist vorhanden.“
Lesen und Schreiben von Daten mit einer Arduino-SD-Karte
Wenn Ihre SD-Karte erfolgreich initialisiert wurde, können Sie mit dem nächsten Schritt fortfahren. Zunächst können Sie damit beginnen, den Code auf der Skizze hochzuladen. Wenn also alles in Ordnung ist, sehen Sie eine Anzeige mit der Aufschrift „Initialisierung abgeschlossen“.
Außerdem sehen Sie „Schreiben zum Testen abgeschlossen“. Wenn Sie also den Arduino zurücksetzen und die Skizze erneut ausführen lassen, werden die vorherigen Daten nicht überschrieben. Stattdessen werden die neuen Daten an die vorherigen Daten angehängt.
Was bedeutet der Kodex?
Teil 1
Die Skizze verfügt über die SPI-Bibliothek und die integrierte SD-Bibliothek. Dadurch können Sie einfach Ihre SD-Karte verwenden, um die SPI-Schnittstelle zu kontaktieren.
Dann müssen Sie den Arduino-Pin auswählen, den der CS mit dem Pin des Moduls verbindet. Und das liegt daran, dass der CS-Pin nicht festgelegt ist. Da Sie außerdem die Hardware-SPI-Bibliothek verwenden, müssen die Pins nicht angegeben werden, da sie fest sind.
Als nächstes müssen Sie ein Objekt namens myFile erstellen, das Ihnen hilft, Informationen auf Ihrer SD-Karte zu speichern.
Gehen Sie dann zum Abschnitt setup(), um die serielle Kommunikation für die Anzeige der Ergebnisse auf dem seriellen Monitor zu starten.
Danach benötigen Sie die Funktion SD.begin(), um Ihre Karte zu initialisieren. Wenn also Ihre Karteninitialisierung durchsegelt, ist die „if“-Anweisung wahr und die Zeichenfolge „Initialisierung erledigt“ erscheint auf dem seriellen Monitor. Andernfalls erscheint der „else String“:„Initialisierung fehlgeschlagen“ und das Programm wird beendet.
Dann sehen Sie, wie die Funktion SD.open() eine Datei öffnet:„test.txt“. Wenn Sie diese Datei nicht sehen, müssen Sie eine erstellen. Als Ergebnis wird die FILE_WRITE-Funktion im Lese-Schreib-Modus geöffnet.
Sobald die Datei geöffnet wird, zeigt der serielle Monitor die Meldung „Writing to test.txt..“ an. Außerdem sehen Sie „testing 1, 2, 3“ bei der Funktion myFile.println(). Anschließend müssen Sie die Funktion close() anwenden, um die in die Datei geschriebenen Daten zu speichern.
Teil 2
Jetzt müssen Sie die Datei überprüfen, um zu bestätigen, dass der Schreibvorgang erfolgreich war. Und Sie können dies tun, indem Sie die Funktion SD.open() als „test.txt“ verwenden. Später können Sie die Funktion myFile.read() verwenden, die aus der Datei liest und sie auf dem seriellen Monitor anzeigt.
Verwenden Sie danach die „while“-Schleife und die Funktion myFile.available(), um die Dateizeichen zu lesen. Und das liegt daran, dass die Funktion read() jedes Mal ein Zeichen liest. Schließen Sie dann die Datei.
Es ist nicht erforderlich, die Codes mehrmals auszuführen, da dies eine Demoskizze ist. Und alle Codes befinden sich in der setup()-Funktion, die einmal ausgeführt wird.
Wichtige Hinweise
1. Bei den Dateinamen wird nicht zwischen Groß- und Kleinschreibung unterschieden. WriteLog.TXT ist also dasselbe wie writelog.txt und WRITELOG.TXT.
2. Es ist möglich, Ihre Dateien in einem Verzeichnis zu öffnen.
3. Mit den Funktionen println() und print() können Sie Variablen, Strings usw. schreiben.
4. Die Read()-Funktion liest keine vollständige Zahl oder Zeile. Stattdessen wird jeweils ein Zeichen zurückgegeben.
5. Es ist wichtig, Dateinamen kurz zu halten, da die SD-Kartenbibliothek keine „langen Dateinamen“ unterstützt.
Häufig gestellte Fragen
Was ist die maximale Größe der Arduino SD-Karte?
Die maximale SD-Karte beträgt 2 GB.
Kann eine Arduino-SD-Karte beschädigt sein?
Ja es ist möglich. Und es könnte aufgrund von physischen Schäden, unsachgemäßer Verwendung, Herstellungsfehlern und Malware passieren.
Unterm Strich
Die Arduino SD-Karte ist ein praktischer Speicher, mit dem Sie Daten protokollieren können. Und es ist ziemlich einfach einzurichten, solange Sie genau verkabeln. Außerdem können Sie mit diesem Gerät bequem Daten lesen und schreiben.
Benötigen Sie Hilfe bei der Suche nach den besten Arduino SD-Karten für Ihre Projekte? Fühlen Sie sich frei, uns zu kontaktieren.
Industrietechnik
- Was ist 6G und wie schnell wird es sein?
- Was ist Pumpenkavitation und wie vermeide ich sie?
- Was ist Plasmaschneiden und wie funktioniert Plasmaschneiden?
- Was ist Löten? - Typen und wie man lötet
- Was ist Löten und wie wird Metall gelötet?
- Was ist Kupferlöten und wie wird es gemacht?
- Was ist MQTT und wie können Unternehmen der Industrieautomatisierung es nutzen?
- Was ist Lean Digital und wie wird es integriert?
- PIC18-Mikrocontroller:Was er ist und wie er verwendet wird
- Was ist ein Referenzdesignator und wie verwenden wir ihn in der Montage?