Está en la página 1de 14

21/6/2016 ShieldEthernetySDcard|TutorialesArduino

SHIELD ETHERNET Y SD CARD


Usando la tarjeta SD del Shield Ethernet

Home Shield Ethernet Y SD Card

OBJETIVOS

Presentar la SD disponible en el Shield Ethernet.

Mostrar como leer y escribir en la tarjeta SD.

Ver algunos ejemplos sencillos de uso.

MATERIAL REQUERIDO.

Arduino UNO o equivalente.

UnShield Ethernet

LAS SD CARD

En los ltimos aos, las tarjetas SD y microSD se han popularizado mucho, debido al auge de la fotografa digital y la telefona mvil. No es fcil

http://www.prometec.net/sdcard/ 1/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino
encontrar un telfono mvil o Tablet, a quien no se le pueda ampliar la memoria con una de estas tarjetas, con la excepcin claro est, de Apple, que
como es habitual va por libre.

Basadas en la tecnologa de memoria FLASH, permiten escribir con buena velocidad (Relativamente ) y adems no pierden el contenido cuando las
desconectamos, lo que las ha convertido en una solucin de primera para intercambiar informacin.

Desde cmaras de fotos, Telfonos digitales y Memorias USBs, la tecnologa FLASH ha tenido un xito rotundo y una aceptacin masiva, lo que ha
llevado los precios a la baja y prcticamente han acabado con CDs DVDs y dems formatos pticos para la transferencia de informacin.

Hoy da no es raro comprar memorias USB de 8, 16 o 32 Gb por el precio de una entrada de cine. Y como nuestro Shield Ethernet lleva un lector
grabador de tarjetas micro SD, no podamos dejar pasar la ocasin sin ver cmo usarlas.

Aunque ya hemos comentado que los Arduinos, incluyen una memoria


EEPROM interna que podemos usar como mini disco duro, no se puede
comparar con la posibilidad de disponer de una tarjeta SD
intercambiable, especialmente en lo que a capacidad se re ere.

Por eso, en muchos proyectos, es muy interesante de disponer de uno


de estos pequeos grabadores, que nos permitan ir registrando los datos
que vamos leyendo de sensores, normalmente en combinacin un Reloj
de tiempo real RTC, y a los que posteriormente podemos acceder y
procesador en nuestros PCs mucho ms cmodamente.

CARACTERSTICAS BSICAS DE LAS SD CARD

Lo primero que os interesa saber es que Arduino puede leer y escribir SD Cards con ciertas limitaciones, debido a la librera actualmente en uso.
Como siempre estas limitaciones o especi caciones pueden cambiar en el futuro, pero es importante que las tengis en cuenta.

La primera es que Arduino puede leer y escribir en estas tarjetas, pero no formatearlas. Esto debe hacerse desde vuestros PCs. No es grave, pero es
as.

Lo segundo es que vuestros PCs pueden manejar varios formatos de sistema de archivos, pero la librera SD por ahora solo soporta FAT16 y FAT32.

Ambos formatos son una herencia de los viejos tiempos y de algn modo determinan el mximo tamao de disco (O de tarjeta) que puedes usar. En
principio si usas FAT32 deberas poder usar hasta una tarjeta de 32Gb.

As que si queris que el Shield Ethernet lea vuestra tarjeta, nada de formatearla en NTFS de Windows, HPFS de Apple o extN de Linux. Solo FAT16
y FAT32.

Despus tenemos otra limitacin con los nombres e archivos que quedan limitados al viejo formato 8.3, con nombre de 8 caracteres y extensiones de
tres. Y nada de acentos en los nombres ni s ni espacios en blanco. Nada que no sean letras y nmeros, sin signos raros.

Si usas Windows en cualquier versin, puedes introducir la tarjeta SD y formatearla desde el administrador de archivos. Introduce la tarjeta en el
lector y cuando la reconozca, apuntala y pulsa el botn derecho. Elige la opcin formatear y veras una ventana como esta:

http://www.prometec.net/sdcard/ 2/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino

En el sistema de archivos puedes elegir FAT32, y mantn el tick en la opcin formato rpido. Con inicio te formatear la tarjeta.

En OSX ve a Aplicaciones, Utilidades, Discos. Elije la tarjeta SD y selecciona el formato de disco MS-DOS FAT

