Arduino - Micro SD Kaart

In deze tutorial leert u hoe u de Micro SD Kaart gebruikt met Arduino. In detail zullen we leren:

Arduino Micro SD Kaart

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×Micro SD Kaart
1×Micro SD Kaart Module
1×Jumperdraden
1×USB 3.0 SD Kaartlezer
1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over Micro SD Kaart Module

De Micro SD Kaart Module kan communiceren met Arduino en kan een Micro SD Kaart bevatten. Met andere woorden, de Micro SD Kaart Module vormt een brug tussen Arduino en de Micro SD Kaart.

Pinout

Micro SD Kaart Module Pinout

De Micro SD Kaart Module bevat 6 pins:

  • VCC pin: verbind met de 5V pin van de Arduino.
  • GND pin: verbind met de GND pin van de Arduino.
  • MISO pin: (Master In Slave Out) verbind met de MISO pin van de Arduino.
  • MOSI pin: (Master Out Slave In) verbind met de MOSI pin van de Arduino.
  • SCK pin: verbind met de SCK pin van de Arduino.
  • SS pin: (Slave Select) verbind met de pin die in de Arduino-code als SS pin is opgegeven.

Voorbereiding

  • Verbind de Micro SD Kaart met de PC via USB 3.0 SD Kaartlezer
  • Zorg ervoor dat de Micro SD Kaart geformatteerd is als FAT16 of FAT32 (zoek dit eventueel op via Google)

Aansluitschema

Arduino Micro SD Kaart Module Aansluitschema

This image is created using Fritzing. Click to enlarge image

※ Notiz:

Als u een Ethernet shield of een ander shield gebruikt dat een Micro SD Kaart houder bevat, hoeft u de Micro SD Kaart Module niet te gebruiken. U hoeft alleen de Micro SD Kaart in de houder op het shield te plaatsen.

Arduino - Hoe een bestand te openen op Micro SD Kaart en aanmaken indien niet bestaand

Arduino Code

Snelle Stappen

  • Plaats de Micro SD Kaart in de Micro SD Kaart module
  • Maak de bekabeling tussen de Micro SD Kaart module en Arduino volgens bovenstaand aansluitschema
  • Verbind de Arduino met de PC via USB kabel
  • Open Arduino IDE, selecteer het juiste board en poort
  • Open de Seriële Monitor in Arduino IDE
  • Kopieer onderstaande code en plak deze in de Arduino IDE
/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-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() { }
  • Klik op de Upload knop in Arduino IDE om de code naar de Arduino te uploaden
  • Het resultaat op de Seriële Monitor bij de eerste uitvoering
COM6
Send
SD CARD INITIALIZED. arduino.txt bestaat niet. Bestand arduino.txt wordt aangemaakt... arduino.txt bestaat op SD Kaart.
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Het resultaat op de Seriële Monitor bij volgende keren
COM6
Send
SD CARD INITIALIZED. arduino.txt bestaat op SD Kaart.
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

Het kan zijn dat u bij de eerste upload geen output ziet in de Seriële Monitor als deze niet geopend was vóór het uploaden.

  • Verwijder de Micro SD Kaart uit de module
  • Plaats de Micro SD Kaart in een USB SD Kaartlezer
  • Verbind de USB SD Kaartlezer met de PC
  • Controleer of het bestand bestaat

Arduino - Hoe data te schrijven/lezen van/naar een bestand op Micro SD Kaart

De onderstaande code doet het volgende:

  • Schrijft data naar een bestand
  • Leest de inhoud van een bestand karakter voor karakter en print dit naar de Seriële Monitor
/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-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() { }
  • De Seriële Monitor toont de inhoud van het bestand
COM6
Send
Created by ArduinoGetStarted.com Learn Arduino and SD Card
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

De data wordt standaard toegevoegd aan het einde van het bestand. Als u de Arduino herstart met bovenstaande code, wordt de tekst weer toegevoegd aan het bestand ⇒ de Seriële Monitor toont dan meer regels zoals hieronder:

COM6
Send
Created by ArduinoGetStarted.com Learn Arduino and SD Card Created by ArduinoGetStarted.com Learn Arduino and SD Card
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

U kunt ook de Micro SD Kaart uit de module halen en openen op uw PC om de inhoud te controleren (USB SD Kaartlezer is hiervoor vereist).

Arduino - Hoe een bestand op Micro SD Kaart regel voor regel te lezen

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-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() { }
  • Het resultaat op de Seriële Monitor
COM6
Send
SD CARD INITIALIZED. Line 1: Created by ArduinoGetStarted.com Line 2: Learn Arduino and SD Card
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

U kunt meer regels zien op de Seriële Monitor als de inhoud van het bestand eerder niet is verwijderd.

Arduino - Hoe een bestand op Micro SD Kaart te overschrijven

Standaard wordt de inhoud aan het einde van het bestand toegevoegd. De eenvoudigste manier om een bestand te overschrijven is: het bestaande bestand verwijderen en een nieuw bestand met dezelfde naam creëren.

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-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() { }
  • Het resultaat op de Seriële Monitor
COM6
Send
SD CARD INITIALIZED. Created by ArduinoGetStarted.com Learn Arduino and SD Card
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Herstart de Arduino
  • Controleer of de inhoud van het bestand op de Seriële Monitor is toegevoegd of overschreven.

U kunt ook de Micro SD Kaart uit de module halen en openen op uw PC om de inhoud te controleren (USB SD Kaartlezer is hiervoor vereist).

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en maakt het makkelijker om de stappen te volgen.

Reacties

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!