¿se puede guardar otro tipo de archivo (que no sea .txt) en una SD?

hola a todos.

Bueno resulta que estoy haciendo mi trabajo de grado en el cual se involucra un arduino uno. Mi director de tesis está loco con que yo pueda almacenar los datos sensados de dicho proyecto en una memoria micro SD y plasmarlos en el PC, pero el lo que quiere es que se proyecte en MatLab.

en todos los post, paginas y videos que encuentro solo veo que se almacenan en archivos tipo .txt y nada mas que en .txt,entonces mi pregunta es ¿Habrá alguna forma de guardar estos datos en un archivo .m o en algun otro archivo que pueda ser compatible con MatLab? ¿Y cuál sería la forma? muchas gracias!! :slight_smile:

Sinceramente de matlab no creo , pero si usaras un arduino yun , creas un servidor , y subes los txt al servidor los podrías recoger con matlab y tratarlos , crear una interfaz

Otra idea podría ser , utiliza linux recoges los datos con python , conectando arduino por puerto serial , y con un programita con python creas el txt , y directamente los tratas con matlab ( que si no recuerdo mal si esta para linux ) ... Bueno o window jajaja

No te intentes complicar la vida buscando cosas raras , es mi consejo
Un saludo ,suerte .

Describe un poco más la aplicación para orientarte mejor me interesa saber si la comunicación con matlab y presentacion de los datos del arduinó debe ser en tiempo real o se guarda en la sd y de ahí se retira y se mete la sd en el pc para pasarle los datos a matlab, matlab puede leer directamente datos desde tal así que no tienes que preocuparte por guardar en otros formatos

Mi director de tesis está loco con que yo pueda almacenar los datos sensados de dicho proyecto en una memoria micro SD y plasmarlos en el PC, pero el lo que quiere es que se proyecte en MatLab.

Como dice Fausto (firisu2010) explicate mejor!
Matlab puede leer cualquier cosa. archivos txt, bin, xml, html, lo que sea.
No se comprende!

firius2010:
Describe un poco más la aplicación para orientarte mejor me interesa saber si la comunicación con matlab y presentacion de los datos del arduinó debe ser en tiempo real o se guarda en la sd y de ahí se retira y se mete la sd en el pc para pasarle los datos a matlab, matlab puede leer directamente datos desde tal así que no tienes que preocuparte por guardar en otros formatos

bueno, de hecho el proyecto va a ser una tarjeta que monitoreará la carga, la potencia y la descarga de un vehiculo solar que tenemos en la universidad, entonces la idea de mi director de tesis dice que seria bueno ver como es el comportamiento de la bateria y del panel en el transcurso del dia, para luego caracterizar dicho comportamiento mediante las graficas de matlab... no se si me he hecho entender.

Almacena los datos en formato csv delimitado por comas y matlab no tendrá problemas en leerlo.
No te compliques.. la vida es simple.
No hay que buscar ninguna solución Arduino matlab. Basta con ver como Matlab puede importar datos y verás que es factible como txt separado por comas, espacios, tabs. O usa un formato mas nuevo como JSON o lo que prefieras.

solo agrego que es preferible usar como delimitador el ";" asi matlab no nos esta avisando cada que deseemos hacer una grafica que no se puede entonces usar la "," como separador decimal cuando se usa como delimitador, lo dicho por Ricardo (Surbyte), tan sencillo como ir guardando los datos en un txt y luego se mete la memoria en MatLab.

bueno, ahora tengo otra duda ¿cuanto es la capacidad maxima de una SD que soporta un arduino? porque tengo una de 8Gb que basicamente la tengo de adorno, entonces no se si arduino me soporte ese tamaño de memoria o me tengo que conseguir una de menor capacidad

La librería SD posee un ejemplo el cuál puede detectar los tres tipos de tarjetas SD (SD, SDHC, SDXC).
Nunca he experimentado con SDXC; entonces por si las dudas, mejor quédate con SDHC (llega hasta los 32 GB).

Si tienes una de 8 GB a mano, úsala sin problemas :wink:
Sólo de un par de cosas deberías cuidarte:

  • Que no se llene durante el "logueo".
  • Que el archivo a trabajar no exceda los 4 GB de tamaño (para efectos de guardar texto, el límite sería de 4294967296 caracteres. Cada println introduce dos caracteres implícitamente).

La capacidad de la memoria no tiene importancia.
Lo que si lo tiene el cuanta información puedes pasarle al Matlab. Eso depende del buffer y la velocidad de lectura de la SD y posterior envío via Serial.