Existe un programa que suelen recomendar si tenis cualquier problema, que tiene versiones para Mac y Windows llamado SD Formatter que podis
descargar gratuitamente de internet. Est desarrollado y soporte por la asociacin de fabricantes de tarjetas SD.

Por ultimo tenis que saber que la librera puede no escribir inmediatamente los datos que le envas a la SD, y para asegurarse de que es as, debes
hacer una llamada a ush (Vaciar) o close (Guardar y cerrar).

COMPROBANDO LA SD CARD

Necesitis saber que el Shield Ethernet y la librera, controlan el acceso a Ethernet y a la SD Card por SPI. Vimos que era as en el caso Ethernet y
recordad que no podamos usar unos pines en el Arduino, los que corresponden a la gestin el bus SPI.

Usamos el pin 10, Slave Select habitualmente en un UNO para seleccionar el acceso a Ethernet (El 53 en un MEGA), y necesitamos otro pin para
indicar que vamos a hablar con la tarjeta SD. En el caso de un Arduino UNO el Shield Ethernet utiliza el pin 4 y por tambin lo reservamos en las
sesiones anteriores.

http://www.prometec.net/sdcard/ 3/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino
Vamos a comprobar que la SD esta correcta y que podemos usarla. Aseguraros de que esta formateada y ponerle uso pocos cheros en ella (con
nombre 8.3) introducidla en el lector del Shield y enciende Arduino.

Como la librera SD viene de serie con nuestro Arduino, podemos cargar uno de los ejemplos para comprobar que lee la tarjeta:
\\Achivo\Ejemplos\SD\CardInfo

Si todo va bien cuando lo corris tendris una salida parecida a esto:

Os informa de que ha podido identi car la SD, y os da informacin del tipo de formato, tamao de la tarjeta y hasta hace un listado de los cheros
que contiene junto con algunas caractersticas.

Si veis algo as, perfecto podemos seguir. SI recibs algn mensaje de error, necesitamos que lo corrijis antes de seguir.

Los problemas ms tpicos suelen ser


No tener bien encajado el Shield en el Arduino

Por defecto trae el pin 10 como output pero si usis un Mega tenis que cambiarlo pinMode(10,
OUTPUT); // change this to 53 on a mega

EL PROGRAMA DE CONTROL

Para usar la tarjeta SD, tenis en primer lugar que cargar las libreras SPI y la SD:

#include<SPI.h>
#include<SD.h>

Despus tenis que activar el pin SS

pinMode(10,OUTPUT);//ParaunArduinoUNO
pinMode(53,OUTPUT);//ParaunMEGA

Y como siempre, necesitamos iniciar la SD Card con

SD.begin(4);

http://www.prometec.net/sdcard/ 4/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino
Donde 4 es el chipSelect es de la tarjeta SD. El resto es fcil. De nir un objeto File para leer un chero de la SD:

Fileroot;

Ya solo queda abrir un chero para lectura. Supn que se llama index.htm

FiledataFile=SD.open("index.htm");

Si consigue abrir correctamente dataFile tomara un valor que apunta a la estructura a leer del chero, en caso contrario se pondr a 0 indicando el
error.

Vamos a ver cmo hacer un programa que lea un chero en la SD y lo envi a la consola para ver lo que contiene:

#include<SPI.h>
#include<SD.h>
constintchipSelect=4;

voidsetup()
{Serial.begin(9600);
while(!Serial);//waitforserialporttoconnect.NeededforLeonardoonly
Serial.print("ProbandoSDcard...");
pinMode(10,OUTPUT);//Estoesnecesarioaunquecreasquenolousas.
if(!SD.begin(chipSelect))
{Serial.println("Nohaytarjeta");
return;//NOsigas
}
Serial.println("Sdencontrada.");
FiledataFile=SD.open("index.htm");
if(dataFile)//Sihapodidoabrirelfichero
{while(dataFile.available())//Mientrasnolleguesalfinal
Serial.write(dataFile.read());//Leeelficheroyenvialoalserie
dataFile.close();//Cierraelficheroalacabar
}
else//SInopuedeabrirelfichero
Serial.println("Error,nopuedousarindes.htm");
}
voidloop()
{}

