Estamos acostumbrados a la utilización de sensores en nuestros proyectos. Un sensor, como hemos repetido muchas veces, proporciona información valiosa de una variable (puede ser una temperatura, un valor de presión, la presencia de gas, si hay más o menos luz, etcétera)

Ya hemos aprendido cómo ver la información de una variable en una pantalla de ordenador o también, en una pantalla LCD. Pero, ¿por qué no guardar los datos en una tarjeta de memoria, para después estudiarlos con el software adecuado?.

Qué necesitamos para grabar datos

Necesitamos un lector de tarjetas. Podéis verlo en la foto de cabecera y en esta otra, donde vemos la identificación de todos los pines:

grabar datos en una tarjeta microSD

Es importante tener en cuenta a qué pin de arduino conectamos el pin del lector microSD para indicarlo en el programa, como veremos seguidamente. La distribución de pines del esquema siguiente se corresponde con el de la fotografía anterior (con GND a la izquierda):

grabar datos en una tarjeta microSD

Cómo grabar datos en una tarjeta microSD

Una vez conectado el lector de tarjetas, es necesario que este componente pueda comunicarse con la placa arduino. Esto se consigue con una librería que se encarga de todo, permite enviar datos en la tarjeta y guardarlos en un fichero con el nombre que deseemos.

Los datos se almacenan en texto plano, con caracteres ASCII.

Después de instalar la librería SD, disponemos de varios ejemplos. Utilizando uno de ellos (ReadWrite, por ejemplo), con alguna modificación, vamos a introducir en un archivo los 10 primeros números junto a su cuadrado en un fichero de datos:

En los comentarios de las primeras líneas del código aparecen, además del autor del ejemplo, las conexiones de los distintos pines del lector de tarjetas.

En la pantalla vemos los mensajes que aparecen en el monitor. El programa ha creado un fichero llamado fichero.txt cuyo contenido es el siguiente:

Los ficheros de este tipo pueden analizarse fácilmente con cualquier software de procesamiento de datos, como EXCEL o libreoffice, como ya vimos en otra entrada.

¿Adónde queremos llegar?

Imaginemos que disponemos de datos de temperatura, humedad, intensidad luminosa y presión en tiempo real.

Podemos registrar todos los datos en un solo fichero, una línea por cada conjunto de datos, para conocer la relación entre las diferentes variables, poder estudiarlas y extraer conclusiones e incluso llegar a predecir el tiempo.

Pero faltaría algo también esencial. Conocer cuándo se ha producido la medida, fecha y hora. ¿Podemos adaptar un reloj a nuestra placa de arduino para poder registrar fechas y horas reales? Por supuesto, con el componente RTC, que veremos en una próxima entrada.

Finalmente, una vez registrados todos los datos de un día, una semana o el período que se desee, llegará el momento de analizarlos con el software adecuado. También nos encargaremos de ello, para completar esta serie de artículos dedicados a hacer una estación meteorológica casera.