Arduino - Variabele schrijven naar Micro SD-kaart

In deze tutorial gaan we leren hoe u met Arduino een variabele kunt schrijven naar een Micro SD-kaart. We behandelen in detail:

Om de key-value van de Micro SD-kaart te lezen en om te zetten naar int, float of string, zie Arduino - Configuratie lezen van SD-kaart

Arduino Micro SD Card

Hardware Vereist

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×Micro SD-kaart
1×Micro SD-kaartmodule
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 de Micro SD-kaartmodule

Als u nog niet bekend bent met de Micro SD-kaartmodule (pinout, werking, programmeren enzovoort), leer er meer over in de Arduino - Micro SD-kaart tutorial.

Bedradingsschema

Arduino Micro SD Card Module Bedradingsschema

This image is created using Fritzing. Click to enlarge image

※ Notiz:

Als u een Ethernet Shield of een ander shield gebruikt met een ingebouwde Micro SD-kaarthouder, hoeft u de Micro SD-kaartmodule niet te gebruiken. U hoeft dan alleen de Micro SD-kaart in de houder op het shield te plaatsen.

Arduino - Hoe een variabele naar een bestand op de Micro SD-kaart te schrijven

De onderstaande code doet het volgende:

  • Een int-variabele schrijven naar de Micro SD-kaart
  • Een float-variabele schrijven naar de Micro SD-kaart
  • Een stringvariabele schrijven naar de Micro SD-kaart
  • Een char-array schrijven naar de Micro SD-kaart
  • Een byte-array schrijven naar de Micro SD-kaart
/* * 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-write-variable-to-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 File myFile; int myInt = -52; float myFloat = -12.7; String myString = "HELLO"; char myCharArray[] = "ArduinoGetStarted.com"; byte myByteArray[] = {'1', '2', '3', '4', '5'}; 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.")); Serial.println(F("--------------------")); 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(myInt); // write int variable to SD card in line myFile.println(myFloat); // write float variable to SD card in line myFile.println(myString); // write String variable to SD card in line myFile.println(myCharArray); // write char array to SD card in line myFile.write(myByteArray, 5); myFile.write("\n"); // new line for (int i = 0; i < 5; i++) { myFile.write(myByteArray[i]); // new line if (i < 4) myFile.write(","); // comma } myFile.write("\n"); // new line 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() { }

Snelle stappen

  • Zorg dat de Micro SD-kaart is geformatteerd als FAT16 of FAT32 (zoek online op hoe dat moet)
  • Kopieer de bovenstaande code en open deze in de Arduino IDE
  • Klik op de Upload knop in Arduino IDE om de code naar de Arduino te uploaden
  • Bekijk het resultaat in de Seriële Monitor.
COM6
Send
SD CARD INITIALIZED. -------------------- -52 -12.70 HELLO ArduinoGetStarted.com 12345 1,2,3,4,5
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Haal de Micro SD-kaart los van de Micro SD-kaartmodule
  • Steek de Micro SD-kaart in een USB SD-kaartlezer
  • Verbind de USB SD-kaartlezer met de pc
  • Open het bestand arduino.txt op uw pc, het ziet er hieronder zo uit
Arduino schrijft variabele naar Micro SD-kaart

Arduino - Hoe een key-value naar een bestand op de Micro SD-kaart te schrijven

/* * 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-write-variable-to-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 File myFile; int myInt = -52; float myFloat = -12.7; String myString = "HELLO"; char myCharArray[] = "ArduinoGetStarted.com"; byte myByteArray[] = {'1', '2', '3', '4', '5'}; 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.")); Serial.println(F("--------------------")); 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.print("myInt="); // write key to SD card myFile.println(myInt); // write int variable to SD card in line myFile.print("myFloat="); // write key to SD card myFile.println(myFloat); // write float variable to SD card in line myFile.print("myString="); // write key to SD card myFile.println(myString); // write String variable to SD card in line myFile.print("myCharArray="); // write key to SD card myFile.println(myCharArray); // write char array to SD card in line myFile.print("myByteArray="); // write key to SD card myFile.write(myByteArray, 5); myFile.write("\n"); // new line myFile.print("myByteArray2="); // write key to SD card for (int i = 0; i < 5; i++) { myFile.write(myByteArray[i]); // new line if (i < 4) myFile.write(","); // comma } myFile.write("\n"); // new line 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() { }

Snelle stappen

  • Kopieer de bovenstaande code en open deze in Arduino IDE
  • Klik op de Upload knop in Arduino IDE om de code te uploaden naar Arduino
  • Bekijk het resultaat in de Seriële Monitor.
COM6
Send
SD CARD INITIALIZED. -------------------- myInt=-52 myFloat=-12.70 myString=HELLO myCharArray=ArduinoGetStarted.com myByteArray=12345 myByteArray2=1,2,3,4,5
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Haal de Micro SD-kaart los van de Micro SD-kaartmodule
  • Steek de Micro SD-kaart in een USB SD-kaartlezer
  • Verbind de USB SD-kaartlezer met de pc
  • Open het bestand arduino.txt op uw pc, het ziet er hieronder zo uit
Arduino schrijft key-value naar Micro SD-kaart

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 laat de stappen in praktijk zien.

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