ESP32 - Variabele naar SD-kaart schrijven

In deze tutorial verkennen we het proces van het schrijven van verschillende soorten variabelen naar een Micro SD-kaart met behulp van de ESP32. Specifiek behandelen we de volgende onderwerpen:

Deze tutorial biedt een uitgebreide gids voor het opslaan van verschillende typen variabelen op een Micro SD-kaart, waardoor veelzijdige dataopslag en -opvraging mogelijk is. Voor instructies over het lezen van sleutel-waarde paren van de Micro SD-kaart en het omzetten naar integer, float en string formaten, verwijzen we naar de tutorial ESP32 - Read Config from SD Card.

ESP32 Micro SD Card

Hardware Vereist

1×ESP32 ESP-WROOM-32 Ontwikkelingsmodule
1×USB-kabel Type-C
1×Micro SD-kaart
1×Micro SD-kaartmodule
1×Jumperdraden
1×USB 3.0 SD-kaartlezer
1×(Aanbevolen) Schroefklem Uitbreidingsboard voor ESP32
1×(Aanbevolen) Breakout Expansion Board for ESP32
1×(Aanbevolen) Stromsplitter voor ESP32

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

Bent u niet vertrouwd met de Micro SD-kaartmodule, inclusief de pinout, functionaliteit en programmering? Leer er meer over in de tutorial ESP32 - Micro SD Card.

Aansluitschema

ESP32 Micro SD Card Module Aansluitschema

This image is created using Fritzing. Click to enlarge image

※ Notiz:

Als u een Ethernet shield of een ander shield gebruikt met een 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.

ESP32 - Hoe een variabele naar een bestand op Micro SD-kaart schrijven

De onderstaande code doet het volgende:

  • Schrijft een int-variabele naar de Micro SD-kaart
  • Schrijft een float-variabele naar de Micro SD-kaart
  • Schrijft een stringvariabele naar de Micro SD-kaart
  • Schrijft een karakterarray naar de Micro SD-kaart
  • Schrijft een byte-array naar de Micro SD-kaart
/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-write-variable-to-sd-card */ #include <SD.h> #define PIN_SPI_CS 5 // The ESP32 pin GPIO5 File myFile; int myInt = -52; float myFloat = -12.7; String myString = "HELLO"; char myCharArray[] = "esp32io.com"; byte myByteArray[] = {'1', '2', '3', '4', '5'}; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { while (1) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); delay(1000); } } Serial.println(F("SD CARD INITIALIZED.")); Serial.println(F("--------------------")); SD.remove("/esp32.txt"); // delete the file if existed // create new file by opening file for writing myFile = SD.open("/esp32.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: Issue encountered while attempting to open the file esp32.txt")); } // open file for reading myFile = SD.open("/esp32.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: Issue encountered while attempting to open the file esp32.txt")); } } void loop() { }

Snel aan de slag

  • Als u ESP32 voor het eerst gebruikt, zie hoe u de omgeving opzet voor ESP32 in Arduino IDE.
  • Maak de bedrading zoals op de bovenstaande afbeelding.
  • Verbind de ESP32 met uw PC via een micro USB-kabel.
  • Open Arduino IDE op uw PC.
  • Selecteer het juiste ESP32-board (bijv. ESP32 Dev Module) en de juiste COM-poort.
  • Zorg ervoor dat de Micro SD-kaart is geformatteerd als FAT16 of FAT32 (Google dit indien nodig).
  • Kopieer de bovenstaande code en open deze in Arduino IDE.
  • Klik op de Upload-knop in Arduino IDE om de code naar de ESP32 te uploaden.
  • Bekijk het resultaat op de Serial Monitor.
COM6
Send
SD CARD INITIALIZED. -------------------- -52 -12.70 HELLO newbiely.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.
  • Steek de Micro SD-kaart in een USB SD-kaartlezer.
  • Verbind de USB SD-kaartlezer met de PC.
  • Open het bestand esp32.txt op uw PC, het ziet er ongeveer als volgt uit:
ESP32 schrijft variabele naar Micro SD-kaart

ESP32 - Hoe een sleutel-waarde paar naar een bestand op Micro SD-kaart schrijven

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-write-variable-to-sd-card */ #include <SD.h> #define PIN_SPI_CS 5 // The ESP32 pin GPIO5 File myFile; int myInt = -52; float myFloat = -12.7; String myString = "HELLO"; char myCharArray[] = "esp32io.com"; byte myByteArray[] = {'1', '2', '3', '4', '5'}; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { while (1) { Serial.println(F("SD CARD FAILED, OR NOT PRESENT!")); delay(1000); } } Serial.println(F("SD CARD INITIALIZED.")); Serial.println(F("--------------------")); SD.remove("/esp32.txt"); // delete the file if existed // create new file by opening file for writing myFile = SD.open("/esp32.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: Issue encountered while attempting to open the file esp32.txt")); } // open file for reading myFile = SD.open("/esp32.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: Issue encountered while attempting to open the file esp32.txt")); } } void loop() { }

Snel aan de slag

  • Als u ESP32 voor het eerst gebruikt, zie hoe u de omgeving opzet voor ESP32 in Arduino IDE.
  • Maak de bedrading zoals op de bovenstaande afbeelding.
  • Verbind de ESP32 met uw PC via een micro USB-kabel.
  • Open Arduino IDE op uw PC.
  • Selecteer het juiste ESP32-board (bijv. ESP32 Dev Module) en de juiste COM-poort.
  • Kopieer de bovenstaande code en open deze in Arduino IDE.
  • Klik op de Upload-knop in Arduino IDE om de code naar de ESP32 te uploaden.
  • Bekijk het resultaat op de Serial Monitor.
COM6
Send
SD CARD INITIALIZED. -------------------- myInt=-52 myFloat=-12.70 myString=HELLO myCharArray=newbiely.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.
  • Steek de Micro SD-kaart in een USB SD-kaartlezer.
  • Verbind de USB SD-kaartlezer met de PC.
  • Open het bestand esp32.txt op uw PC, het ziet er ongeveer als volgt uit:
ESP32 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.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en loopt stap voor stap door de instructies heen.

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