Pages: [1]   Go Down
Author Topic: Explorar y abrir archivos de una SD???  (Read 803 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Full Member
***
Karma: 0
Posts: 160
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas a todos de nuevo...

Vuelvo por aqui para solicitar de vuestra sabiduría...

En mi proyecto creo archivos de texto en diferentes carpetas, con la siguiente estructura...

> ENTRENOS
... > AÑO
......> MES
..........> DIA
.............> HORA.txt

he visto ejemplos de como abrir un archivo concreto, pero me interesaría poder explorar las carpetas y seleccionar el archivo que yo quiera para poder ver el contenido, y mostrarlo en un display...

Conocéis algún ejemplo que pueda mirar para saber por donde me da el aire?? ando un poco perdido... y no encuentro nada con el oráculo google...

Gracias de antemano .....
« Last Edit: May 26, 2013, 06:43:15 am by Lisergio » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


echa un ojo a esto a ver si es lo que buscas.
http://arduino.cc/en/Reference/FileOpenNextFile

También puede que te interese esta otra función para saber si son directorios aunque pienso que usas un orden bastante regular y puede que no te haga falta.
http://arduino.cc/en/Reference/FileIsDirectory

Lo tienes todo en la clase SD.h. Ya nos contarás cómo te ha ido!
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 160
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Gracias! Eso ya lo tenia mirado , y me viene bien para abrir un archivo en cuestion...
Pero para abrirlo debo saber la ruta exacta...
Mi plan es poder navegar por los directorios y ver los archivos de cada directorio en un lcd...y una vez visto el nombre del archivo,poder seleccionarlo y abrirlo para  verlo linea a linea.

Pero no consigo hacerlo...
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


A ver si consigo ayudarte. He hecho este pequeño ejemplo, cutre pero espero que te sirva para entenderlo, que si lo cargas te sirve para listar todos los archivos que hay en un directorio. Con la función isDirectory() ves si es un directorio o un archivo. En tu programa si es un archivo al seleccionarlo debería abrirlo y si es un directorio pues imprimes todos los archivos de ese nuevo directorio. Para el asunto de la ruta puedes ir almacenando en una variable la ruta que has ido siguiendo al navegar, cada vez que entras en un directorio nuevo pues se lo añades a la ruta al final y listo!

Code:

#include <SD.h>

File root;
File archivo;

void setup()
{
  Serial.begin(9600);
  pinMode(10, OUTPUT);

  if(SD.begin(10)){
    Serial.println("Iniciado correctamente.");
  }else{
    Serial.println("Error al iniciar.");
  }

  root = SD.open("/");

  do{
    archivo = (root.openNextFile());
    if(!archivo){
        //Si no hay archivo siguiente
        Serial.println("\n \n FIN");
    }else{
      Serial.print(archivo.name());  //Imprimo el nombre
      if (archivo.isDirectory()){
          //Si es un directorio
          Serial.print("\t \t directorio");
      }else{
          //Si es un archivo
          Serial.print("\t \t archivo");
      }
      Serial.print("\n");
    }
  }while(archivo);
 
}

void loop()
{

}

Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 160
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok! muchas gracias por el scketch y por la idea.. voy a estudiarla.. y ya comentare los resultados...
quiero mostrarlo en un LCD 2x16, así que tengo curro para hacerlo....

gracias otra vez...
Logged

Pages: [1]   Go Up
Jump to: