Guardar datos en un USB o una micro SD

Hola, buenas soy nuevo en arduino y estoy haciendo un pequeño proyecto y necesito guardar los datos que recoge un sensor IR sin que este conectado a mi ordenador mi pregunta es esta:

¿Es posible usar el puerto serie del arduino para poder guardar datos en esta memoria?, y si es asi...,
¿Como podría hacerlo?

Bueno he econtrado esto:Guardar Datos en una Micro SD usando SPI

Pero si puediera usar el puerto serie de mi Arduino estaría genial.

Es un Arduino nano y tendria que guardar una gran cantidad de datos... de 10-30MB y creo que el arduino no lo soporta.

De antemano muchas gracias y S2.

1 Like

No puedo creer que alguien que escribe su primer post, lo haga usando los tags por un lado, que haya buscado en Google su posible solución y la presente. Simplemente Felicitaciones!!!

El módulo SD se conecta via SPI (que no es el puerto Serie) de modo que esta vinculado al Arduino.
La cantidad de datos que puede guardar depende de la memoria SD utilizada. Cualquier memoria hoy como mínimo empieza en 4G asi que tus 30MB estan garantizados.
El Arduino guardaría datos en la SD y luego podrías explorarlos via puerto Serie usando algun comando que se lo pida.
Dime que te parece?
No esta claro que quieres hacer con los datos almacenados?
Y tampoco entiendo para que quieres guardar datos IR ni con con velocidad debes almacenarlos.

1 Like

pues si que existe si es un serial logger como este

55€ no es descabellado, y mas fácil que la memoria simplemente todo lo que saques con Serial.print se queda grabado en su memoria, tiene 4gb la versión mas pequeña

ahora bien, mas barato y no muy difícil es que lo hagas por SPI como dice mi compañero Surbyte,

Si por alguna razón tiene que ser serie, puedes construirte tu mismo un conversor serie a SD, con otro arduino, que todo lo que reciba lo grave en la sd y ya esta, sigue saliendo mucho menos de 55€

Primeramente muchas gracias por las respuestas a ambos.

surbyte:
No puedo creer que alguien que escribe su primer post, lo haga usando los tags por un lado, que haya buscado en Google su posible solución y la presente. Simplemente Felicitaciones!!!

El módulo SD se conecta via SPI (que no es el puerto Serie) de modo que esta vinculado al Arduino.
La cantidad de datos que puede guardar depende de la memoria SD utilizada. Cualquier memoria hoy como mínimo empieza en 4G asi que tus 30MB estan garantizados.
El Arduino guardaría datos en la SD y luego podrías explorarlos via puerto Serie usando algun comando que se lo pida.
Dime que te parece?
No esta claro que quieres hacer con los datos almacenados?
Y tampoco entiendo para que quieres guardar datos IR ni con con velocidad debes almacenarlos.

En teoria tendria que ser un pequeño sistema que se va moviendo por un plano (x-y) y va cogiendo muestras (mediciones que hace el IR) cada 2 mm pero bueno eso por ahora es lo de menos.

Lo que necesito/necesitaba es que; en pocas palabras, darle a un boton y que el arduino haga su recorrido y cuando termine se apage y los datos que ha ido obteniendo se queden almacenados para despues procesarlos por el ordenador.

Uno de los objetivos del proyecto es el LOWCOST y por lo que estoy leyendo en varios sitios la mejor opción es hacerlo mediante el SPI con una micro SD y ya esta.

GO_zalo:
pues si que existe si es un serial logger como este

55€ no es descabellado, y mas fácil que la memoria simplemente todo lo que saques con Serial.print se queda grabado en su memoria, tiene 4gb la versión mas pequeña

ahora bien, mas barato y no muy difícil es que lo hagas por SPI como dice mi compañero Surbyte,

Si por alguna razón tiene que ser serie, puedes construirte tu mismo un conversor serie a SD, con otro arduino, que todo lo que reciba lo grave en la sd y ya esta, sigue saliendo mucho menos de 55€

55€ es "bastante" comparado con la opcion de hacer yo mismo la conexion SPI. No tiene que ser estrictamente mediante la salida serie por lo que me voy a decantar por SPI, muchas gracias.

(Es mi primera vez en el foro así que no se si esto esta demás pero lo dejo por si alguien después tiene la misma duda)

CONCLUSIÓN:

Para guardar datos en un dispositivo externo (una tarjeta SD por ejemplo) una forma barata de hacerlo es mediante la conexión SPI que ya tiene nuestro arduino siguiendo un modelo parecido a este:

y consultar las librerías que ya están disponibles (no las he probado aún)

"#include <SD.h>"

y este pequeño tutorial que puede seros útil:
Leer y escribir datos en una tarjeta SD

Si queremos hacerlo mediante nuestro puerto serie hay inconvenientes que podrían ser simplemente el presupuesto ya que necesitas algún modulo extra.
Aquí estaría una explicación y alguna sugerencia (en ingles): Writing from Arduino to a USB Pen Drive.. - Frequently-Asked Questions - Arduino Forum

Gracias y si hay algo en lo que me haya equivocado avisadme S2.

El módulo ya viene armado asi que ni pierdas el tiempo haciéndolo. Low cost comprado por tu cuenta no te resultará mas barato que el módulo hecho.