Arduino Nano - Micro SD Kaart

Deze handleiding laat u zien hoe u een Micro SD Kaart gebruikt met de Arduino Nano. In detail leert u:

Arduino Nano Micro SD Card

Hardware Benodigd

1×Official Arduino Nano
1×Alternatief: DIYables ATMEGA328P Nano Development Board
1×USB A naar Mini-B USB kabel
1×Micro SD Kaart
1×Micro SD Kaart Module
1×Jumper draden
1×USB 3.0 SD Kaart Lezer
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Breakout Uitbreidingsboard voor Arduino Nano
1×(Aanbevolen) Stromsplitter voor Arduino Nano

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 de Micro SD Kaart Module

De Micro SD Kaart Module vormt de verbinding tussen de Arduino Nano en een Micro SD Kaart. Deze module faciliteert de communicatie tussen beide, zodat de Arduino Nano toegang krijgt tot de Micro SD Kaart.

De Micro SD Kaart Module Pinout

Micro SD Card Module pinout

De Micro SD Kaart Module heeft 6 pinnen:

  • VCC pin: Deze moet verbonden zijn met de 5V pin van de Arduino.
  • GND pin: Deze moet verbonden zijn met de GND van de Arduino.
  • MISO pin: (Master In Slave Out) Deze moet verbonden zijn met de MISO pin van de Arduino.
  • MOSI pin: (Master Out Slave In) Deze moet verbonden zijn met de MOSI pin van de Arduino.
  • SCK pin: Deze moet verbonden zijn met de SCK pin van de Arduino.
  • SS pin: (Slave Select) Deze moet verbonden zijn met de pin die in de code van de Arduino Nano als SS pin is gespecificeerd.

Voorbereiding

Zorg ervoor dat de Micro SD Kaart geformatteerd is als FAT16 of FAT32 (zoek online voor meer informatie).

Aansluitschema

  • U kunt man-vrouw jumper draden gebruiken om de Micro SD Kaart module aan te sluiten op de Arduino Nano
Arduino Nano Micro SD Card Module wiring diagram

This image is created using Fritzing. Click to enlarge image

  • Of u kunt de Micro SD Kaart module in een breadboard steken en dan man-man jumper draden gebruiken
Arduino Nano Micro SD Card Module wiring diagram

This image is created using Fritzing. Click to enlarge image

Arduino Nano - Hoe een bestand te openen op de Micro SD Kaart en aan te maken als het niet bestaat

Arduino Nano Code

Snel stappenplan

  • Plaats de Micro SD Kaart in de Micro SD Kaart module.
  • Volg het aansluitschema om de Micro SD Kaart module met de Arduino Nano te verbinden.
  • Verbind de Arduino Nano met een computer via een USB kabel.
  • Open de Arduino IDE en selecteer het juiste board en poort.
  • Open de Seriële Monitor in de Arduino IDE.
  • Kopieer en plak onderstaande code in de Arduino IDE.
/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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() { }
  • Klik op de Upload knop in de Arduino IDE om de code te compileren en te uploaden naar de Arduino Nano.
  • Controleer de uitvoer in de Seriële Monitor bij de eerste uitvoering.
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  
  • De uitvoer die zal verschijnen in de Seriële Monitor bij volgende uitvoeringen:
COM6
Send
SD CARD INITIALIZED. arduino-nano.txt exists on SD Card.
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

Mogelijk ziet u geen uitvoer in de Seriële Monitor indien u de eerste upload doet voordat u de Seriële Monitor opent.

  • Verwijder de Micro SD Kaart uit de module.
  • Plaats de Micro SD Kaart in een USB SD Kaart lezer.
  • Verbind de USB SD Kaart lezer met de PC.
  • Controleer of het bestand aanwezig is.

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

De volgende code:

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

※ Notiz:

Standaard wordt de data toegevoegd aan het einde van het bestand. Als u de Arduino Nano opnieuw start met bovenstaande code, wordt de tekst opnieuw aan het bestand toegevoegd. Dit resulteert in dat er meerdere regels getoond worden in de Seriële Monitor zoals hieronder:

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

U kunt de Micro SD Kaart uit de module verwijderen en de inhoud ervan bekijken op uw computer met een USB SD Kaart lezer.

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

/* * Deze Arduino Nano code is ontwikkeld door newbiely.nl * Deze Arduino Nano code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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() { }
  • De uitvoer in de Seriële Monitor:
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:

Mogelijk ziet u extra regels in de Seriële Monitor als de inhoud van het bestand niet vooraf gewist is.

Arduino Nano - Hoe een bestand op de Micro SD Kaart te overschrijven

Standaard wordt de inhoud toegevoegd aan het einde van het bestand. De eenvoudigste manier om een bestand te overschrijven is door eerst het bestaande bestand te verwijderen en een nieuw bestand met dezelfde naam aan te maken.

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

U kunt de Micro SD Kaart uit de module verwijderen en de inhoud ervan bekijken op uw PC. Een USB SD Kaart lezer 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.

※ 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!