Nothing Special   »   [go: up one dir, main page]

ArduinoLeerYEscribirDatosEnTarjetaSD de Arduino PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 61

5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

TUTO RIAL ES DE ARDUINO CO MPO NENTES

O PINIO NES , TRUCO S Y CO NS EJ O S HERRAMIENTAS

Estás aquí: Inic io >> Tutoriales de Arduino >> Cómo Leer Y Escribir Datos En La Tarjeta
SD De Arduino

Cómo Leer Y Escribir Datos En La


Tarjeta SD De Arduino
18 DICIEMBRE, 2014 POR ENRIQUE 1 3 7 C OM EN TA R IOS

¿Sabías que puedes usar una tarjeta SD con tu Arduino? ¿Que puedes almacenar los datos leíd
por tus sensores y conservarlos aunque dejes de alimentar tu placa? Éstas son solo algunas de

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 1/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

las cosas que puedes hacer cuando utilizas la tarjeta SD de Arduino.

En este tutorial vas a aprender todo lo necesario para que empieces a utilizar la tarjeta SD de
Arduino en tus proyectos y puedas gestionar todos tus datos de forma eficaz.

Haz c lic k para ir a lo que más te interese.

1 Cómo Usar La Tarjeta SD D e Arduino


1.1 Material Nec esario
1.2 Lo Que D ebes Saber Antes D e Utilizar La Tarjeta SD
1.2.1 1. Las Tarjetas SD Se Gestionan A Través D e Comunic ac ión
SPI
1.2.2 2. Utilizar D istintos Tipos D e SD
1.2.3 3. Formatos FAT16 Y FAT32
1.2.4 4. Extensiones Y Tipos D e Arc hivos
1.2.5 5. Asegúrate D e Abrir Y Cerrar Los Arc hivos
1.2.6 6. R eferenc iar El Pin Correc to Al Comenzar La Comunic ac ión
1.2.7 7. Es Posible Utilizar Varios Arc hivos
1.2.8 8. Comprobar La Carga D e D atos
1.3 Leer Y Esc ribir D atos En La Tarjeta SD de Arduino
1.4 Informac ión Adic ional

Cómo Usar La Tarjeta SD De Arduino


¿Se utiliza igual la tarjeta SD de tu shield de Ethernet que la de los módulos SD? ¿Puedes utiliz
directamente la tarjeta que utilizas para tu móvil? ¿Están permitidos todos los formatos? Com
ves, hay algunas consideraciones previas que debes tener en cuenta antes de utilizar memorias
SD en Arduino.

Material Necesario

Puedes añadirle una tarjeta SD a tu Arduino de varias formas. Te dejo algunos links con produc
que te pueden venir bien smile

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 2/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Shield de Ethernet c on tarjeta SD incluida por 6.40€ (7.90$).


Módulo para tarjetas mic ro SD por 2.30€ (2.80$).
Tarjeta mic ro SD de 8GB por 3.40€ (4.20$).

Lo Que Debes Saber Antes De Utilizar La Tarjeta SD

Para no extenderme mucho en este post, te voy a mostrar punto por punto y de forma resumida
los conceptos más importantes a la hora de conectar y utilizar tarjetas SD:

1. Las Tarjetas SD Se Gestionan A Través De Comunicación SPI

