Arduino UNO R4 - Tarjeta microSD

En esta guía, aprenderemos a usar una tarjeta microSD con el Arduino UNO R4. Cubriremos los siguientes detalles:

Arduino UNO R4 tarjeta microSD

Acerca del módulo de la tarjeta microSD

El módulo de tarjeta microSD se conecta con el Arduino UNO R4 y aloja una tarjeta microSD. Esto significa que el módulo de tarjeta microSD actúa como un enlace entre el Arduino UNO R4 y la tarjeta microSD.

Diagrama de pines

Pinout del módulo de tarjeta microSD

El módulo de la tarjeta microSD tiene 6 pines:

  • Conecta el pin VCC al pin de 5V en el Arduino UNO R4.
  • Conecta el pin GND al GND del Arduino UNO R4.
  • Conecta el pin MISO al pin MISO del Arduino UNO R4.
  • Conecta el pin MOSI al pin MOSI del Arduino UNO R4.
  • Conecta el pin SCK al pin SCK del Arduino UNO R4.
  • Conecta el pin SS al pin identificado como el pin SS en el código del Arduino UNO R4.

Preparación

  • Conecte la tarjeta microSD a su computadora mediante un lector de tarjetas SD USB 3.0.
  • Verifique que la tarjeta microSD esté formateada como FAT16 o FAT32. Puede buscar en línea para saber cómo hacerlo.

Diagrama de Cableado

Diagrama de cableado del módulo de tarjeta microSD para Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

※ Nota:

Si tienes un escudo Ethernet o cualquier escudo con un puerto para tarjetas Micro SD, no necesitas usar el módulo de la tarjeta Micro SD. Simplemente coloca la tarjeta Micro SD en el puerto del escudo para Micro SD.

Arduino UNO R4 - Cómo abrir un archivo en la tarjeta microSD y crearlo si no existe

Código de Arduino UNO R4

Pasos R\u00e1pidos