SD.open() abre el chero que buscamos y devuelve un puntero de tipo File para leer datos directamente., o un 0 si no puede.

Conviene insistir en que la SD card es tambin una clase que deriva de stream y por tanto hereda propiedades que ya conocemos de otras sesiones.
Es el caso de datFile.Available() que vimos anteriormente con Serial como Serial.Available(), es decir, mientras haya datos disponibles, pendientes de
leer.

dataFile.read(), lee un carcter del chero y Serial.write lo enva a la consola. Por ultimo dataFile.Close, cierra y libera el chero .


Si no hacemos dataFile.close(), no podemos estar seguros de que se ha escrito todo lo que queramos al
chero.

No basta con sacar la SD y llevrtela. Si lo haces puedes corromper toda la informacin de la SD Card.

Adems la librera SD solo permite un chero abierto a la vez. Si quieres abrir otro chero tienes que cerrar
primero el anterior

UN PROGRAMA QUE GRABE DATOS EN LA SD CARD

http://www.prometec.net/sdcard/ 5/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino
La tarjeta SD se comporta como la puesta Serie, y prcticamente se maneja igual, con pequeas diferencias. En el programa anterior para leer el
chero, usbamos:

FiledataFile=SD.open("index.htm");

Sin pasarle ningn parmetro a SD.open() diferente del nombre del chero. Esto hace que lo abramos en forma de lectura, lo que impide que
escribamos en l. Solo podemos leer.

Para conseguir escribir en un chero usamos

FiledataFile=SD.open("data.txt",FILE_WRITE);

La idea del nuevo programaPrograma 65_2, es que va a escribir unos valores que lee de las puertas A2 a A4 y lo graba en el chero data.txt
(Naturalmente, como no tenemos nada conectado, leer basura, pero eso no nos importa mucho ahora mismo). La parte interesante del programa
est aqu:

FiledataFile=SD.open("data.txt",FILE_WRITE);
if(dataFile)//Sihapodidoabrirelfichero
{dataFile.println("VamosaescribirunpardetextosenlatarjetaSD")
for(intj=0;j<20;j++)
{
dataFile.println("Analog2:"+String(analogRead(A2)));
dataFile.println("Analog3:"+String(analogRead(A3)));
dataFile.println("Analog4:"+String(analogRead(A4)));
dataFile.println("....................................");
delay(100);
}
dataFile.close();
Serial.println("Listo.Terminado");
Volcado();
}

Abrimos el chero data.txt y escribimos a l como si fuera la puerta Serie. Al acabar simplemente cerramos el chero y listo.

Volcado() es una funcin que hace lo que vimos en el programa anterior. Copia a la consola el contenido del chero para que veis lo que contiene.

Si corris el programa unas cuantas veces veris que, la primera vez, crea el chero data.txt y escribe lo que le pedimos en l. Pero si cuando hace
el SD.open () el chero ya existe, la informacin que le enviamos se aade al nal, sin borra el contenido anterior.

Lo que resulta muy prctico cuando quieres grabar informacin de sensores y generar un histrico

OPERANDO CON LA ESTRUCTURA DE FICHEROS DE LA SD


http://www.prometec.net/sdcard/ 6/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino

Siempre que creas un sistema de cheros en un dispositivo vas a necesitar ayudas para mantenerlo. La librera SD de Arduino, nos da una serie de
funciones para jugar con cheros y directorios. Al hacer

SD.open(File.txt)

Se crea el chero en caso de no existir y podemos leer, pero no escribir. Y cuando hacemos:

SD.open("data.txt",FILE_WRITE)

Se crea, si no existe, y escribir desde el principio. Pero si existe, todo lo que escribamos decamos que se aade al nal de lo que ya exista. Pero a
veces nos interesa empezar una pgina en blanco, lo que podemos hacer borrando el chero si existe:

SD.remove(data.txt);

Y mejor an si comprobamos si existe antes:

