Una vez que tenemos instalada la librería, que tenemos una tarjeta que funciona con la librería y que hemos probado que Arduino es realmente capaz de leer/escribir en ella, vamos a hacer nuestros propios programas.
En primer lugar, incluímos la interfaz de la librería:
#include “SDuFAT.h”
Esto nos proporciona un objeto llamado SD para acceder a la tarjeta.
Probablemente usemos el pin digital 8 para alimentar el shield, así que definimos una constante:
const unsigned short pinSDPower=8;
Y en la inicialización nos preocuparemos de alimentar el shield, poniendo a alto el pin 8:
pinMode(pinSDPower, OUTPUT);
digitalWrite(pinSDPower, HIGH);
Y, optativamente, silenciar los mensajes de la librería:
SD.verbose(OFF);
Por defecto, la librería arranca en modo parlanchín, por lo que cada vez que haya un error o haga algo, nos lo comentará mediante el puerto serie (que deberemos haber inicializado). Para activarlo o desactivarlo está el método SD.verbose(estado), siendo estado ON u OFF (constantes definidas en SDuFAT.h)
No he leído en ningún sitio que haya que dejarle tiempo para arrancar y no sé si hay que hacerlo.
Podemos usar el método SD.println(fichero, cadena) para añadir cadena al final de fichero, seguida de un salto de línea:
SD.println(“hola.txt”, “tengo hambre”);
O bien, sin salto de línea usamos la función print():
char pez[]=”quiero bananas”;
char glu[2];
for(int i=0; i glu[0]=pez[i]
glu[1]=0;
SD.print(“hola.txt”, glu);
}
SD.print(“hola.txt”, “\n”);
Los métodos print y println reciben siempre dos punteros a cadena de caracteres: uno para el nombre de fichero y otro para la cadena a imprimir. No se puede imprimir un caracter directamente, ni un entero ni un real. Con la implementación actual sólo se puede una cadena de caracteres.

En imprimir la frase letra por letra (15 bytes, 15 accesos de escritura), Arduino emplea 10 segundos. La velocidad de escritura es muy lenta porque la librería (creo yo, no he mirado la implementación en tanto detalle) debe recorrer todas las estructuras de datos de la FAT almacenadas en la microSD. Por lo que es mejor guardar lo que queramos imprimir en una cadena, y luego imprimir la cadena en el fichero. Además, mantener el número de escrituras al mínimo aumenta la vida de la tarjeta y podría, en mi opinión, ayudar a disminuir el consumo de corriente.