ESP32 - Escribir una variable en la tarjeta SD

En este tutorial, exploraremos el proceso de escribir varios tipos de variables en una tarjeta microSD utilizando ESP32. Específicamente, cubriremos los siguientes temas:

Este tutorial ofrece una guía completa para almacenar diferentes tipos de variables en una tarjeta microSD, lo que permite un almacenamiento y recuperación de datos versátiles. Para aprender a leer pares clave-valor desde la tarjeta microSD y convertirlos a formatos de enteros, flotantes y cadenas, consulta el tutorial sobre ESP32 - Leer configuración desde la tarjeta SD.

Tarjeta microSD para ESP32

Acerca del Módulo de Tarjeta Micro SD

¿No estás familiarizado con el módulo de microSD, incluyendo sus pines, funcionalidad y programación? Aprende sobre ello en el tutorial ESP32 - Tarjeta microSD.

Diagrama de Cableado

Diagrama de cableado del módulo de tarjeta microSD para ESP32

This image is created using Fritzing. Click to enlarge image

Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.

※ Nota:

Si usas un escudo Ethernet o cualquier escudo que tenga un soporte para tarjetas microSD, no necesitas usar el módulo de tarjeta microSD. Solo necesitas insertar la tarjeta microSD en el soporte de tarjetas microSD del escudo.

ESP32 - Cómo escribir una variable en un archivo en una tarjeta microSD

Lo que hace el código a continuación:

  • Escribir una variable de tipo int en la tarjeta microSD
  • Escribir una variable de tipo float en la tarjeta microSD
  • Escribir una variable de tipo string en la tarjeta microSD
  • Escribir un arreglo de caracteres en la tarjeta microSD
  • Escribir un arreglo de bytes en la tarjeta microSD
/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/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() { }

Pasos R\u00e1pidos

  • Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
  • Realiza el cableado tal como se muestra en la imagen anterior.
  • Conecta la placa ESP32 a tu PC mediante un cable micro USB
  • Abre Arduino IDE en tu PC.
  • Selecciona la placa ESP32 adecuada (p. ej. ESP32 Dev Module) y el puerto COM.
  • Asegúrate de que la tarjeta Micro SD esté formateada en FAT16 o FAT32 (búscala en Google)
  • Copia el código anterior y ábrelo con Arduino IDE
  • Haz clic en el botón Subir en Arduino IDE para cargar el código al ESP32
  • Consulta el resultado en el Monitor Serial.
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  
  • Retire la tarjeta Micro SD del módulo de Micro SD.
  • Inserte la tarjeta Micro SD en un lector de tarjetas SD USB.
  • Conecte el lector de tarjetas SD USB al PC.
  • Abra el archivo esp32.txt en su PC; se muestra a continuación.
ESP32 escribe una variable en la tarjeta microSD

ESP32 - Cómo escribir un par clave-valor en un archivo en la tarjeta microSD

/* * Este código de ESP32 fue desarrollado por es.newbiely.com * Este código de ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/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() { }

Pasos R\u00e1pidos

  • Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
  • Realiza el cableado tal como se muestra en la imagen de arriba.
  • Conecta la placa ESP32 a tu PC mediante un cable micro USB.
  • Abre Arduino IDE en tu PC.
  • Selecciona la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
  • Copia el código anterior y ábrelo con Arduino IDE.
  • Haz clic en el botón Subir en Arduino IDE para subir el código al ESP32.
  • Consulta el resultado en el Monitor Serial.
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  
  • Desconecte la tarjeta Micro SD del módulo Micro SD
  • Inserte la tarjeta Micro SD en un lector de tarjetas SD USB
  • Conecte el lector de tarjetas SD USB al PC
  • Abra el archivo esp32.txt en su PC; se muestra a continuación
ESP32 escribe una variable en la tarjeta microSD.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Referencias de Funciones

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!