if(SD.exists(data.txt)
SD.remove(data.txt);

Tambin podemos usar estructuras de directorios (Aunque no tengo claro hasta donde) y podemos crearlos y brrarlos conla SD library:

SD.mkdir("/a/b/c")

SD.rmdir(filename)

Mkdir puede crear directorios anidados y basta con referir el path completo del chero y rmdir los elimina con todo su contenido

Tambin dispone de un juego completo de funciones de ayuda:

MTODO DESCRIPCIN

File.Available() Nos indica que si hemos llegado al n e un chero

File. ush() Se asegura de que se escribe en la SD todo. Algo que hace automticamente al hacer close()

File.read() Lee un carcter del chero abierto y avanza


TIENDAa la siguiente
ARDUINO posicin
RASPBERRY PI FORO PROYECTOS CONTACTO

File.write() Escribe un carcter al chero y avanza la posicin

File.position() Te indica la posicin donde escribir/leer el prximo carcter en relacin al principio el chero

File.size() Devuelve el tamao de un chero

Coloca el apuntador que indica donde leer/escribir en la posicin que le indicamos a partir del inicio y siempre
File.seek(pos)
que este entre 0 y File.size()

File.peek() Lee un char de la posicin que marca el apuntador y no avanza

File.isDirectory() Indica si el chero abierto es o no un directorio

Hay algn que otro mtodo adicional que podis consultar en la documentacin de la SD library

http://www.prometec.net/sdcard/ 7/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino

RESUMEN DE LA SESIN

Hemos presentado la librera Arduino que nos permite acceder a la SD Card incluida.

Hemos visto un par de ejemplos sencillos, para mostrar cmo se lee y se escribe en la tarjeta.

Hemos visto que cuando escribimos, el modo por defecto, es aadir desde el nal de lo que hubiera. La idea
de esto es facilitar la creacin de registros de datos de una forma cmoda, y es uno de los usos ms
habituales de las tarjetas SD.

ANTERIOR SIGUIENTE

(45) COMMENTS

Jess Snchez 12 Jul 2015


Hola de nuevo. Tengo la Ethernet shield (clon) y me funciona perfectamente, pero no haba usado la parte de SD. Introduje una de 1 Gb,
formateada a FAT32 y nada, no la reconoce. Podra estar daada la sd? En el PC me funciona perfectamente. Comprob tambin que
Reply estuviera bien encajada la shield, y nada. Prob tambin a cambiar el pin 4 por el 8 y el 10 y tampoco.

Gracias por la ayuda.

Suso.

admin 13 Jul 2015


Hola Jesus, s eme jhabia pasado tu mensaje.
Pues no se que decirte. Mi shield tambien es clonico y me funciona perfecto. Creo recordar que debes usar el pin 4 porque
Reply en estas tarjetas es el chip select SPI del modulo lector y no vale ninguno otro, mira en el tuto mas ariba,
Haz las pruebas con el programita que ted a informacion de la tarjeta para q t diga como esta el tema. Y por si acaso
comprueba que lo has formateada a FAT16, porque la libreria no entiende nada mas y eso podria explicar porque windows
la lee y Arduino no
TIENDA ARDUINO RASPBERRY PI FORO PROYECTOS CONTACTO

Jess Snchez 13 Jul 2015


Gracias Charly. La formate en FAT 32, aunque ahora me encuentro fuera de casa, creo recordar que W8 solo me dejaba en FAT, a
secas y FAT32. Cuando regrese probar a ver.
Reply Gracias de nuevo y saludos.

Juan Carlos 16 Jul 2015


Hola chicos. Yo estoy probando con una de 512 MB que tena por un cajn esperando su oportunidad y despus de formatearla a FAT32
la reconoce perfectamente.
Reply

Juan Carlos 16 Jul 2015


Un comentario para principiantes como yo: al nal del programa para leer un archivo de la tarjeta faltara aadir el

Reply void loop ()


{
}

http://www.prometec.net/sdcard/ 8/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino

admin 17 Jul 2015


Tienes toda la razon. Ya lo he corregido gracias de nuevo

Reply

Jess Snchez 22 Jul 2015


Hola a todos de nuevo. De nitivamente hay duendes electrnicos. La formate de nuevo. Nada. Lo volv a hacer pero con
SDFormatter y nada. Desist (ayer tarde). Hoy vuelvo a conectar la placa (la tarjeta ya estaba dentro), cargo el sketch de Prometec de
Reply nuevo y funciona!!! Lo que si me he dado cuenta, por lo menos en mi placa, es que a veces, si le cargo otros sketchs para SD tengo
que desconectarle el cable USB y volverlo a conectar para que funcione. Vamos, que a veces funciona de seguido, cargandole diferentes
sketchs y a veces, tengo que desconectar y volver a conectar. (duendes)

Saludos.

Constan 16 Ago 2015


Se puede cargar web desde un editor html directamente en la SD?
1.- Directamente en la SD
Reply 2.- Mediante Ethernet
Podra hacer referencia en la misma pgina a una cmara ip si el editor lo permite? No se s arduino podr.
Gracias

admin 17 Ago 2015


Hola Constan
En principio entiendo que puedes cargar directamente la pagina HTML desde la SD, ya que si tua rduino es el servidor,
Reply basta con que vayas leyendo el HTML de la SD y se lo envies al cliente que lo solicita.
Pero en cuanto a la camara IP, ten en cuenta que quien la viualiza es nuevamente el cliente y no el servidor. Si la camara IP
acepta la visualizacion por una serie de instrucciones HTML, como un link por ejemplo, entonces tu servidor arduino puede
enviar el link y tu cliente lo vera sin problemas.

Constan 09 Sep 2015


Hola:
Siguiendo con la anterior pregunta
Reply Cargo correctamente una pagina estattica desde la SD leyendo byte por byte con File.read() y utilizandolo en cliente.write(File.read()).
El problema es cmo incluir valores de variables de aplicacin dentro del codigo html.
Sabis como puedo presentar el valor de esas variables en la pagina web?
Gracias.

admin 10 Sep 2015


Hola COnstan, algun dia tendremos que montar una sesion con ese tema, pero de momento veamos.
Podrias cargar en la SD la parte estatica y donde quieres que aparezcan tus valores , pones algo asi como @@TEMP@@ o
Reply algo parecido, de modo que a medida que lees las lineas delARDUINO
chero compruebas si aparecen estas claves. Cuando las
TIENDA RASPBERRY PI FORO PROYECTOS CONTACTO
encuentres simplemente sustituyes esa clave por un String con su valor y sigues la lectura tranquilamente

luis 03 Oct 2015


hola amigo, cordial saludo.
mi pregunta: es posible enviar y cambiar informacin en la sd desde un pc via ethernet para varios arduinos al mismo tiempo?. lo que
Reply pretendo es por medio de una aplicacion en el pc, poder decirle al(los) arduino(s) que lea en la SD la informacion nueva que se escribi:
es el nuevo horario para que active las salidas digitales que se deseen a la horas que se necesiten. no se si me hice entender?

mil gracias

admin 04 Oct 2015


No estoy muy seguro de lo que quiere shacer hacer Luis, pero desde luego puedes usar un PC para enviar las ordenes que
desees a varios arduinos por TCPIP ya que cada uno tiene su propia direccion. Necesitaras un programa en cada arduino
Reply que identi que esas ordenes y obre en consecuencia pero noveo ningun impedimiento para hacer lo que deseas
UN saludo

http://www.prometec.net/sdcard/ 9/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino
Alvaro 15 Nov 2015
Hola que tal muy bueno el tutorial , estube haciendo el servidor web con ethernet shield en el arduino , pero quisiera subir imagenes a la
pagina , como se podria hacer ? Gracias
Reply

admin 16 Nov 2015


Hola Alvaro,
El tema de mostrar imgenes en el web server de arduino desde la SD es uno de esos que tengo pendientes desde no se
Reply cunado y parece que nunca acaba de llegarle el momento porque siempre hay algo mas urgente.
Espero poderlo preparar pero no puede con rmarte cuando. Entre tanto es sencillo buscar algo sobre el tema en internet al
menos en ingles
Un saludo y hasta pronto

Cristiams 23 Nov 2015


Saludos, tus tutoriales son muy buenos, pero en este estoy estancado. Mi ethernet shield no reconoce las tarjetas SD que le coloco. Me
podrian decir cual marca y modelos estan usando. Llevo rato trantando de solucionarlo y nada. Ya lo he formateado en FAT 32 y FAT 16.
Reply

admin 23 Nov 2015


Hola Cris, casi con seguridad tu problema esta en el formateo. Casi cualquier SD deberia servir, pero usa para formatearla
este program:
Reply https://www.sdcard.org/downloads/formatter_4/

Probablemente te funcionar

Cristiams 23 Nov 2015


Bueno ahora lee la tarjeta SD, tuve que usar un modelo Kingston 16 GB tipo HC, pero ahora me dice que no puede encontrar la
particion FAT16 o FAT32
Reply

admin 24 Nov 2015


Hoal Cris, dos preguntas Que lector de tarjetas estas usando? y La has formateado con el programa de la asociacion de
fabricantes?
Reply

Cristiams 24 Nov 2015


Si la he formateado con el programa SD formateer y estoy usando un arduino UNO junto un ethernet shield clon. Con lector de tarjetas
te re eres al adaptador? Porque estoy usando como adaptador una Sandisk, pero mis tarjetas son kingston y Standars. He intentado
Reply con la libreria SD FAT y me lance los siguientes errores:

errorCode: 0xa, errorData: 0xff // Para tarjeta SDHC de 16 GB


errorCode: 0x2, errorData: 0xff // Para tarjeta SD Standar de 2 GB
TIENDA ARDUINO RASPBERRY PI FORO PROYECTOS CONTACTO
Gracias por interesarte

admin 25 Nov 2015


Hola Criatiams,
Pues no se que decirte. He oido hablar de tarjetas SD que dan problemas, pero las que yo uso son kingston como la tuya y
Reply sin problemas con FAT32 y FAT16 y el lectore SD de la tarjeta ethernet esta probado de sobra. solo se me ocurreo que
pruebes con alguna otra tarjeta que te preste alguien y si el problema persiste seria cuestion de empezar a pensar en que
no vaya bien el shield ethernet

oscar 17 Dic 2015


Hola.
Este tutorial me ha perecido muy bueno.
Reply Tengo una duda, si deseo guardar en una base de datos Sqlite que tengo el la SD datos, como lo hago?. Que instruccion uso?. Por
ejemplo tengo 2 valores, uno de temperatura y otro de humedad y quiero colocarlos en la base de datos que ya tiene esos dos campos
preparados?

Muchas gracias pos vuestra ayuda de ante mano.


Un saludo

http://www.prometec.net/sdcard/ 10/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino
scar

admin 17 Dic 2015


Hola Oscar,

Reply No creo que arduino pueda correr SQL lite, por lo que no creo q sea posible guardar tus datos directamente en la tarjeta
SD, pero podrias enviar esoas lecturas a un servidor y que sea este quien guarda los datos. Echa una ojeada aqui:
http://combustory.com/wiki/index.php/Arduino_Communications_-_SQLite

En la SD puedes guradar textos separados por comas o CSV les, y luego importarlas a SQL lite en tu pc

Alberto 14 Ene 2016


Hola, estoy intentando guardar datos de un acelermetro que utiliza SPI para comunicarse con ARDUINO en una SD. Cuand pruebo
cada uno de los esclavos por separado, funcionan perfectamente. Sin Embargo, cuando intento juntar ambos en el mismo programa, el
Reply acelermetro deja de funcionar. Alguien podra ayudarme? Un saludo.

admin 14 Ene 2016


Alberto, el SPI es un bus compartido y por eso solo uno puede hablar a la vez y para determinar cual es utilizas el pin CS o
chip select creo recordar. Tienes que usar un pin para la SD y otro para activar el ecelerometro asegurandote de no activar
Reply los dos a la vez en ningun momento

Alberto 14 Ene 2016


El acelerometro me devuelve valores igual a 0. Pienso que es un problema con las libraries, que deben ser incompatibles. Aunque no soy
para nada un experto en estos temas :S
Reply

Alex 28 Ene 2016


Sos un genio, pero tengo una consulta, quiero grabar la lectura de 2 potenciometros durante unos segundos en un TXT y luego leer los
datos de cada uno independientemente para ser usado por separado. Como puedo hacer eso? se q estars ocupado, solo dame una
Reply idea por donde buscar y me las arreglo, Muchas Gracias muy buena la pagina, perfecta.

CineHDV 28 Ene 2016


aclaro es grabar con un jostick el movimiento de un cabezal de 2 ejes, luego reproducir el movimiento, osea hablamos si
bien son unos 10 seg como maximo, grabara mas de 1000 movimientos en ese transcurso por cada eje, pensaba usar 2
Reply archivos uno para cada eje, pero no puedo grabar 2 archivos a la vez, disculpa las molestias, Gracias.

admin 28 Ene 2016


Ciertamente no puedes grabar dos archivos a la vez, pero no cero que lo necesites, ya que puedes grabas los
TIENDAtal queARDUINO
dos valores que lees en un unico chero asi: RASPBERRY PI FORO PROYECTOS CONTACTO
Reply
timestamp, xxx, yyyy [return]

Despues puedes leer en secuencia buscando el tiempo o lo que sea y lees la linea entera, te da igual que sean
10 valores y seleccionas el que quieres . No se si eso te puede valer

admin 28 Ene 2016


Sin conocer tu idea, se me ocurre que si solo son unos segundos, lo grabes en un array en memoria , a base de usar un
MEGA o DUE , que van mas sobrados que el UNO y luego proceses el array tranquilamente.
Reply
Otro modo seria que lo grabes en la eeprom interna o en la SD, pero despues tendras que ir leyendo en secuencia para
leer lo que has grabado

Alberto 03 Feb 2016


Hola, el programa cardinfo me reconoce la tarjeta y me dice que est correcta, incluso me lista un nico archivo que tengo grabado.
Cuando pruebo tu cdigo para crear el archivo me dice que no hay tarjeta, Error, no puedo usar data.txt.
Reply tanto el arduino como la shield son clones.
He probado a desconectar el usb y volverlo a conectar antes de recargar el programa de nuevo, pero siempre obtengo el mismo

http://www.prometec.net/sdcard/ 11/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino
resultado: no hay tarjeta

admin 03 Feb 2016


Hola Alberto, te aseguro que probamos todos y cada uno de los programas que publicamos aunque no estamos libres de
errores claro esta. De todos modos estoy teniendo bastantes problemas raros con la version 1.5.7 del IDE Que version
Reply estas usando?

Alberto 03 Feb 2016


Buenas tardes, uso la 1.6.7.
Es muy raro, he formateado la microsd en Fat32 desde windows, no he probado con el programa de formateo
Reply que comentabas en un post anterior.
Incluso he cambiado esto:
// if (!SD.begin(4))
if (!card.init(SPI_HALF_SPEED, chipSelect))
la primera condicin es la de tu programa y la segunda la que viene en el cdigo de cardInfo en los ejemplos
del arduino (donde me da que la tarjeta est OK).
Slo tengo la shield ethernet pinchada en la placa arduino uno y la microSD dentro del lector de tarjetas de la
ethernet. nada mas.
probar a ver formateando la tarjeta con el programa SD Formatter.

muchas gracias, ya contar.

Alberto 03 Feb 2016


evidentemente he de nido as card y chipSelect tal y como estaba en cardInfo (copiar y
pegar).
Reply Sd2Card card;
const int chipSelect = 4;

Jess Snchez 03 Feb 2016


Hola a todos.

Independientemente de que la versin de IDE de problemas, me ocurri algo similar


con una shield Ethernet clon tambin, y todas las microSD que le insertaba. No me
reconoca ninguna, ni formatendolas con Windows ni con la app. Probando al da
siguiente con las misma tarjeta del da anterior, milagrosamente la reconoci y pude
leer y escribir en ella. No s si es tema de los contactos o que.

Saludos.

admin 03 Feb 2016


Hola Alberto, sospechoTIENDA ARDUINO
que el problema esta enRASPBERRY
tu versionPIde Arduino,
FORO la 1.6.7
PROYECTOS
me ha dadoCONTACTO
cantidad de guerra con diferentes cosas y he optado por desinstalarla. Te recominedo hacer lo
Reply mismo y probar con una delas versiones previas

Alberto 04 Feb 2016


Buenos das, ya he descubierto el problema:
// pinMode(10, OUTPUT);
He puesto esta lnea como comentario.

He probado los ejemplos que vienen con el IDE y funcionaban, as que mirando lnea
por lnea he visto que t incluas esa que no estaba en los ejemplos de arduino. Ha
sido marcarla como comentario y a funcionar.
Muchas gracias por todo.
Alberto.

Alexis de Argentina 13 Mar 2016


Hola Sos Genial, te hago una consulta, teniendo en cuenta la conexion correcta, me he dado cuenta que no se puede leer la
informacion de la SD en un loop in nitas veces, solo se puede 23 veces, luego de ese loop de veces salta la lectura, y no vuelve a leer
Reply hasta que no se resetea, he echo cientos de pruebas, cambiando pin, usando otros arduinos, tengo el Nano, el Uno, el Mega, Tambien

http://www.prometec.net/sdcard/ 12/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino
cambie la sd de 1gb a 8gb la formatie en fat 16 y 32, y hacen lo mismo, use el ejemplo ListFile de la libreria SD solo que traslade la
lectura en el SETUP que se hace una ves al LOOP con un delay de 500ms para no saturar la sd, pensaras para q quiero re leer un
archivo especial tantas veces, la cuestion es que este error lo tengo con un proyecto en el cual no puedo leer el archivo por mas de esa
cantidad. (aclaro, la prueba que hice es para ver la lista de archivos dentro de una sd, solo puse un archivito nuevo llamada 1.txt) para
eliminar opciones y solo lea algo simple. pero no se que esta pasando, Si lo podes hacerlo vos y me decis q si se puede, entonces me
pego un tiro (en sentido gurado), gracias. ha y tambien probe poner en ves de close() en ush(); igual resultado

admin 14 Mar 2016


Hola Alexis, No he hecho muchas pruebas con las SD, pero me suena raro ese problema. No recuerdo haber visto nada
parecido en ningun foro y en mi caso nunca he encontrado ese problema, y si recuerdo haber escrito y leido en bucle eso
Reply si, mas de esas 24 veces que mencionas.

Aun cuando ese fuera el caso deberias poder cerrar la sesion y volver a abrir otra vez. Puedes postear el codigo para
revisarlo?

Damian Argentina 18 May 2016


Hola, antes que nada quera agradecer por la buena predisposicin.
Mi consulta es la siguiente: una vez inicializado el programa pero sin SDcard el programa avisa que no este incertada la SD, y continua
Reply con su curso normal. Lo que quisiera saber es si existe alguna forma de que una vez incertada, el programa detecte esto, sin la
necesidad de reiniciar el equipo. prob con SD.begin() dentro del loop{}, pero no funciona.

saludos.

admin 18 May 2016


Hombre, me imagina que el SD.begin() te devolvera errores mientras no tenga tarjeta pero funcionara bien en cuanto la
insertes
Reply

Damian Argentina 19 May 2016


Estimado
Al utilizar el SD.begin() dentro del loop y sin tener colocada la SD, sucede que se reinicia el micro, cada vez que ejecuta la funcin.
Reply existe algun tipo de interrupcion que se pueda utilizar como ag?. asi se detecta cuando tiene o no un SD?. gracias.

admin 19 May 2016


Hola Damian, esto me pasa por probar las cosas antes d ehablar, jajaja. MIra aqui:

Reply http://forum.arduino.cc/index.php?topic=46969.0

Estan hablando de como detectar esto y tiene sus propios problemas pero dependiendo de lo que quieras hacer te puede
valer:
void loop() {
TIENDA
if(SD.exists(test le.txt)) Serial.println(Fiel Exists ARDUINO
so SD seems RASPBERRY PI
to be in); FORO PROYECTOS CONTACTO
else Serial.println(Fiel does NOT exists or SD is not in socket);
delay(1000);
}

Antonio 28 May 2016


hola amigo hay posibilidad de mostrar un archivo de la sd en la una ip?

Reply

admin 29 May 2016


Hola ANtonio, no deberia ser complicado. Basta con que al recibir una orden dada por la web el servidor vuelque el
contenido del chero a la web y deberia verse en el navegador si es de texto
Reply

GIVE A REPLY

Message

http://www.prometec.net/sdcard/ 13/14
21/6/2016 ShieldEthernetySDcard|TutorialesArduino

Name (required) Email (required)

URL

Post comment
WordPress Anti-Spam by WP-SpamShield

CATEGORIAS DE LOS
PRODUCTOS

Eligeunacategora

Copyright href="http://www.prometec.net" title=""> Design Themes Prometec.net

TIENDA ARDUINO RASPBERRY PI FORO PROYECTOS CONTACTO

http://www.prometec.net/sdcard/ 14/14