Modulo Para Tarjeta SD
- Tarjeta
- SD o SDHC de hasta 32 GB (o microSD con adaptador), en FAT16 o FAT32
- Alimentación
- 5 V en el pin 5V (pasa por el regulador) o 3,3 V en el pin 3V3
- Señales
- 3,3 V, sin conversor de nivel
- Comunicación
- SPI
Características
Módulo para tarjetas SD de tamaño normal, que se comunica por el bus SPI. Trae un regulador de 3,3 V, pero sus señales no pasan por un conversor de nivel: trabajan a 3,3 V. Por eso se prueba con un ESP32, cuyos pines ya son de 3,3 V.
Sirve para guardar datos de sensores, leer archivos de configuración o usar tarjetas SD grandes (o microSD con su adaptador).
| Tarjeta | SD o SDHC de hasta 32 GB (o microSD con adaptador), en FAT16 o FAT32 |
|---|---|
| Alimentación | 5 V en el pin 5V (pasa por el regulador) o 3,3 V en el pin 3V3 |
| Señales | 3,3 V, sin conversor de nivel |
| Comunicación | SPI |
| Pines | GND, 3V3, 5V, CS, MOSI, SCK, MISO y GND (dos filas iguales) |
¿Para qué sirve?
- Guardar datos de sensores (datalogger)
- Leer archivos de configuración o páginas web para el ESP32
- Reusar tarjetas SD de cámaras viejas
Diagrama de conexión de prueba
Placa usada: ESP32 Dev Module
| Cable | Módulo | ESP32 Dev Module | Nota |
|---|---|---|---|
| rojo | 5V | VIN | 5 V del USB |
| negro | GND | GND | |
| naranja | CS | GPIO5 | |
| verde | MOSI | GPIO23 | |
| amarillo | SCK | GPIO18 | |
| azul | MISO | GPIO19 |
Código de prueba
// Prueba del módulo para tarjeta SD con ESP32: escribe una línea en
// /prueba.txt y luego lee el archivo y lo muestra en el Monitor serie.
#include <SPI.h>
#include <SD.h>
const int PIN_CS = 5; // SCK, MISO y MOSI usan los pines SPI del ESP32: 18, 19 y 23
void setup() {
Serial.begin(115200);
if (!SD.begin(PIN_CS)) {
Serial.println("No se encontró la tarjeta: revisa las conexiones y que esté en FAT32.");
while (true) { delay(1000); }
}
Serial.println("Tarjeta lista");
// En el ESP32 los nombres empiezan con "/" y FILE_WRITE reemplaza el archivo
File archivo = SD.open("/prueba.txt", FILE_WRITE);
if (archivo) {
archivo.print("Hola desde ESP32, milisegundos: ");
archivo.println(millis());
archivo.close();
}
archivo = SD.open("/prueba.txt");
if (archivo) {
Serial.println("Contenido de /prueba.txt:");
while (archivo.available()) {
Serial.write(archivo.read());
}
archivo.close();
}
}
void loop() {}
Instala el soporte de ESP32: Herramientas > Placa > Gestor de placas, busca «esp32» de Espressif Systems. Elige la placa «ESP32 Dev Module», formatea la tarjeta en FAT32 y abre el Monitor serie a 115200 baudios. La librería SD ya viene con el soporte de ESP32.
Precauciones
- Con un Arduino UNO u otra placa de 5 V hace falta un conversor de nivel en CS, MOSI y SCK; sin él, la tarjeta puede fallar o dañarse. Para usar con UNO es más sencillo el Módulo Micro SD, que ya lo trae.
- Antes de conectar, revisa los nombres impresos junto a los pines: en algunas versiones el orden cambia.
- No retires la tarjeta mientras se escribe, o se pueden perder los datos.
- Las tarjetas de más de 32 GB vienen en exFAT: hay que formatearlas en FAT32 para usarlas.
Fuentes consultadas: Random Nerd Tutorials: tarjeta SD con ESP32 · Foro de Arduino: módulo SD LC Studio. Ficha preparada por Electrodrone; verifica siempre el voltaje de tu módulo antes de conectarlo.