Sin duda, las comunicaciones SPI se merecen por sí solas un post entero. Como no es el objeti
de este post, simplemente te diré que si utilizas un módulo de SD debes conectar tu pin MOSI a
pin 11 de tu Arduino (50 en la placa Mega), MISO en el 12 (51 en Mega), CLK al 13 (52 si utilizas
Arduino Mega) y SS al 10 (pin 53 en Mega y pin 4 si vas a utilizar la SD de tu shield de Ethern

2. Utilizar Distintos Tipos De SD

Puedes usar tanto tarjetas SD como microSD así como las versiones SD y SDHD.

3. Formatos FAT16 Y FAT32


Este apartado se resume en que probablemente debas formatear tu tarjeta SD antes de utilizar
(algo que te recomiendo de cualquier forma si vas a utilizar la tarjeta en Arduino por primera ve
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 3/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

aunque ya esté en el formato adecuado). Siempre que sea posible, intenta utilizar el formato
FAT16.

4. Extensiones Y Tipos De Archivos

El formato FAT está limitado en cuanto al tipo de nombres que puedes utilizar. En principio,
utilizando cualquier nombre tipo: “datosarduino.txt” o “datos.log” no deberías tener problemas.
cualquier caso, aquí te dejo un link por si necesitas más información.

5. Asegúrate De Abrir Y Cerrar Los Archivos


Antes de utilizar la tarjeta SD de Arduino debes abrir el archivo sobre el que vayas a trabajar (ve
cómo más adelante). Si por cualquier motivo pierdes la comunicación con dicho archivo antes
cerrarlo, podrías perder tus datos. Los datos solo se guardan cuando cierras el archivo o usas la
función flush().

6. Referenciar El Pin Correcto Al Comenzar La Comunicación

Como verás más adelante, antes de empezar a leer y escribir datos en la tarjeta SD de Arduino
tienes que utilizar la instrucción SD.begin(), determinando en el paréntesis el pin CS de tu shield
SD. Esto quiere decir que si utilizas una placa de Arduino UNO (o similar) utilizarás la instrucció
SD.begin(10) pero si (por ejemplo) vas a utilizar el shield de Ethernet deberás poner SD.begin(4).

7. Es Posible Utilizar Varios Archivos

Puedes leer y escribir datos en diferentes archivos siempre que cierres el que estabas utilizando
antes de abrir el siguiente. Esto te permitirá separar la información de diferentes sensores,
configuraciones, etc.

8. Comprobar La Carga De Datos


Aunque no es estrictamente necesario, siempre deberías comprobar que los ficheros se han
abierto y cerrado correctamente y que los datos se han almacenado bien.

Leer Y Escribir Datos En La Tarjeta SD de Arduino

Ahora que ya te he contado la parte aburrida… ¡Vamos con lo interesante! smile .


http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 4/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Gracias a la librería SD, leer y escribir datos es realmente sencillo así que, en lugar de escribirte
una parrafada, te lo voy a mostrar a través de un ejemplo:

/*EducaChip – Cómo Leer Y Escribir Datos En La Tarjeta SD De Ardui


/* www.educachip.com */

//Se incluye la librería <SD.h>


#include <SD.h>

File Archivo;

void setup() {

//Se esablece comunicación con el monitor serial para la comprob


//carga de datos.
Serial.begin(9600);

//Se muestra por pantalla que se va a iniciar la comunicación co


Serial.print(“Comenzando la comunicación con la tarjeta SD”)

//Se establece como salida el pin correspondiente a SS.


pinMode(10, OUTPUT);

//Se muestra por el monitor si la comunicación se ha establecido


//o ha habido algún tipo de error.
if (!SD.begin(10)) {

Serial.println(“Se ha producido un fallo al iniciar la comunic


return;
}
Serial.println(“Se ha iniciado la comunicación correctamente”

/* ESCRIBIENDO DATOS EN LA MEMORIA SD DE ARDUINO */

//Se abre el documento sobre el que se va a leer y escribir.


Archivo = SD.open(“datos.txt”, FILE_WRITE);

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 5/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

//Se comprueba que el archivo se ha abierto correctamente y se p


//escribir en él.
if (Archivo) {

//Se escribe información en el documento de texto datos.txt.


Archivo.println(“Esto es lo que se está escribiendo en el

//Se cierra el archivo para almacenar los datos.


Archivo.close();

//Se muestra por el monitor que los datos se han almacenado co


Serial.println(“Todos los datos fueron almacenados”);
}

//En caso de que haya habido problemas abriendo datos.txt, se mu


else {

Serial.println(“El archivo datos.txt no se abrió correctamente


}

/* FIN DE LA ESCRITURA DE DATOS EN LA MEMORIA SD DE ARDUINO */

/* LEYENDO DATOS EN LA MEMORIA SD DE ARDUINO */

//Se vuelve a abrir el fichero, esta vez para leer los datos esc
Archivo = SD.open(“datos.txt”);

//Si el archivo se ha abierto correctamente se muestran los dato


if (Archivo) {

//Se muestra por el monitor que la información que va a aparec


//archivo datos.txt.
Serial.println(“Información contenida en datos.txt: ”);

//Se implementa un bucle que recorrerá el archivo hasta que no


//información (Archivo.available()==FALSE).

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 6/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

while (Archivo.available()) {

//Se escribe la información que ha sido leída del archivo.


Serial.write(Archivo.read());
}

//Si todo ha ido bien cierra el archivo para no perder datos.


Archivo.close();
}

//En caso de que haya habido problemas abriendo datos.txt, se mu


else {

Serial.println(“El archivo datos.txt no se abrió correctamente


}

void loop()
{
//En este ejemplo el bucle loop() no realiza ninguna acción ya q
//fue gestionada en el setup.
//En caso de que se desee almacenar la información obtenida de a
//debería realizarse en el loop().
}

Información Adicional

Te voy a dejar unos cuantos consejos antes de dar por concluido el post. Ahí van smile

La tarjeta SD es un complemento excelente al shield de Ethernet (por qué si no iba a esta


ahí). Úsala.

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 7/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

En caso de que necesites almacenar datos y no dispongas de módulo o tarjeta de SD,


siempre puedes utilizar la memoria EEPROM de tu Arduino (aquí te enseño cómo).
Algunos módulos de SD funcionan a 3.3V y no llevan regulador, por lo que no convierten
“automáticamente” de 5V a 3.3V (al contrario del que has podido ver recomendado en est
post). Si es tu caso, visita el siguiente link para descubrir cómo pasar de 5V a 3.3V

… Y aquí termina el post. Espero que te haya sido útil y que hayas aprendido cómo leer y escribi
datos en la tarjeta SD de Arduino. Me he guardado un par de trucos debajo de la manga pero no
preocupes: Te los contaré en el próximo post sobre el uso de tarjetas SD con Arduino.

Como siempre, me gustaría agradecerte tu tiempo, pedirte que compartas el post en tus redes
sociales favoritas (con los botones sociales que hay un poco más abajo lo tienes a golpe de cli
y recordarte que te susc ribas al blog.

Dicho esto, te leo en los comentarios. :)

ARCHIVADA EN: TUTORIALES DE ARDUINO


ETIQUETADA CON: EEPROM, ETHERNET, SD, SPI

Actualmente me dedico, entre otras cosas, a crear contenidos sobre

Arduino y otros dispositivos eléctricos. Me encanta todo lo relacionad

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 8/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

con el “Universo Maker”.

Siempre estoy activo en los comentarios. Si tienes cualquier pregunta,


dudes en dejármela. Intentaré responderte lo antes posible… ¡Un abraz

smile

COMENTARIOS

CrashBandiloop dice
19 junio, 2017 en 1:35

Hola Enrique!
En principio, muchas gracias por el post, has sido muy explicativo. Te quería realizar una
consulta. Estoy armando un proyecto en el que relevaré temperatura y humedad (usando
un sensor DHT22), a lo largo de un mes. La idea es dejar el dispositivo solo conectado a
tensión, sin PC asociado. Cosa de poder retirar la tarjeta SD, y tener todos los datos en
formato excel. Es esto realizable sólo con un módulo SD?

Muchas gracias!

R esponder

Enrique dice
21 junio, 2017 en 22:18

Buenas,

No deberías tener ningún problema siempre que los datos no superen la capacidad
de la tarjeta o haya algún problema de alimentación.

Un saludo, Enrique.
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 9/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

R esponder

Alex dice
15 junio, 2017 en 11:49

Hola, al poner el codigo y usarlo con Arduino due me sale el siguiente error al compilar:

exit status 1
stray ‘\342’ in program

Por que puede ser?

Gracias

R esponder

Enrique dice
15 junio, 2017 en 20:41

Buenas Alex,

La verdad es que no había visto ese problema. Puedes googlear un poco porque
seguro que no es la primera vez que alguien se lo encuentra. :/

Un saludo, Enrique.

R esponder

roberto carlos dice


6 junio, 2017 en 17:24

que tal, estoy trabajando con una impresora térmica,acoplado con un teclado matricial y

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 10/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

una pantalla lcd


tengo echo el programa en arduino el cual al presionar un botón, este imprime un tiked,
mi pregunta es ¿como puedo hacer que al presionar un botón me guarde la información
en la micro sd para posterior mente descargar toda la información acumulada?

R esponder

Enrique dice
12 junio, 2017 en 19:52

Buenas Roberto Carlos,

Puedes utilizar las interrupciones de la placa para hacer que, cuando se pulse un
botón, se ejecute el código que almacena la información en la SD.

Un saludo, Enrique.

R esponder

RodrigoHdz dice
30 mayo, 2017 en 9:12

Que tal!
Mi duda es la siguiente:
Quiero enviar datos desde Matlab a arduino para almacenarlos en un archivo TXT, sin
embargo, el numero de datos que quiero enviar son aproximadamente 6000.
Cuando realizo el envío solo se guardan correctamente aproximadamente los primeros
100 datos, mientras que los demás se pierden o no se guardan bien.
¿ como puedo evitar el overflow y underflow en el buffer de arduino para guardar
correctamente todos mis datos en el archivo txt?

R esponder

Enrique dice
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 11/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

12 junio, 2017 en 19:38

Buenas Rodrigo,

Ahora mismo no recuerdo el nombre, pero hay una función para limpiar el puerto y
evitar ese tipo de problemas (seguro que la encuentras en la documentación de la
IDE).

Un saludo, Enrique.

R esponder

Carlos dice
12 mayo, 2017 en 13:34

Buenas tardes, ¿si quiero exportar datos para realizar una gráfica. como sería?
Muchas gracias.

R esponder

Enrique dice
13 mayo, 2017 en 12:04

Buenas Carlos,

Puedes importar el archivo a Excel y ya desde ahí pintar la gráfica.

Un saludo, Enrique.

R esponder

Carlos Molinillo Vilches dice


15 mayo, 2017 en 16:07

Buenas Enrique, creo que no me he explicado bien; quiero leer los datos de la

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 12/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

tarjeta, y que la gráfica salga en una pantalla colocada en arduino.

Un saludo, Carlos.

Enrique dice
15 mayo, 2017 en 17:24

Buenas Carlos,

Si lo que buscas es crear una interfaz gráfica tendrás que apoyarte en la


librería de la pantalla. En lo que se refiere a la tarjeta SD es indiferente, basta
con leer los datos y pasarlos a la pantalla. Hay aplicaciones de Arduino ya
pensadas para eso (siempre se me olvidan los nombres, pero creo que tienes
algunos en la página principal del blog).

Un saludo, Enrique.

Aaron dice
28 mayo, 2017 en 0:44

Buenas noches
Me gustaría saber, como puedo registrar el impulso de un pulsador en Excel y el
del botón reset. Con datos y demas

Enrique dice
12 junio, 2017 en 19:37

Buenas Aaron,

Tengo un post sobre envío de datos a Excel. Pásate por él que seguro que

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 13/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

encuentras información sobre el tema.

Un saludo, Enrique.

Pablo dice
6 abril, 2017 en 21:06

Hola y gracias por la explicación. Solo una pregunta.

Se podría guardar una secuencia sonidos? Me explico.. He asignado a cada pulsador una
frecuencia de tono. Y me gustaría saber si se podría guardar una secuencia de 5 o 6
tonos y posteriormente leerlo para reproducirlos.

No se si me he explicado muy bien….

Saludos y gracias

R esponder

Enrique dice
7 abril, 2017 en 9:16

Buenas Pablo,

Se podría guardar la representación matemática de esa secuencia de sonidos. Si te


interesa el tema te recomiendo buscar sobre fft o filtros en paralelo para almacenar
valores en un vector.

Un saludo, Enrique.

R esponder

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 14/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Miguel Poli dice


13 abril, 2017 en 4:26

Disculpa la molestia, pero no encontre como entrar en el blog directamente, la


pregunta es como leo desde la SD en Arduino un archivo dentro de una Carpeta. ej
//Datos/sensores.txt o //ejemplo/index.html
porque intente de muchas maneras y no lo lee, si lo hace si lo coloco en en raiz. ej
de cod. Arduino…

// initialize SD card
Serial.println(“Inicializando SD Card…”);
if (!SD.begin(4)) {
Serial.println(“ERROR – SD card Inicializacion falla!!”);
return; // init failed
}
Serial.println(“OK – SD Card Inicializada…”);
// check for index.html file
if (!SD.exists(“//datos/index.html”)) {
Serial.println(“ERROR – No encuentro index.html file!”);
return; // can’t find index file
}
Serial.println(“OK ! – SD Card index.htm file.”);
….
te agradeceria tu opinion.
Y otra cuestion,
Supongamos que no queda el monitor serial en forma permanente y solo tengo un
display lcd 20×4, puedo hacer lo mismo , osea carga todo sin tener la pc o notebook
conectada…
Muchas gracias
Miguel Poli

R esponder

Enrique dice
13 abril, 2017 en 12:32

Buenas Miguel,

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 15/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

La verdad es que no lo he probado. Me imagino que puedes hacerlo poniendo la


ruta del archivo (puedes comprobarlo en la documentación de la librería).

La segunda pregunta, la verdad, no la he entendido. :(

Un saludo, Enrique.

baudelio dice
6 abril, 2017 en 17:30

Las huellas dactilares de un sensor dactilar de arduino se pueden guardar en la memoria


sd? para su posterior utilizacion de comprobacion con el mismo sensor de huella
dactilar?

R esponder

Enrique dice
7 abril, 2017 en 9:08

Buenas Baudelio,

No he utilizado ningún sensor de ese tipo. Me imagino que almacenará valores en


un vector… de ser así no deberías tener ningún problema para guardar los datos en
la SD.

Un saludo, Enrique.

R esponder

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 16/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Carlos Valera dice


6 marzo, 2017 en 17:51

Hola, una pregunta. Necesito guardar una matriz en la SD y luego leer ese archivo (que el
programa lo lea) para usar esa información dentro de mi programa, es posible?

Es decir, leer la información que guardé en la SD y asignarla a una variable.

R esponder

Enrique dice
7 marzo, 2017 en 10:16

Claro Carlos, el problema está con almacenar instrucciones de programa.

Un saludo, Enrique.

R esponder

Martin Monaco dice


24 febrero, 2017 en 17:48

Y en el caso de que sisolo quiero mostrar un .html que esta guardado en la sd?Repito
solo mostrar no quiero modificarlo, solo mostrarlo.Ejemplo, seteo una ip al modulo
ethernet y al entrar al mismo por el navegador ver el contenido del .html (un hola mundo!
digamos), me basta solo con un sd.open(miarchivo.html)??? gracias

R esponder

Enrique dice
25 febrero, 2017 en 16:24

Buenas Martín,

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 17/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

La verdad es que nunca he abierto ningún .html. Supongo que no tendrás ningún
problema y si lo que quieres es leer los datos simplemente, siempre puedes escribirlo
en un .txt.

Un saludo, Enrique.

R esponder

Carlos dice
7 febrero, 2017 en 10:31

Hola Enrique, queria saber si es posible captar datos de una camara y transmitirlos al
arduino y almacenarlos en la sd para luego poder hacer operaciones con ellos y enviarlos
a otros dispositivos.
Saludos

R esponder

Enrique dice
7 febrero, 2017 en 15:28

Buenas Carlos,

Es posible, pero lo mismo andas un poco corto en cuanto a la capacidad de Arduino


para procesar esa información.

Un saludo, Enrique.

R esponder

Ulises Tellez dice

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 18/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

15 dic iembre, 2016 en 4:14

Hola,

Quisiera saber si es posible guardar datos de un Módulo Biometrico (Sensor de huellas


dactilares) en la SD, para después recoger los datos proporcionados y abrirlos en Excel.
Gracias.

R esponder

Enrique dice
15 dic iembre, 2016 en 14:00

Buenas Ulises,

Si eres capaz de transformar la huella en números, no hay problema. En cualquier


caso, Te dejo un post de cómo pasar datos de Arduino a Exc el.

Un saludo, Enrique.

R esponder

Pablo dice
7 dic iembre, 2016 en 22:00

Hola:

Primero, gracias por la información. Segundo, mi pregunta es ¿sabes como leer el valor
de una tarjeta SD y luego usar ese valor como una variable del programa? Te agradezco
de antemano la ayuda.

Saludos.

R esponder

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 19/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Enrique dice
9 dic iembre, 2016 en 10:05

Buenas Pablo,

Una cosa que puedes hacer es utilizar el valor almacenado comparándolo con el de
otra variable. Es una de las formas más simples de trabajar con los datos
almacenados en SD, EEPROM…

Un saludo, Enrique.

R esponder

Eder Alberto Rodríguez Ramos dice


23 noviembre, 2016 en 8:55

Hola que tal, tengo una duda que nadie me ha podido resolver y es sobre audio y arduino
más SD, lo que quiero hacer es basicamente graficar en tiempo real los valores que esta
teniendo la señal, es decir: toma un valor de la SD y lo grafica, despues toma otro valor
de la SD y lo grafica para de esta manera poder graficar el audio que ya esta cargado en
la SD en tiempo real, resumiendo todo, como puedo estar monitoreando los distintos
valores del audio utilizando arduino. Gracias, no se si me di a entender de buena manera.
Saludos y buen día.

R esponder

Enrique dice
23 noviembre, 2016 en 9:19

Buenas Eder,

La verdad es que no te he entendido muy bien. No sé si quieres pintar datos en


tiempo real o que estén previamente guardados en la SD. Te dejo un post sobre
enviar datos en tiempo real. Espero que te sirva. :)
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 20/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Un saludo, Enrique.

R esponder

Eder Alberto Rodríguez Ramos dice


23 noviembre, 2016 en 23:55

Quiero pintar datos en tiempo real de un archivo de audio previamente


guardado en la tarjeta SD

Enrique dice
24 noviembre, 2016 en 11:21

Buenas de nuevo,

Entonces vale con que vayas leyendo dato a dato y pintándolo.

Un saludo, Enrique.

Fernanda dice
20 noviembre, 2016 en 16:18

Hola,

Hice el ensamble pero hay un problema que no logró identificar cómo solucionarlo,
espero me puedan ayudar. Cuando conecto el arduino a la computadora registra
perfectamente y después puedo visualizar los datos en la memoria pero cuando le
conecto una fuente de poder independiente no registra nada. Ya probé con: bateria
portatil MOBO, bateria lipo y conectando directamente a la corriente utilizando un
cargador LG.
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 21/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

p.d. Tengo un diagrama con mi ensanmble pero no puedo cargar la fotografía, por si se
requiere.

De antemano mil gracias!!

Fer

R esponder

Enrique dice
21 noviembre, 2016 en 20:36

Buenas Fernanda,

Es posible que no estés utilizando una alimentación lo suficientemente bien


regulada para que funciones tu módulo SD. Puedes probar si el problema está ahí
conectando un regulador de 3.3V desde tu alimentación externa hacia tu SD.

Un saludo, Enrique.

R esponder

river dice
3 enero, 2017 en 18:58

hoola fernanda tengo el mismo problema, lograste resolverlo?

R esponder

Javier dice
9 enero, 2017 en 4:18

unifiquen las tierras del arduino y tu fuente independiente.


Espero les sirva.

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 22/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Ronal Leiva dice


5 noviembre, 2016 en 4:55

Amigo no encuentro la imagen para realizar las conexiones, la puedes compartir?

R esponder

Enrique dice
5 noviembre, 2016 en 12:10

Pues la verdad es que no lo tengo a mano, Ronal. Puedes mirarlo en la hoja de


características de tu módulo SD y en el diagrama de conexiones de Arduino.

Un saludo, Enrique.

R esponder

Juan Sainz de Aja dice


28 oc tubre, 2016 en 14:01

Creo que las conexiones del Arduino Mega estan equivocadas, son el MISO al pin 50 y el
MOSI al pin 51

R esponder

Enrique dice
28 oc tubre, 2016 en 14:04

Puede ser que me haya equivocado, Juan (o que se trate de versiones diferentes de
la placa). Siempre se puede ver en el esquema del chip.
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 23/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Un saludo, Enrique.

R esponder

Mauricio Salomón dice


26 oc tubre, 2016 en 20:52

Saludos Enrique, excelente tutorial, estoy trabajando en un proyecto en arduino que lee y
almacena datos de un sensor de temperatura, y si éstos datos se encuentran fuera del
rango requerido pues se activarán ciertas alarmas,se debe hacer un datalogger para
tener el respaldo de los datos y además un web server para leer estos datos, así como
una gráfica de las lecturas del sensor de las últimas 24 horas ya logré hacer el
datalogger y me guarda los datos en la memoria sd, ahora el reto está en que se requiere
poder cambiar éste rango de temperatura desde el servidor web, por lo que tenía la idea
de hacer un archivo en txt donde se guarden los valores requeridos del rango, se carguen
en el arduino y éste trabaje con dichos valores, pero además que desde el web server se
pueda modificar este archivo txt almacenado en la memoria sd del arduino, ¿es posible
eso? gracias.

R esponder

Enrique dice
27 oc tubre, 2016 en 15:50

Buenas Mauricio,

Es posible. :) No te voy a decir que se haga en una tarde pero poder puedes hacerlo.

Un saludo, Enrique.

R esponder

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 24/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Dalia Mendoza dice


24 oc tubre, 2016 en 0:13

Hola Enrique. Ya resolvi el problem, es que estaba empleando en proteus una tarjeta
sd/mmc y la libreria es solo para sd. Al instalar el proteus 8.3 traia tarjetas sd, que otras
versiones no tenian, y ahora si funciona perfecto.

R esponder

Enrique dice
24 oc tubre, 2016 en 0:16

Me alegro de que lo hayas solucionado. :)

La verdad es que me parece raro que haya sido por eso. Hasta donde sé no hay
diferencia entre MMC y SD… En cualquier caso me alegro :)

Un saludo, Enrique.

R esponder

Dalia Mendoza dice


23 oc tubre, 2016 en 18:28

Hola Enrique. Necesito saber si has probado simulaciones de sd/mmc + arduino en el


simulador proteus. Ya he probado varias veces y nada. Sin embargo le cargo el codigo al
arduino mega 2560 con el sd shield y funciona. Pero quiero probar en simulaciones con
proteus. No se si hay que poner drivers al proteus para que funciones como al puerto
usb. Ya le cargue a la memoria en simulacion el archivo.mmc generado en winimage. No
se, si sabes algo de esto agradeceria tu ayuda

R esponder

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 25/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Enrique dice
23 oc tubre, 2016 en 21:12

Buenas Dalia,

La verdad es que no he trabajado con Proteus. Sé lo que es, pero nunca me ha


llamado la atención.

Lamento no serte de ayuda :(

Un saludo, Enrique.

R esponder

mauro alejandro dice


27 septiembre, 2016 en 16:20

Enrique buenos dias,

mi hermano me puedes ayudar no logro hacer funcionar mi sd con mi arduino uno, el


programa corre solo si esta conectado al pc, pero le desconecto el pc y deja de funcionar
el programa solo lee un puerto y escribe en la sd

R esponder

Enrique dice
29 septiembre, 2016 en 10:46

Buenas Mauro,

Es difícil saber exactamente cuál es el problema, pero no parece ser por la SD, si no
porque el programa no se carga en tu Arduino. ¿Has probado a cargar el mismo
proyecto en otra placa?

Un saludo, Enrique.

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 26/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

R esponder

river dice
3 enero, 2017 en 19:00

hola mauro tengo el mismo problema, te agradeceré cualquier ayuda!

R esponder

Víctor dice
9 septiembre, 2016 en 16:58

Mediante un microprocesador he conseguido grabar una ristra de datos en una tarjeta


SD con el protocolo SPI comenzando en el bloque con dirección 0x00057000.

Ahora que tengo los datos en la tarjeta SD me gustaría hacer un programa en lenguaje
JAVA que me los leyera de tal forma que pueda hacer archivos de texto con esos datos o
usarlos para algún cálculo.

Hasta ahora sólo he visto programas que lean archivos, pero en este caso no son
archivos ni tengo ninguna ruta de acceso como F:/archivo_text.txt, sino sólo un valor por
cada bloque mencionado, y estoy totalmente desesperado.

Espero que alguna persona bondadosa me ayude o me diga cómo salir de este lío que me
tiene bloqueado.

Gracias!!!

R esponder

Mateo dice

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 27/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

21 agosto, 2016 en 8:08

Hola tengo una duda, y es .. para que se usa ese comando File Archivo; al inicio del
código?

R esponder

Enrique dice
28 oc tubre, 2016 en 14:15

Buenas Mateo,

Se usa para determinar el archivo que quieres utilizar.

Un saludo, Enrique.

R esponder

Luna Mimí dice


13 agosto, 2016 en 0:19

Hola Enrique.
Disculpa, mi data logger ya funcionaba correctamente, estoy guardando los datos de un
sensor en la SD con su respectiva fecha y hora (con un RTC), y la verdad no había tenido
problemas con la memoria, de ayer a hoy se me generan archivos con nombres muy
raros, como si se tratase de una clase de virus, pero ha decir verdad no podría haber
sucedido eso pues he estado usando la misma PC desde hace semanas y no tengo
ningún virus (he analizado la memoria y mi pc con dos diferentes antivirus)…. además se
genera mi nota de texto y esos archivos que te comento… y a la hora de querer abrir el
archivo me dice que está dañado D: nunca te ha ocurrido algo así? ya la he formateado y
formateado de diferentes formas, con lo que me ofrece windows para formatear, y con
un programa que baje “SDformatter” y no he conseguido poder abrir bien el archivo
porque siempre que se genera… se generan los otros y me dice que está dañado….
Help! :C

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 28/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

R esponder

Enrique dice
28 oc tubre, 2016 en 14:27

Buenas Luna,

Me parece bastante raro eso. :(

¿Podría ser que haya alguna variable que modifique el nombre de tu archivo?

Un saludo, Enrique.

R esponder

Víctor dice
14 marzo, 2016 en 19:55

bien me gustaria saver si se puede crear un documento html desde el PC para despues
serusado por arduino como pagina web.

en ese caso: ¿Como se hace?

R esponder

Enrique dice
15 marzo, 2016 en 10:37

Buenas Víctor,

Como puedes ver en el ejemplo que te dejo en este link, basta con que utilices
instrucciones de escritura con tu placa Arduino y lo que escribas sea código HTML.

Un saludo, Enrique.

R esponder
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 29/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

ricardo dice
6 marzo, 2016 en 17:12

como puedo visualizar todos los datos que me envia mi arduino en un entorno en la
pantalle de mi pc que no sea el monitor de serial de arduino. si alguin me puede orientar.
lo que quiero ver es cuando mi arduino encuentra un cambio Low o High en el pin 7 ese
resultado lo pueda tener y utilizar en la pc en algun entorno grafico y cual seria el
proceso. desde ya muchas gracias

R esponder

Enrique dice
10 marzo, 2016 en 11:21

Buenas Ricardo,

La verdad es que tienes bastantes opciones para realizar ese proyecto. Si no


necesitas la comunicación en tiempo real, quizás lo más simple sea almacenar los
datos en una SD y luego pasarlos al ordenador.

Un saludo, Enrique.

R esponder

Edu dice
27 febrero, 2016 en 3:11

Muy buenas
¿Es posible tener mas de una comunicación SPI con un solo arduino(Mega)?
Como maestro o esclavo, o como sea jaja, ya que necesito una menoria SD y un lector

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 30/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

rfid. Si es así, tienes algún tutorial o conoces algun post?

Muchas gracias

R esponder

Enrique dice
10 marzo, 2016 en 12:13

Buenas Edu,

La verdad es que no lo he intentado nunca pero seguramente haya problemas, es


decir, seguro que se puede hacer pero probablemente haya que toquetear bastante
el proyecto.

A ver si le echo un vistazo más detenidamente y te cuento con más detalle. :)

Un saludo, Enrique.

R esponder

Majid dice
16 enero, 2016 en 12:34

Buenas, tengo una estación meteorologica que consta de dos módulos, uno de sensores
con su arduino, y otro del lcd con otro arduino conectados mediante RF, y mi dua esta en
donde poner la ethernet si al arduino de los sensores o al arduino ”receptor”..

Y otra cosa, con la ethernet shiled los datos que subiré se pondrán ver desde cualquier
ordenador o sólo quienes se han conectado a mi red?

R esponder

Enrique dice
27 enero, 2016 en 18:23
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 31/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Buenas Majid,

Si los dos Arduinos van a contener la misma información es indiferente desde cuál
la subas.

Respecto a lo de la visibilidad de la información, puedes hacerlo de las dos formas


(solo desde área local o desde cualquier parte).

Un saludo, Enrique.

R esponder

Carlos Morera dice


12 enero, 2016 en 18:02

Buenas Enrique, estoy usando el Leonardo con GPS Data Logger, el cual me está
guardando los datos correctamente. Quiero saber si puedo guardar en un archivo CSV en
lugar de TXT? Tambien quiero enviar ese archivo por el modulo de Xbee S1. Crees que me
puedes ayudar con el tema?
Saludos y gracias!!!

R esponder

Enrique dice
27 enero, 2016 en 17:47

Buenas Carlos,

No me he puesto a fondo con el módulo Xbee así que para lo de enviar el archivo no
te puedo ser de mucha utilidad (aunque hasta donde he visto no es especialmente
difícil de utilizar).

Respecto a lo de guardar en .csv, basta con que conviertas la información a


cadenas de caracteres (String) antes de guardarla y abras tu archivo .csv como lo
harías si fuese un .txt (algo tipo File ArchivoDatos = SD.open(“nombrearchivo.csv”,
FILE_WRITE);).
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 32/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Recuerda que en los archivos .csv la información se separa con “;”, así que es
posible que a la cadena de caracteres que vayas a guardar tengas que añadirle ese
caracter.

Un saludo, Enrique.

R esponder

oscar dice
17 dic iembre, 2015 en 18:41

Hola Enrique.
Me ha gustado mucho tu tuto.
Sabes si para arduino Yun el PinMode para SS es el 10? sino cual es?
Por otro lado, quería comentarte que yo estoy intentando grabar datos y recuperarlos de
una base de datos Sqlite instalada en el Yun , estoy usando una SD de 8 GB. Me podrías
orientar cual es la mejor forma de hacerlo.

Un saludo y de nuevo muchas gracias.

R esponder

Enrique dice
19 dic iembre, 2015 en 13:52

Buenas Óscar,

La verdad es que nunca he utilizado la tarjeta de una Yun, pero me imagino que será
ése el pin. En cualquier caso, puedes verlo en el datasheet de tu placa.

Un saludo, Enrique.

R esponder

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 33/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Sergio Varela dice


17 dic iembre, 2015 en 3:09

hola que tal queria saber si ademas de almacenar los datos en la memoria SD los puedo
monitorear en una PC online?

R esponder

Enrique dice
17 dic iembre, 2015 en 12:10

Buenas Sergio,

Ése es otro proyecto distinto, pero claro que se puede hacer. Te dejo un link para
que veas más o menos la idea.

Un saludo, Enrique.

R esponder

Roger dice
7 dic iembre, 2015 en 13:15

Estoy haciendo un analizador de red para ahorrar energia. Tengo una placa arduino uno i
una etherned shield que detectan factor de potencia, intensidad… I el problema es que
nose como subir los datos registrados a una pagina web. Como puedo hacer todo el
proceso?

R esponder

Enrique dice
8 dic iembre, 2015 en 14:59

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 34/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Buenas Roger,

Ese proceso es similar al del sketch que viene por defecto en la IDE de Arduino. Con
unas pocas modificaciones podrás adaptarlo a tu proyecto.

Un saludo, Enrique.

R esponder

German dice
19 marzo, 2017 en 15:38

Hola Roger!!
Como lograstes medir el Factor de potencia con el arduino uno. Perdona que te
cambie el tema, es que ando en un proyecto.

R esponder

Emerson dice
20 noviembre, 2015 en 6:47

hola Enrique, navegando por la web encontre tu post que me da una primera idea de
como iniciar mi proyecto, de hecho mas bien queria orientacion de como podria
realizarlo. te explico en lo que consiste. debemos realizar un velocimetro para un auto. es
decir que te diga si la velocidad es excedida, si es asi que te la registre con fecha y hora y
también la velocidad. la verdad tengo muy poco conocimiento sobre arduino y no se
estaba pensando en usar un display lcd y ahora con esto lo del registro de datos me
podrias ayudar un poco con el codigo te lo agradeceria infinitamente. saludos.

R esponder

Enrique dice

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 35/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

21 noviembre, 2015 en 18:55

Buenas Emerson,

Te intentaré ayudar con todas las dudas puntuales que tengas.

Un saludo, Enrique.

R esponder

Emerson dice
22 noviembre, 2015 en 2:24

De antemano muchas Gracias Enrique, esperare por tu respuesta.

Gustavo dice
4 noviembre, 2015 en 13:08

Hola, un post muy interesante y detallado.


Quería ver si podías responderme a una duda que me ha surgido sobre el
almacenamiento de datos en Arduino. Estoy pensando en utilizar la placa como un
sistema de monitoreo y control de señales. Es decir que estará recibiendo
constantemente valores, procesándolos y actuando en consecuencia. Lo que quería
saber es si en una Arduino DUE es posible almacenar varios valores (ya que para
procesar las señales necesito tener varias muestras de la misma) o es necesario
implementar el sistema que describres en el post.
Saludos

R esponder

Enrique dice
4 noviembre, 2015 en 16:37
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 36/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Buenas Gustavo,

Las placas pueden almacenar una buena cantidad de datos sin problemas. Eso sí,
tendrás que almacenarlos en memoria no volátil (como la de la SD) si quieres que
permanezcan allí aunque dejes de suministrarle corriente a tu Arduino.

Un saludo, Enrique.

R esponder

jhon dice
16 oc tubre, 2015 en 2:35

Saludos
Enrique un favor puede compartir el pan de montaje

R esponder

Enrique dice
16 oc tubre, 2015 en 11:45

Buenas Jhon,

La verdad es que no he entendido bien la pregunta.

Un saludo, Enrique.

R esponder

Daniel dice
25 septiembre, 2015 en 18:19

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 37/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Enrique es posible enviar los archivos guardados por internet mediante arduino, la idea es
que mi servidor tenga un archivo que reescriba seguido y lo envie a los clientes y estos
puedan acceder a el.

R esponder

Enrique dice
27 septiembre, 2015 en 15:48

Buenas Daniel,

Implementando el código correspondiente no deberías tener problemas para crear


un sistema así.

Un saludo, Enrique.

R esponder

Luis dice
12 septiembre, 2015 en 9:41

Perdon, estoy en un movil.


Ejemplo: amanece en el terrario a las 8, le digo al arduino guarda esa hora en SD, al dia
siguiente.le digo lee la hora de la SD y amanece 2 minutos antes que la hora escrita, es
decir 7:58 y escribe esa nueva hora en SD. Esto habria alguna manera de hacerlo??
Gracias y un saludo

R esponder

Enrique dice
16 septiembre, 2015 en 11:11

Te voy a dejar un link con lo que te he comentado de la EEPROM a ver si te ayuda.

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 38/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

R esponder

Luis dice
22 septiembre, 2015 en 18:52

Hola Enrique, no he sido capaz de sacar el codigo adelante y ya se me agota la


paciencia de seguir y las vacaciones. Encima lo quiero complicar un poco mas,
programandole fechas para que en ellas haga los efectos amancer y anochecer
en las 4 estaciones del año, para andar mas exactos en 90 dias. Si no es
mucho molestar y se te ocurre alguna idea, tienes mi email, sera bien recibida.
un saludo y muchas gracias

Enrique dice
27 septiembre, 2015 en 15:40

Buenas Luis,

Intentaré ayudarte en lo que pueda.

Una cosa que debes tener en cuenta a la hora de programar es segmentar el


código. Si desde el principio te planteas un sistema complejo, seguramente no
seas capaz de sacarlo adelante. Haz un código muy básico. Pruébalo y cuando
estés seguro de que funciona ve añadiendo pequeñas mejoras. Así siempre
sabrás donde está el fallo y te será más fácil corregirlo.

Además, es muy importante que elabores una buena documentación interna en


tu código (comentarios explicando lo que hace cada módulo, qué tipo de
variables necesitas, etc.) porque si no, te acabarás olvidando de para qué era
cada cosa y si alguien quiere utilizar tu código le será realmente difícil.

Un saludo y mucho ánimo, Enrique.

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 39/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Luis dice
12 septiembre, 2015 en 9:32

Felicidades por el tema, me sirvio para complementar mi acuario y.los datis diarios.
Una duda, se podria almacenar la hora del amanecer y leerka despues haciendo que el
arduino a partir de esa hora guardada amaneciera 2 minutos antes y volver a almacenar
esa nueva hora guardada para hacer lo mismo el dia siguiente??

R esponder

Enrique dice
16 septiembre, 2015 en 11:10

Puedes hacerlo sin problema, Luis.

Recuerda que también puedes utilizar la EEPROM de tu placa para esa tarea.

Un saludo, Enrique.

R esponder

Fabian P. dice
9 septiembre, 2015 en 22:52

Saludos Enrique. tengo un archivo que txt, que guardo en forma de matriz de ceros y
unos, por ejemplo de 10 filas por 5 columnas y necesito leer linea por linea, es decir, fila
por fila, ¿como hago para solo leer una fila? si es posible agradecería tu explicación, lo
hago porque necesito coger esos ‘5’ datos de ceros y unos para luego usarlos por los
puertos digitales.

R esponder

Enrique dice
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 40/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

10 septiembre, 2015 en 16:26

Buenas Fabian,

Aunque no recuerdo el nombre exactamente, hay un elemento típico en todos los


dispositivos de lectura que es el carácter de fin de línea (si no recuerdo mal
normalmente se expresa como “/n”). Lo que puedes hacer es editar tu programa
para de cada vez lea hasta ese caracter.

Un saludo, Enrique.

R esponder

Beatriz dice
3 septiembre, 2015 en 12:42

Buenos dias,

Estoy intentado programar un modulo micro SD con un arduino leonardo, he cogido el


código que muestra en este post y formateando la SD y creando el .txt en la tarjeta
cuando ejecuto el programa me aparece como que no es posible inicializar la tarjeta.

No se si este error puede ser debido a que el modulo no es un Shield o por la versión del
arduino.

Un saludo y muchas gracias de antemano!

R esponder

Enrique dice
3 septiembre, 2015 en 14:48

Buenas Beatriz,

La mayoría de esos módulos funcionan a 3.3V. ¿Puede ser que el error parta de que
estás alimentando a 5V o que no estés utilizando los pines correctos?

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 41/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Un saludo, Enrique.

R esponder

Beatriz dice
7 septiembre, 2015 en 13:33

Al final el error estaba en los pines que estaba utilizando, buscando


información sobre la conexión del módulo en todos los tutoriales se realizan en
el caso del arduino UNO en los pines 11, 12 y 13 para conectar el MISO, MOSI y
SCK que están asociados a los pines 1, 4 y 3 del ICSP de la placa. En el caso
del arduino Leonardo el ICSP no esta asociado a ningún pin por lo que tenia
que conectarlo directamente ahí.

Muchas gracias de todos modos!

Rafael dice
27 agosto, 2015 en 21:51

Te hago una consulta, tenes idea si puedo usar la tarjeta de memoria SD para almacenar
el programa y que se ejecute desde ahi?

Es poco el lugar que me da la memoria del Arduino y el programa es un poco grande!!!

Muchas gracias!!

R esponder

Enrique dice
2 septiembre, 2015 en 13:30

Buenas Rafael,

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 42/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

En la SD puedes almacenar datos, no instrucciones. Aun así, intenta optimizar el


código, utilizar menos instrucciones para hacer lo mismo (así es como se aprende
de verdad). :)

Mucho ánimo y un saludo.

R esponder

jmcn dice
30 julio, 2015 en 2:13

Felicidades por los tutoriales. Son muy buenos, igual que los comentarios posteriores.
Comentas que es mejor formatear la tarjeta con el FAT16 desde arduino. Como se haria?
Gracias.

R esponder

Enrique dice
9 agosto, 2015 en 11:33

Buenas,

Antes que nada disculpa la tardanza en contestar. Puedes formatear la tarjeta


desde la ventana de equipo (si utilizas Windows), dándole botón secundario sobre el
icono de la tarjeta.

Un saludo, Enrique.

R esponder

Ignacio dice

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 43/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

29 julio, 2015 en 3:43

Hola, si conectas el arduino al PC se puede leer la SD desde el PC. gracias

R esponder

Enrique dice
29 julio, 2015 en 20:04

No lo he intentado Ignacio, pero no debería haber problemas. Basta con que


implementes un código para ello.

Un saludo, Enrique.

R esponder

Suso dice
22 julio, 2015 en 20:06

Hola Enrique. La verdad es que tenía la shield Ethernet desde hace tiempo, pero no la
había utilizado para escribir/leer en una tarjeta SD. Cargué tu sketch en un Mega2560,
cambié el pin 10 por el 53, pero me dió error de compilación. Algo así como que faltaba
la librería SPI. Se la incluí y cargó perfectamente. Veo que tu sketch no la tiene. ¿Es
correcto?
Un saludo.
Suso.

R esponder

Enrique dice
22 julio, 2015 en 20:59

Se me habrá escapado Suso. Gracias por el dato :).

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 44/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Un saludo, Enrique.

R esponder

Oscar dice
26 junio, 2015 en 18:42

Hola.
Deduzco de esta frase “Puedes leer y escribir datos en diferentes archivos siempre que
cierres el que estabas utilizando antes de abrir el siguiente.” deduzco que no es posible
abrir dos ficheros a la vez . ¿Es eso cierto? (lo investigaría yo mismo pero no tengo
ningún módulo a mano…:-(
Gracias.

R esponder

Enrique dice
27 junio, 2015 en 19:26

Exacto Oscar.

Un saludo, Enrique.

R esponder

Baco dice
12 mayo, 2015 en 21:10

Comentas que el Pin de la Sd (MOSI) se conecta al Pin D50 del Arduino y que el Pin De la
Sd (MISO) se conecta al Pin D51 del Arduino.
¡¡¡¡¡¡ ESTO ES ERRONEO !!!!!!!

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 45/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Esta invertido
MOSI –> Pin D51
MISO –> Pin D50

Compruébalo buscando en la red imágenes que hay con la descripción de cada pin del
Arduino Mega.

R esponder

Enrique dice
14 mayo, 2015 en 20:43

Buenas Baco,

Puede ser que se me fuera el número al hacer el post.

Un saludo, Enrique.

R esponder

Pau dice
8 mayo, 2015 en 0:18

Hola Enrique
Estoy empezando con Arduino y de momento tengo un dominio mas bien bajo. Tengo en
mente un proyecto y querría de tu opinión para saber si puedo llevarlo a cabo o no. Te
cuento: me gustaría conectar una cámara a Arduino para hacer fotos y almacenarlas en
una tarjeta SD. ¿No habría problema en escribir las imágenes en la tarjeta no? También
me gustaría a poder ser que me recomendaras una cámara para Arduino, he estado
mirando algunas pero no lo tengo muy claro. Muchas gracias

R esponder

Enrique dice

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 46/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

8 mayo, 2015 en 13:45

Buenas Pau,

Lo que comentas se puede hacer. Normalmente a la hora de utilizar una cámara se


suelen necesitar tanto la cámara como un shield para manejarla. No sabría decirte
cuál es mejor ni peor porque depende del uso que le vayas a dar pero en general con
una cámara de VGA irás bien.

Un saludo, Enrique.

R esponder

Zobrezero dice
21 abril, 2015 en 0:40

Gracias! me va a servir muchisimo…

R esponder

Enrique dice
21 abril, 2015 en 11:38

Me alegro de que te haya gustado. :)

R esponder

Zobrezero dice
4 julio, 2015 en 1:06

De nuevo muchas gracias, jaja porque eh vuelto a caer en este post por otra
duda y me diste una pista de como resolverlo,, una pregunta, licencias tus
Sketchs?? si es asi con que licencia? (estoy a favor del conocimiento libre, va
por ahi mi duda)

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 47/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Enrique dice
4 julio, 2015 en 11:38

Buenas de nuevo,

Mi código, tu código :). Eso sí, mi sentido arácnido me avisa y se me cae un


lagrimón cada vez que cobráis por algo que, tanto yo como el resto de la
comunidad Maker, os damos gratis.

De hecho, nada me gustaría más que las reformas que le hacéis a mi código
me las volvierais a enviar para poder publicarlas en el blog (con vuestro
nombre).

Un saludo, Enrique.

jacqui dice
9 abril, 2015 en 19:38

hola, como puedo hacer para que los datos se almacenen en un archivo en excel.
Gracias

R esponder

Enrique dice
9 abril, 2015 en 22:22

Buenas Jacqui,

No he tenido que hacerlo aun así que no sabría decirte. Aun así, no creo que sea
trivial. Cuando he hecho cosas similares programando ha sido bastante líoso. :/

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 48/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Un saludo, Enrique.

R esponder

Luna Mimí dice


13 agosto, 2016 en 0:28

Lo guardas como un archivo “.txt” como Enrique lo hace en su programa y lo


puedes abrir en Excel (tienes que pucharle en “all files”, o “Todos los archivos”
para que no sólo puedas abrir los archivos Excel), te recomiendo separar los
datos por una “coma” porque por cada coma se genera una nueva columna en
Excel… te dejo un ejemplito de una función que hice para la memoria SD…

void sdcard()
{
String dataString = “”;
dataString += String(“Temperatura”);
dataString += “,”;
dataString += String (sensor);

File dataFile = SD.open(“datalog.txt”, FILE_WRITE);


if (dataFile)
{
dataFile.println(dataString);
dataFile.close();
Serial.println(dataString);
}
else
{
Serial.println(“Error abriendo archivo”);
}
}

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 49/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Leslie dice
7 abril, 2015 en 20:33

Hola!! estoy realizando un proyecto, estoy construyendo un Ratón Inteligente con la


ayuda de la placa electrónica Arduino Uno, mi proyecto tiene como objetivo esquivar
obstáculos en un escenario. Para esto se propone el uso de un laberinto el cual servirá
como escenario para el ratón inteligente, el cual identifique posibles rutas para llegar a
su destino. Se pretende realizar dos recorridos. El primer recorrido es de aprendizaje para
“conocer” el entorno, el segundo recorrido es para que el ratón inteligente optimice su
ruta llegando a su objetivo en el tiempo menor posible
Quiero utilizar un Modulo lector de tarjetas MSD que nos permite leer y escribir archivos.
Utilizare memorias micro SD para guardar los datos precisos del laberinto. Lo que
necesito es que al realizar el primer recorrido es que en el el modulo lector de targetas se
guarden los datos o la informacion de la ruta correcta para que cuando realice el
segundo recorrido el raton haga el recorrido mas rapido osea que llegue directamente a
su destino porque ya lo conoce y que no explore otros caminos. Mi peticion es si me
puede asesorar en la programacion para el lector o si me puede explicar, ya que no tengo
mucho conocimiento sobre el tema para estar mas directamente en comunicacion le
dejo mi correo.

R esponder

Enrique dice
7 abril, 2015 en 21:17

Buenas Leslie,

He eliminado tu correo del comentario por si las moscas. Te escribo al correo y te


comento.

Un saludo, Enrique.

R esponder

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 50/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Juan Manuel dice


6 abril, 2015 en 7:44

Hola Enrique,

He mirado muchos tutoriales, pero no he encontrado nada relacionado a lo siguiente :


<>
<>
Quizás me puedas ayudar hombre, gracias de antemano, Saludos .

R esponder

Enrique dice
6 abril, 2015 en 13:32

Buenas Juan Manuel,

La verdad es que no sé muy bien a qué te refieres. Necesitaría más datos para poder
comentarte algo al respecto. :/

Un saludo, Enrique.

R esponder

Alfonso Tapia dice


2 abril, 2015 en 3:13

Hoola Enrique!
Estoy utilizando un arduino junto a un acelerometro para mi proyecto de tesis y la verdad
tengo problemas con cargar los códigos, podrias ayudarme ?

R esponder

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 51/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Enrique dice
3 abril, 2015 en 15:49

Buenas Alfonso,

¿Qué pasa exactamente?

Un saludo, Enrique.

R esponder

Omar dice
23 marzo, 2015 en 14:53

Enrique, muchas gracias por tu tutorial. Pero me queda la siguiente duda:


Siempre que grabo info en la SD se graba al final del archivo ?. Si es así, que sucede si el
archivo crece tanto que ya no le quede espacio en la SD ? ( como por ejemplo si tuviese
en la misma memoria páginas HTML de un web server y por consiguiente no tengo toda
la SD disponible).
Hay alguna manera de hacer que el archivo sea de longitud fija y que si no le quedara
espacio la siguiente info (la info sería siempre de la misma cantidad de caracteres)
“pise” lo mas viejo ?… por ejemplo si le agrego la fecha y la hora a cada registro sabría
cuál es el registro mas viejo como para reemplazarlo con la última data.
Aguardo tus comentarios y gracias..
Omar

Lo que te quería consultar es si se puede crar un archivo de longitud fija

R esponder

Enrique dice
25 marzo, 2015 en 11:32

Buenas Omar,

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 52/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Antes que nada disculpa la tardanza en contestar.

Puedes regular la cantidad de información de manera simple utilizando un if().

Un saludo, Enrique.

R esponder

Omar dice
31 marzo, 2015 en 3:06

Clarisimo, Gracias por tu tiempo

Enrique dice
1 abril, 2015 en 16:06

Me alegro de que te haya gustado Omar.

Un saludo, Enrique.

Sarai dice
20 marzo, 2015 en 23:45

Hola Enrique!!

Oye una pregunta, resulta que tengo los valores en lista, como es que puedo leerlos de
uno por uno para ir guardandolos en un vector? porque si los leo de uno en uno me salen
valores que no están en mi lista.

Gracias de antemano!

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 53/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

R esponder

Enrique dice
21 marzo, 2015 en 15:12

Buenas Sarai,

No entiendo bien tu pregunta. Típicamente se leen los valores de uno en uno, si


estás recibiendo valores incorrectos quizás no se estén almacenando bien o la
tarjeta SD no esté en el formato correcto.

Un saludo, Enrique.

R esponder

sarai dice
22 marzo, 2015 en 0:56

Ciertamente, formule mal mi pregunta. Cuando usas Serial.write(archivo.read())


te muestra lo que hay en el archivo en el monitor serial,cierto? Ahora yo quiero
guardar eso que veo en el monitor serial en un array que me permita manipular
los datos. Si lo hago digamos m[i]=archivo.read(); si tengo un 12 me lee 1 y en
la siguiente localidad un 2 en lugar de poner el 12 en una sola localidad del
array.

Enrique dice
22 marzo, 2015 en 14:37

Buenas de nuevo,

Puedes trabajar con los caracteres de final de línea o crear un módulo auxiliar
que coloque correctamente los valores.

Un saludo, Enrique.

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 54/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Jorge Garcia dice


15 marzo, 2015 en 6:50

Hola, me preguntaba (aunque quisas sea una idea loca) de que se pudieran grabar
programas para arduino en la targeta sd y que luego, el mismo arduino los lograra leer y
ejecutar.

R esponder

Enrique dice
15 marzo, 2015 en 16:07

Buenas Jorge,

Me temo que se trata únicamente de memoria de datos y no puedes gestionar


instrucciones.

Un saludo, Enrique.

R esponder

Alexis dice
6 marzo, 2015 en 22:27

Buenas. Muy buen tutorial. Me podrías explicar cómo guardar los datos recogidos por un
sensor? Lo he intentado y me da muchos errores y no lo consigo :( :(
Gracias y un saludo

R esponder

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 55/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Enrique dice
7 marzo, 2015 en 15:59

Buenas Alexis,

Basta con que guardes los datos que recoge tu sensor en una variable y después
almacenes en la tarjeta el valor de dicha variable.

Un saludo, Enrique.

R esponder

ALex dice
3 marzo, 2015 en 8:54

Saludos

Deseo saber si podemos recuperar el ultimo valor escrito en una memoria sd…
Trabajo con un RTC(reloj en tiempo real) y almaceno un valor leido por el ADC cada vez
que escribo una instruccion en el puerto serie con ello la hora y fecha. Pretendo extraer el
ultimo dato de la memoria para así poder trabajar con una especie de resta definir
cuanto tiempo ha pasado desde el ultimo acceso.

Agradezco tu ayuda.

R esponder

Enrique dice
3 marzo, 2015 en 11:21

Buenas Alex,

Claro que lo puedes recuperar. De cualquier forma se me ocurre otra opción menos
eficiente pero quizás más fácil de “ver” que es que almacenes el último valor en la
memoria EEPROM y lo rescates desde ahí.
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 56/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Un saludo, Enrique.

R esponder

Alfonso dice
1 marzo, 2015 en 23:39

Gracias Enrique. A ver si aprendo :)

R esponder

Alfonso dice
28 febrero, 2015 en 16:26

Muchas gracias por este tutorías.

Yo llevándolo a mi campo… Podré almacenar datos de los sensores de un acuario.


Temperatura, ph, humedad… Y luego verlos y hacer gráficas??

Gracias

R esponder

Enrique dice
28 febrero, 2015 en 17:02

Buenas Alfonso,

Una vez tengas los datos almacenados puedes utilizarlos ya sea desde el propio
Arduino o con otros softwares.

Un saludo, Enrique.

R esponder
http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 57/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Pasos para poner c ódigo en los c omentarios:


1. Pega el código en el software de Arduino (IDE).
2. Selecciona el segmento que te interese y pulsa el botón secundario del ratón.
3. Pulsa en la opción "Copiar como HTML".
4. Pégalo en el comentario dentro de las etiquetas:
<div class="arduino_code"><code>PEGA AQUÍ TU CÓDIGO</code></div>

DEJA UN COMENTARIO

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados
con *

Comentario

Nombre *

Correo electrónico *

Web

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 58/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

PUBLICAR COMENTARIO

Current ye@r *

4.3

¿BUSCAS ALGO EN CONCRETO?

 Buscar en este sitio …

LOS ARTÍCULOS MÁS COMENTADOS

Las 3 Mejores Formas de


Alimentar Arduino

Arduino Ethernet Shield –


Controla Tu Casa Por Internet

¿Qué Resistencia Poner a un


LED?

Cómo Leer Y Escribir Datos En


La Tarjeta SD De Arduino

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 59/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

Cómo Y Por Qué Usar Las


Interrupciones En Arduino

Cómo Usar La Memoria


EEPROM De Arduino

Qué Arduino Comprar Para


Empezar

7 Razones Para No Usar La


Función Delay En Arduino

Cómo Conectar Un Relé Con


Arduino Y La Red Eléctrica

5 Formas de Pasar de 5V a
3.3V

INFORMACIÓN SOBRE EDUCACHIP

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 60/61
5/12/2017 Cómo Leer Y Escribir Datos En La Tarjeta SD De Arduino

¿N u evo en Ed u caC h ip ?

Acerca d e Ed u caC h ip

Acerca d el au to r

RECURSOS Y CONTACTO

Recu rso s

C o n tacto

Su scríb ete

AVISO LEGAL Y MAPA DEL SITIO

Av iso Leg al

Map a d el sitio

Ed u ca C h ip · © 2 0 1 7

Este sitio web utilizar cookies propias y de terceros para mejorar su experiencia en al web. Asumiremos que usted
está de acuerdo, aunque en caso contrario puede desactivarlas. Acept o Ver más

http://www.educachip.com/como-leer-y-escribir-datos-en-la-tarjeta-sd-de-arduino/ 61/61

También podría gustarte