Arduino – SD card module
Hardware
Met deze SD card module kun je eenvoudig SD cards gebruiken met de Arduino, het heeft een handig “klik” systeem, de interface werkt op 3.3v of 5v via SPI.
Pinout
Pin: | Functie: |
---|---|
01 | GND |
02 | +3.3v |
03 | +5v |
04 | CS (Chip Select) |
05 | MOSI (Master Output, Slave Input) |
06 | SCK (CLOCK) |
07 | MISO (Master Input, Slave Output) |
08 | GND |
Informatie?
Het aansturen van een SD kaart gaat via het SPI protocol, er is daarvoor een handige bibliotheek geschreven: SD bibliotheek, deze wordt standaard met de Arduino software geïnstalleerd!
Aansluiten op de Arduino
Sluit de SD card module aan volgens onderstaand overzicht:
Arduino Pin: | SD Card module pin: |
---|---|
GND | GND |
+3.3v | +3.3v |
D4 | 04 (SDCS / CS / Chip Select) |
D11 | 05 (MOSI / Master Output, Slave Input) |
D12 | 06 (MISO / Master Input, Slave Output) |
D13 | 07 (SCK /CLOCK) |
Script
LET op: na Arduino IDE 1.0.x (bijvoorbeeld 1.6.x) is de SD bibliotheek geupdated en werkt niet meer met deze module, advies is om de SD library te downgraden via ArduinoIDE:
Sluit de SD cardmodule aan zoals hierboven aangegeven.
Met het voorbeeld “SD card info” kun je de SD kaart gegevens zien:
Bestand wegschrijven
Hier is een ander voorbeeld om een bestand “bestand.txt” aan te maken met daarin de tekst “Hallo Wereld!”:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <SD.h> const int chipSelect = 4; void setup() { // Configureer de pinmodes. if (!SD.begin(chipSelect)) { return; } String dataString = ""; // maak een bestand "bestand.txt" aan op de SD kaart. File dataFile = SD.open("bestand.txt", FILE_WRITE); if (dataFile) { // Schrijf de tekst "Hallo wereld!" in het bestand". dataFile.println("Hallo wereld!"); // Sluit het bestand af. dataFile.close(); } } void loop() { } |
Variabele bestandsnamen
De SD CARD bibliotheek ondersteunt geen “string” alleen “char(s)” karakters als variabelen voor de bestandsnaam, er is een mogelijkheid om een (variabele) bestandnaam te gebruiken op de volgende manier:
1 2 3 4 5 |
... char bestand[] = "WEERST.CSV"; ... File dataFile = SD.open(bestand, FILE_WRITE); ... |
Ps. de bestandsnaam op de SD CARD, moet in DOS 8.3 formaat zijn! (max 8 karakters en 3 voor de extensie)