Herramienta para el análisis estadístico de datos en Arduino

1
558

El análisis estadístico de datos en Arduino se vuelve una necesidad a medida que nos involucramos en proyectos más profundos, con integración de sensores y grandes volúmenes de información. Sin embargo, es importante recordar que Arduino posee una capacidad limitada de memoria SRAM. Si no se tiene cuidado a la hora de declarar  variables y asignarles valores, posiblemente el programa fallará en tiempo de ejecución.

En el siguiente artículo explicaré brevemente el uso de la librería Average (descargar en Github), con la cual podemos almacenar y analizar grandes cantidades de datos. La documentación de esta librería se encuentra disponible de forma gratuita a través del sitio web de Arduino.

Funciones de la librería Average

La librería Average fue diseñada hace un par de años para analizar grandes volúmenes de datos almacenados en un Array en Arduino. La librería cuenta con las siguientes funciones:

  • rolling: Calcula la media móvil de la serie de datos
  • mean Calcula la mediana de la serie de datos
  • mode: Calcula la moda
  • minimum: Devuelve el valor mínimo de una serie de datos
  • maximum: Devuelve el valor máximo de una serie de datos
  • stddev: Calcula la desviación estándar
  • leastSquares: Cálculo de mínimos cuadrados
  • push: Agrega un elemento al array
  • get: Obtiene un elemento almacenado en el array
  • getCount: Cantidad de elementos almacenados en el array

Es posible agregar nuevas funciones a esta librería debido a que el proyecto se encuentra disponible en Github.

Utilización de la librería Average

Para utilizar la librería Average se necesita instalar la librería en el Arduino IDE. Es importante recordar que cuando se instala una librería se debe reiniciar el software para que el IDE la reconozca.

Se debe llamar la librería a través de la instrucción #include <Average.h> en el inicio del código. Luego se debe crear una instancia de la librería a través de la instrucción: Average<int> ave(10).  En esta sentencia, Average es el nombre de la clase, int es el tipo de dato que se almacenará en el buffer y 10 es la cantidad de datos que se almacenará en el buffer.

Es importante tomar en cuenta que el tipo de datos y la cantidad de datos que se almacenan en el buffer puede tener un impacto directo sobre la memoria del microcontrolador. Se debe tener claro los conceptos de tipo de datos y los espacios que ocupan en la memoria. También es saludable estimar la cantidad de datos que se va a guardar para optimizar el uso de memoria.

Análisis estadístico de datos en Arduino

El siguiente ejemplo muestra el uso de esta librería.

Este ejemplo es sumamente sencillo, pero ilustrativo de la capacidad de la librería Average. Me ha parecido una herramienta sumamente útil y por ello he compartido este contenido con ustedes. Espero que la información sea de utilidad para ustedes.

  • Antony García González