Biblioteca SD

La biblioteca SD permite la lectura y escritura en las tarjetas SD, por ejemplo, en el Arduino Ethernet Shield. Está construida sobre sdfatlib de William Greiman. La biblioteca es compatible con sistemas de archivos FAT16 y FAT32 en las tarjetas SD estándar y tarjetas SDHC. Utiliza nombres cortos 8.3 de los ficheros. Los nombres de los archivos pasados a las funciones de la librería SD pueden incluir rutas separadas por barras inclinadas hacia delante, /, por ejemplo, "Directorio / archivo.txt". Debido a que el directorio de trabajo es siempre la raíz de la tarjeta SD, un nombre hace referencia al mismo archivo si incluye o no incluye una barra inicial (por ejemplo, "/file.txt" es equivalente a "archivo.txt"). A partir de la versión 1.0, la biblioteca es compatible con la apertura de múltiples archivos.

La comunicación entre el microcontrolador y la tarjeta SD utiliza SPI, que tiene lugar en los pines digitales 11, 12 y 13 (en la mayoría de las placas Arduino) o el 50, 51 y 52 (Arduino Mega). Además, otro número de identificación debe ser utilizado para seleccionar la tarjeta SD. Este puede ser el pin SS hardware - pin 10 (en la mayoría de las placas Arduino) o el pin 53 (en la Mega) - u otro pin especificado en la llamada a SD.begin (). Tenga en cuenta que incluso si usted no utiliza el pin SS de hardware, debe dejarse como una salida o la biblioteca SD no funcionará.

Formateo/Preparación de la tarjeta SD
(Nota: Cualquier referencia a la tarjeta SD, se entiende que es para los tamaños SD y microSD, así como los formatos SD y SDHD)

La mayoría de las tarjetas SD funcionan nada más sacarlas de la caja, pero es posible que usted tenga una que fue utilizada en un ordenador o una cámara y no pueden ser leídos por la biblioteca SD. El formateo de la tarjeta va a crear un sistema de archivos que el Arduino puede leer y escribir.

No es conveniente formatear las tarjetas SD con frecuencia, ya que acorta su vida útil.

Usted necesitará un lector de SD y el ordenador para formatear la tarjeta. La biblioteca es compatible con los sistemas de archivos FAT16 y FAT32, pero siempre que sea posible use FAT16. El proceso de formato es bastante sencillo.

Windows: haga clic en el directorio de su tarjeta y seleccione "Formato" en el menú desplegable. Asegúrese de elegir el sistema de archivos FAT.

OSX: Abrir Utilidad de Discos (ubicada en Aplicaciones> Utilidades). Elija la tarjeta, haga clic en la pestaña de borrado, seleccione MS-DOS (FAT) como el formato, y haga clic en Borrar. 
Nota: OSX impone una serie de archivos "ocultos" en el dispositivo cuando se formatea una unidad. Para dar formato a una tarjeta SD sin los archivos adicionales en OSX, siga estas notas en el sitio de Ladyada.

Linux: Con una tarjeta SD insertada, abra una ventana de terminal. En el indicador, escriba df, y pulse Enter. Las ventanas reportarán el nombre del dispositivo de la tarjeta SD, debe ser algo como / dev / sdb1. Desmonte la tarjeta SD, pero déjela en el ordenador. Teclee mkdosfs sudo -F 16 / dev / sdb1, reemplazando el nombre del dispositivo con el suyo. Retire la tarjeta SD y reemplácela para verificar su funcionamiento.

Nombres de archivos
Los sistemas de archivos FAT tienen una limitación cuando se trata de las convenciones de nomenclatura. Debe utilizar el formato 8.3, de modo que los nombres de los archivos se ven como "NAME001.EXT", donde "NAME001" es una cadena de 8 caracteres o menos, y "EXT" es una extensión de 3 caracteres. La gente comúnmente utiliza las extensiones .TXT y .log. Es posible tener un nombre de archivo más corto (por ejemplo, mydata.txt, o hora.log), pero no se pueden utilizar nombres de archivo largos.

Abrir / Cerrar archivos
Cuando se utiliza file.write (), no escribe en la tarjeta hasta que se ejecute flush () o close (). Cada vez que abra un archivo, asegúrese de cerrarla para guardar los datos.

A partir de la versión 1.0, es posible tener varios archivos abiertos.

Diferentes Placas / Escudos
Hay un número de diferentes escudos que admiten tarjetas SD. Esta lista no es exhaustiva, pero se utiliza comúnmente.

Escudo Arduino Ethernet


El escudo Ethernet viene con una ranura para tarjetas SD incorporada. El escudo encaja en la parte superior de la placa Arduino. Debido a que el módulo Ethernet utiliza el pin 10, el pin de CS para la tarjeta SD se ha movido a la patilla 4. Asegúrese de que utiliza SD.begin (4) para utilizar la funcionalidad de la tarjeta SD.

Placa Micro-SD Adafruit 


Esta placa es compatible con tarjetas Micro-SD, aunque tendrá que cablearla antes de poder utilizarla. En la placa, conectar GND a tierra, 5v a 5v, CLK al pin 13 en la placa Arduino, DO al pin12, DI al pin 11, y CS al pin 10. Si ya está utilizando el pin 10, se puede utilizar un pin diferente, como siempre recuerde que hay que cambiar el pin en SD.begin ().

Escudo SD Sparkfun 


El escudo de Sparkfun se acopla en su Arduino y utiliza el pin 8 para el CS. Usted necesitará el uso de SD.begin (8) para usar la tarjeta. 


NB: el escudo de Sparkfun se ha actualizado recientemente. Las versiones más antiguas parecen similares, pero carecían de una conexión con el bus de 3,3 V y no tienen el inversor hexadecimal incorporado.

Funciones para control de la tarjeta SD
Clase SD
Clase Archivo


Ejemplos

  • Datalogger: Registro de datos de tres sensores analógicos en una tarjeta SD.
  • Dump File: Leer un archivo de la tarjeta SD.
  • FilesCrear y destruir un archivo de la tarjeta SD.
  • List Files:Imprimir los archivos en un directorio en una tarjeta SD.
  • Read WriteLeer y escribir datos hacia y desde una tarjeta SD.

No hay comentarios:

Publicar un comentario