Siga estas instrucciones paso a paso:

  • Si es la primera vez que usas el Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configuración del entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Inserta la tarjeta micro SD en el módulo de tarjeta micro SD.
  • Sigue el diagrama de cableado para conectar el módulo de tarjeta micro SD al Arduino UNO R4.
  • Conecta la placa Arduino Uno R4 a tu computadora usando un cable USB.
  • Abre el IDE de Arduino en tu computadora.
  • Selecciona la placa adecuada Arduino Uno R4 (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
  • Abre el Monitor serie en el IDE de Arduino.
  • Copia el código proporcionado y pégalo en el IDE de Arduino.
/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-micro-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 // The Arduino UNO R4 pin connected to the CS pin of SDcard module File myFile; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD Card is either missing or has failed!")); while (1); // don't do anything more: } Serial.println(F("SD Card is ready")); if (!SD.exists("arduino.txt")) { Serial.println(F("arduino.txt doesn't exist. Creating arduino.txt file...")); // create a new file by opening a new file and immediately close it myFile = SD.open("arduino.txt", FILE_WRITE); myFile.close(); } // recheck if file is created or not if (SD.exists("arduino.txt")) Serial.println(F("arduino.txt exists on SD Card.")); else Serial.println(F("arduino.txt doesn't exist on SD Card.")); } void loop() { }
  • Presiona el botón Subir en el IDE de Arduino para transferir el código al Arduino UNO R4.
  • Verifica el Monitor Serial para ver el resultado tras la primera subida.
COM6
Send
SD Card is ready arduino.txt doesn't exist. Creating arduino.txt file... arduino.txt exists on SD Card.
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • El resultado mostrado en el Monitor Serial para intentos posteriores
COM6
Send
SD Card is ready arduino.txt exists on SD Card.
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Nota:

Puede que no veas ninguna salida en el Monitor Serial si lo abres después de subirlo por primera vez.

  • Retira la tarjeta microSD del módulo
  • Coloca la tarjeta microSD en un lector de tarjetas SD USB
  • Conecta el lector de tarjetas SD USB a tu computadora
  • Verifica si el archivo está allí o no

Arduino UNO R4 - Cómo escribir y leer datos en un archivo en una tarjeta Micro SD

Este código realiza las siguientes acciones:

  • Guardar información en un archivo
  • Cargar y mostrar cada carácter de un archivo uno por uno en el Monitor Serial
/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-micro-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 // The Arduino UNO R4 pin connected to the CS pin of SDcard module File myFile; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD Card is either missing or has failed!")); while (1); // don't do anything more: } Serial.println(F("SD Card is ready")); // open file for writing myFile = SD.open("arduino.txt", FILE_WRITE); if (myFile) { myFile.println("Created by newbiely.com"); // write a line to Arduino myFile.println("Learn Arduino and SD Card"); // write another line to Arduino myFile.close(); } else { Serial.print(F("Error: Unable to open 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("Error: Unable to open file arduino.txt")); } } void loop() { }
  • El Monitor Serial mostró el contenido del archivo.
COM6
Send
Created by newbiely.com Learn Arduino UNO R4 and SD Card
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Nota:

Por defecto, los datos se añaden al final del archivo. Si reinicias el Arduino UNO R4 con el código dado, el texto se añadirá de nuevo al archivo. Esto significa que verás líneas adicionales como estas en el Monitor Serial:

COM6
Send
Creado por newbiely.com Aprende Arduino UNO R4 y la tarjeta SD Creado por newbiely.com Aprende Arduino UNO R4 y la tarjeta SD
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

También puedes quitar la tarjeta microSD del módulo y usar un lector de tarjetas SD USB para ver los archivos en tu computadora.

Arduino UNO R4 - Cómo leer un archivo en una tarjeta Micro SD línea por línea

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-micro-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 // The Arduino UNO R4 pin connected to the CS pin of SDcard module File myFile; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD Card is either missing or has failed!")); while (1); // don't do anything more: } Serial.println(F("SD Card is ready")); // open file for writing myFile = SD.open("arduino.txt", FILE_WRITE); if (myFile) { myFile.println("Created by newbiely.com"); // write a line to Arduino myFile.println("Learn Arduino and SD Card"); // write another line to Arduino myFile.close(); } else { Serial.print(F("Error: Unable to open file arduino.txt")); } // open file for reading myFile = SD.open("arduino.txt", FILE_READ); if (myFile) { int line_count = 0; while (myFile.available()) { char line[100]; // maximum is 100 characters, change it if needed int line_length = myFile.readBytesUntil('\n', line, 100); // read line-by-line from Micro SD Card line_count++; Serial.print(F("Line ")); Serial.print(line_count); Serial.print(F(": ")); Serial.write(line, line_length); // print the character to Serial Monitor // \n character is escaped by readBytesUntil function Serial.write('\n'); // print a new line charactor } myFile.close(); } else { Serial.print(F("Error: Unable to open file arduino.txt")); } } void loop() { }
  • El resultado mostrado en el Monitor Serial
COM6
Send
SD Card is ready Line 1: Created by newbiely.com Line 2: Learn Arduino UNO R4 and SD Card
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Nota:

Si no eliminas el contenido del archivo antes, podrías ver líneas adicionales en el Monitor Serial.

Arduino UNO R4 - Cómo sobrescribir un archivo en una tarjeta microSD

Normalmente, el contenido se agrega al final del archivo. Para reemplazar un archivo, primero elimina el archivo antiguo y luego crea uno nuevo con el mismo nombre.

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-micro-sd-card */ #include <SD.h> #define PIN_SPI_CS 4 // The Arduino UNO R4 pin connected to the CS pin of SDcard module File myFile; void setup() { Serial.begin(9600); if (!SD.begin(PIN_SPI_CS)) { Serial.println(F("SD Card is either missing or has failed!")); while (1); // don't do anything more: } Serial.println(F("SD Card is ready")); 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("Created by newbiely.com"); // write a line to Arduino myFile.println("Learn Arduino and SD Card"); // write another line to Arduino myFile.close(); } else { Serial.print(F("Error: Unable to open 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("Error: Unable to open file arduino.txt")); } } void loop() { }
  • La salida en el Monitor Serial
COM6
Send
SD Card is ready Created by newbiely.com Learn Arduino UNO R4 and SD Card
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Reiniciar Arduino UNO R4
  • Verificar si el contenido del archivo en el Monitor Serial ha sido añadido.

También puedes quitar la tarjeta microSD de la unidad y usar un lector de tarjetas SD USB para ver su contenido en tu computadora.

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.

Tutoriales Relacionados

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