Gráficas con el serial plotter

Ya sabemos utilizar el monitor serie del IDE para mostrar valores de las variables de nuestro programa. Pero en ocasiones se necesita verlo en forma de gráfica.


Para ello, el IDE de Arduino incorpora una herramienta llamada Serial Plotter que permite crear gráficas a partir de las variables que le indiquemos. Es sencilla de usar, no ofrece muchas opciones, pero seguramente irá mejorando con nuevas versiones.

Para utilizarla no hay que aprender nada nuevo en cuanto a la programación. Simplemente, conectamos por USB a al PC nuestro arduino sin circuitería externa y vamos a cargar el siguiente programa que genere números aleatorios cada cierto tiempo, y los imprime por el puerto serie.


Ahora la única diferencia es que en lugar de abrir el monitor serie, vamos a abrir el serial plotter, que está en la barra de herramientas, justo debajo del monitor serie.

 

Y cuando carguemos el programa en Arduino, veremos cómo se va generando una gráfica a partir de los valores aleatorios que se va guardando en la variable.

 

CUANDO HAY MÁS DE UNA VARIABLE

Seria plotter nos da la opción de mostrar varias variables a la vez en la misma gráfica. La manera de hacerlo es sencilla, simplemente añadiremos una sentencia Serial.print(“,”); entre cada una de las variables que queramos graficar. Todas deben ser print() y solamente la última varable debe ser println() y automáticamente los dibujará en la misma gráfica con un color diferente.

vamos a añadir 4 variables más al programa que hemos realizado y también se la vamos a asignar aleatorias a fin de ver resultados en la gráfica. El programa queda así:

Vemos que tenemos 5 variables que va a tormar valores entre 0 y 100, y vemos como hemos puesto los Serial.print() separando los de las variables por "," es muy importante hacerlo de este modo para que se impriman las 5 variables. Los colores en la gráfica los asigna arduino de forma automática y obtenemos este resultado

Si necesitamos separar las componente para poder visualizarlas mejor cada una de ellas por separado, en tal caso, podemos hacer el siguiente código, en el cual dentro del Serial.print, le sumamos un número superior a el rango en el que se representa más uno.  Nota he cambiado el valor de 100 a 10 para que aparezcan todas las gráficas en la foto juntas, así que a la primera no le he sumado nada, a la segunda le he sumado 11 para que se represente entre el 11 y el 20, a la tercera le he sumado 21 para que se represente entre el 21 y el 30 y así sucesivamente. El código queda así

bien este es el código y vamos a ver el resultado que da este código



para finalizar voy a repetir el mismo código pero las variables recibirán valores entre 0 y 2, para simular una entrada digital, por supuesto, el valor que se suma en los Serial.print han cambiado, son 2, 4, 6 y 8 y la idea es representar las entradas o salidas digitales, para así monitorizar el comportamiento de las entradas o salidas.

y el resultado es este



Bueno hemos visto como utilizar el monitor gráfico del IDE de arduino, el Serial Plotter, y podemos utilizarlo generando valores, pero podemos sustituir las variable por otras que guarden el estado de las salidas o de las entradas, ya sean digitales o analógica y podemos compararlas, incluso lo podemos utilizar para crear un analizador lógico o monitorizar señales y descubrir fallas o averías.  Medir sensores, la velocidad de un motor, etc. El límite lo pone tu imaginación.