Arduino - Escribir una variable en la tarjeta SD

En este tutorial, vamos a aprender cómo escribir una variable en la tarjeta microSD con Arduino. En detalle, aprenderemos:

Para leer el par clave-valor desde la tarjeta microSD y convertirlo a entero, flotante y cadena, ver Arduino - Leer la configuración desde la tarjeta SD

Tarjeta microSD de Arduino

Acerca del módulo de la tarjeta microSD

Si no conoces el módulo de tarjeta microSD (disposición de pines, cómo funciona, cómo programarlo), aprende sobre ello en el tutorial Arduino - Tarjeta microSD.

Diagrama de Cableado

Diagrama de cableado del módulo Micro SD de Arduino

This image is created using Fritzing. Click to enlarge image

※ Nota:

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

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

El código a continuación hace:

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

Pasos R\u00e1pidos

  • Asegúrate de que la tarjeta Micro SD esté formateada en FAT16 o FAT32 (búscalo en Google)
  • Copia el código anterior y ábrelo con el IDE de Arduino
  • Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino
  • Consulta el resultado en el monitor serie.
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  
  • Desconecta la tarjeta microSD del módulo microSD
  • Inserta la tarjeta microSD en un lector de tarjetas SD USB
  • Conecta el lector de tarjetas SD USB al PC
  • Abre el archivo arduino.txt en tu PC; se muestra a continuación
Arduino escribe una variable en la tarjeta microSD.

Arduino - Cómo escribir un par clave-valor en un archivo en una tarjeta microSD

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

Pasos R\u00e1pidos

  • Copie el código anterior y ábralo con el IDE de Arduino
  • Haga clic en el botón Subir en el IDE de Arduino para subir el código a Arduino
  • Vea el resultado en el Monitor Serial.
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  
  • Desconecte la tarjeta microSD del módulo microSD
  • Inserte la tarjeta microSD en un lector de tarjetas USB
  • Conecte el lector de tarjetas SD USB al PC
  • Abra el archivo arduino.txt en su PC; se muestra a continuación
Arduino 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!