Arduino Nano - Variabele schrijven naar SD-kaart

Deze tutorial legt uit hoe u verschillende typen variabelen naar een Micro SD-kaart schrijft met Arduino Nano. We gaan specifiek in op:

Voor instructies over het uitlezen van key-value paren van de Micro SD-kaart en het omzetten naar int, float of string, verwijzen wij u naar Arduino Nano - Read Config from SD Card. Bekijk deze tutorial voor uitleg over het lezen en converteren van configuraties vanaf de Micro SD-kaart.

Arduino Nano Micro SD Card

Hardware Vereist

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-kaartmodule
1×Jumperdraden
1×USB 3.0 SD-kaartlezer
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 Micro SD-kaartmodule

Als u niet bekend bent met de Micro SD-kaartmodule, inclusief de pinout, werking en hoe u deze programmeert, kunt u meer informatie vinden in de tutorial Arduino Nano - Micro SD Card.

Bedradingsschema

  • U kunt mannelijke-naar-vrouwelijke jumperdraden gebruiken om de micro SD-kaartmodule te verbinden met de Arduino Nano
Arduino Nano Micro SD Card Module bedradingsschema

This image is created using Fritzing. Click to enlarge image

  • Of u plugt de micro SD-kaartmodule in een breadboard (experimenteerprint) en gebruikt dan mannelijke-naar-mannelijke jumperdraden
Arduino Nano Micro SD Card Module bedradingsschema

This image is created using Fritzing. Click to enlarge image

Arduino Nano - Hoe schrijft u een variabele naar een bestand op Micro SD-kaart

De volgende code:

  • Slaat een geheel getal (integer) op in een Micro SD-kaart
  • Slaat een kommagetal (float) op in een Micro SD-kaart
  • Slaat een string op in een Micro SD-kaart
  • Slaat een karakter array op in een Micro SD-kaart
  • Slaat een byte array op in een Micro SD-kaart
/* * 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-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 ervoor dat de Micro SD-kaart geformatteerd is als FAT16 of FAT32 (instructies hiervoor kunt u op Google vinden).
  • Kopieer de code en open deze in de Arduino IDE.
  • Druk op de Upload-knop in de Arduino IDE om de code naar de Arduino Nano te uploaden.
  • Bekijk vervolgens het resultaat in de Serial 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  
  • Verwijder de Micro SD-kaart uit de Micro SD-kaartmodule.
  • Plaats de Micro SD-kaart in een USB SD-kaartlezer.
  • Sluit de USB SD-kaartlezer aan op de pc.
  • Open het bestand arduino-nano.txt op uw pc; het ziet er als volgt uit.
Arduino Nano schrijft variabele naar Micro SD-kaart

Arduino Nano - Hoe schrijft u een key-value naar een bestand op Micro SD-kaart

/* * 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-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 code en open deze in de Arduino IDE.
  • Klik op de Upload-knop in de Arduino IDE om de code naar de Arduino Nano te sturen.
  • Bekijk het resultaat in de Serial 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  
  • Verwijder de Micro SD-kaart uit de Micro SD-kaartmodule.
  • Plaats de Micro SD-kaart in een USB SD-kaartlezer.
  • Steek de USB SD-kaartlezer in de pc.
  • Open het bestand arduino-nano.txt op uw computer, het ziet er als volgt uit:
Arduino Nano schrijft variabele 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.

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