| LA TARJETA MICRO-SD |
|
LA TARJETA MICRO-SD
Si bien se consiguen módulos para Arduino que permiten conectar tarjetas
de memoria, existe también la posibilidad de fabricar una en forma casera.
En el esquema de la imagen anterior se muestra la interconexión de una tarjeta SD, o de un adaptador
para microSD, con un Arduino Mega 2560, pero sirve también como referencia para la conexión a otras placas
Arduino, en las que seguramente cambiará la numeración de los pines. En tal caso, se debe ubicar a cada
pin utilizando el nombre de la función que cumple (MOSI, MISO, SS, SCK) y obteniendo el mapa de pines y
sus funciones para esa placa en particular.
// Se incluye la biblioteca 'SD'
#include <SD.h>
// Se declara una constante indicando el pin del Arduino conectado al terminal 'CS' de la tarjeta SD
const int chipSelect = 4;
void setup(){
// Se abre el puerto serie estándar para poder publicar los mensajes de error
Serial.begin(9600);
// Aunque no se utilice, se debe declarar el pin 'CS' del Arduino como salida
// 53 para el Arduino MEGA, 10 para la mayoría de las placas restantes
pinMode(53, OUTPUT);
// Se establece el vínculo con la tarjeta
if (!SD.begin(chipSelect)){
// En caso de error, se lo puede notificar a través del puerto serie antes abierto
Serial.println('Error de acceso a la tarjeta SD/microSD.');
return;
}
// Para abrir el archivo en el modo de lectura, la sentencia sería la siguiente
File archivo = SD.open('datos.txt');
// Se chequea el manejador de archivos para asegurar que se puede proceder
if (archivo) {
// Se puede recorrer el archivo con un lazo hasta que no haya más datos disponibles
while (archivo.available()) {
// En este caso, por ejemplo, se envía el contenido del archivo por el puerto serie
Serial.write(archivo.read());
}
// Finalmente se debe cerrar el archivo
archivo.close();
// Si no se pudo abrir el archivo, se puede advertir a través del puerto serie
} else {
Serial.println('Error al intentar abrir el archivo datos.txt');
}
}
void loop()
{
}
El código necesario para escribir en un archivo, podría ser el siguiente:
// Se incluye la biblioteca 'SD'
#include <SD.h>
// Se declara una constante indicando el pin del Arduino conectado al terminal 'CS' de la tarjeta SD
const int chipSelect = 4;
void setup(){
// Se abre el puerto serie estándar para poder publicar los mensajes de error
Serial.begin(9600);
// Aunque no se utilice, se debe declarar el pin 'CS' del Arduino como salida
// 53 para el Arduino MEGA, 10 para la mayoría de las placas restantes
pinMode(53, OUTPUT);
// Se establece el vínculo con la tarjeta
if (!SD.begin(chipSelect)){
// En caso de error, se lo puede notificar a través del puerto serie antes abierto
Serial.println('Error de acceso a la tarjeta SD/microSD.');
return;
}
// La siguiente línea comprueba si existe el archivo 'datos.txt'
if (SD.exists('datos.txt')) {
// Aquí la decisión tomada es borrarlo, para crearlo otra vez, pero sin datos
// es la forma de reemplazar el contenido de un archivo ya existente
// Si no se lo borra, lo que se escriba sobre él será a continuación del final de su contenido actual
SD.remove('datos.txt');
}
// Para abrir el archivo en el modo de escritura, la sentencia sería la siguiente
File archivo = SD.open('datos.txt', FILE_WRITE);
// Se chequea el manejador de archivos para asegurar que se puede proceder
if (archivo) {
// Se puede entonces escribir información en el archivo, por ejemplo:
archivo.print('Esto fue escrito ');
archivo.println('desde una placa Arduino!');
// La diferencia entre 'print' y 'println' es que la última agrega un salto de carro y un cambio de línea
// Finalmente se debe cerrar el archivo
archivo.close();
// Si no se pudo abrir el archivo, se puede advertir a través del puerto serie
} else {
Serial.println('Error al intentar abrir el archivo datos.txt');
}
}
void loop()
{
}
|