Archivo del sitio

Escudo de Ethernet W5100 – IV – Lector de Tarjetas SD

Vamos a conectar un arduino duemilanove con un escudo Ethernet W5100 y utilizaremos la posibilidad que nos ofrece el citado escudo de “Lector de Tarjetas SD”. Aunque quiero advertiros que tenemos ciertas limitaciones, debido a la librería actualmente existente.

La primera de ellas es que podemos leer y escribir en la tarjeta, pero no formatearla, esto se debe realizar desde un ordenador.

La segunda es que aunque el  ordenador puede manejar varios formatos de sistema de archivos, la librería, por ahora solo soporta FAT16 y FAT32. En principio si se usa FAT32 se podría usar una tarjeta de hasta 32Gb. Otra de las limitación, son los nombres de los archivos, solo pueden utilizar los antiguos formatos de 8 caracteres para el nombre y tres para la extensión (sin acentos, ñ´s, espacios en blanco, etc).

El Shield Ethernet y la librería, controlan el acceso a Ethernet y a la SD Card por SPI, por lo que no podemos usar los pines  que corresponden a la gestión el bus SPI.

Para comprobar que la tarjeta está bien formateada, que todo esta correcto y que podemos usarla, existe un ejemplo suministrado por el programa (CardInfo ) que nos puede servir para éste fin. Asegurémonos que la SD esta formateada, grabamos en ella algunos ficheros (con nombre 8.3), la introducimos en el lector del Shield y encendemos el Arduino. El resultado debe ser algo similar a esto:

Realizaré uno programa con tres módulos diferenciados:

  1. Introducir/Grabar un dato en un archivo de la tarjeta SD
  2. Leer los datos grabados en un archivo en la tarjeta SD
  3. Borrar el archivo

El archivo donde vamos a realizar la grabación es “TEST.TXT”

Modulo de Grabar

Asignamos un valor analógico, abrimos el archivo, grabamos el valor en dicho archivo y cerramos el archivo.

Módulo de Leer

Abrimos el archivo, leemos el archivo y cerramos el archivo.

Módulo de Borrar archivo

Borramos el archivo

Circuito Práctico.

Programa Arduino

Fotos

Códigos Fuente

Manejar_SD.ino

Vídeo resumen: