estimado espero puedan ayudarme, estoy usando esta tarjeta http://www.olimex.cl/product_info.php?p ... oSD_Shield,
me compre una para probar y funciono in peque sin problema pero ahora compre 5 mas y ninguna funciona.
este codigo use para las pruebas rapidas
// Escribir datos en una tarjeta SD con Arduino - Datalogger http://zygzax.com/
//Incluimos la libreria SD.
#include <SD.h>
// Guardamos en que entrada de Arduino esta conectado el pin CS del modulo.
const int chipSelect = 4;
int grados, decimas;
int lm35read;
int temperatura;
void setup(){
// Configuramos el puerto serie para informar de fallos a traves de el.
Serial.begin(9600);
// El pin CS por defecto de la placa arduino debe ser configurado como salida
// aunque no se use (10 en la mayoria de las placas, 53 en Arduino Mega).
pinMode(10, OUTPUT);
// Si ha habido error al leer la tarjeta informamos por el puerto serie.
if (!SD.begin(chipSelect)){
Serial.println("Error al leer la tarjeta.");
return;
}
}
void loop(){
// Creamos las variable donde vamos a guardar el valor del potenciometro.
int pot=0;
// Leemos los datos del potenciometro.
pot=analogRead(0);
// Abrimos el fichero donde vamos a guardar los datos (Si no existe se crea automaticamente).
File dataFile = SD.open("valorpot.txt", FILE_WRITE);
// Si el fichero es correcto escribimos en el.
if (dataFile) {
// Escribimos en el fichero "POT: "
dataFile.print("POT: ");
// A continuacion escribimos el valor de la variable pot y saltamos a la linea siguiente.
dataFile.println(pot);
dataFile.println("-----5s-----");
dataFile.print("Lectura en bruto ");
dataFile.print(lm35read);
dataFile.print(" temperatura ");
dataFile.print(grados);
dataFile.print(".");
dataFile.println(decimas);
// Cerramos el archivo.
dataFile.close();
// Avisamos de que se ha podido escribir correctamente.
Serial.println("impresion correcta");
Serial.print("Lectura en bruto ");
Serial.print(lm35read);
Serial.print(" temperatura ");
Serial.print(grados);
Serial.print(".");
Serial.println(decimas);
// Si no pudimos escribir en el fichero avisamos por el puerto serie.
}else{
Serial.println("Error al escribir en valorpot.txt");
}
// Esperamos 5s para tomar la siguiente medida.
delay(1000);
}
y no guarda ningun dato y dentra en esto.
if (!SD.begin(chipSelect)){
Serial.println("Error al leer la tarjeta.");
la primera aun funciona pero es raro que 5 tarjetas nuevas estén malas, puede ser que aya muerto algo mas, uso la misma sd en la que funciona y en las que no...
gracias por cualquier info que puedan darme...
EDIT BY MOD: moved to proper language - added code tags