Arduino - Graficador Serial

En este tutorial, aprenderemos a usar el Serial Plotter en Arduino IDE y a trazar múltiples gráficos.

Hardware Requerido

1×Arduino Uno R3
1×Cable USB 2.0 tipo A/B (para PC USB-A)
1×Cable USB 2.0 tipo C/B (para PC USB-C)
1×(Recomendado) Shield de Bloque de Terminales de Tornillo para Arduino Uno
1×(Recomendado) Shield de Protoboard para Arduino Uno
1×(Recomendado) Carcasa para Arduino Uno
1×(Recomendado) Placa Base de Prototipado y Kit de Protoboard para Arduino Uno

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca de Serial Plotter

Serial Plotter es una de las herramientas del IDE de Arduino. Arduino puede leer la temperatura, la humedad o cualquier tipo de datos de sensores, y enviarlos a Serial Plotter. Serial Plotter recibe datos de Arduino y los visualiza como formas de onda. Serial Plotter puede visualizar no solo datos de un solo sensor, sino también datos de múltiples sensores en el mismo gráfico.

Los datos se intercambian entre Serial Plotter y Arduino a través del cable USB, que también se utiliza para cargar el código en Arduino. Por lo tanto, para usar Serial Plotter, debemos conectar Arduino y el PC a través de este cable.

El plotter serial incluye un cuadro de selección para seleccionar la velocidad de baudios de la comunicación serial y un gráfico:

  • Eje X: representa el tiempo. Tiene 500 puntos. El tiempo entre cada punto es el tiempo entre dos llamadas consecutivas a la función Serial.println(). Este tiempo suele ser igual al tiempo de la función loop().
  • Eje Y: representa los valores recibidos desde Arduino. El eje Y se ajusta automáticamente a medida que el valor aumenta o disminuye.

Si quieres usar el Serial Plotter en tu teléfono inteligente, puedes usar el Web Serial Plotter en su lugar.

Cómo abrir el plotter serial

En el IDE de Arduino, haga clic en el icono Serial Plotter.

Cómo abrir el trazador serial

Trazado de una única línea en un gráfico

Para imprimir un único gráfico, solo necesitamos enviar los datos y terminarlo con el carácter “\r\n”.

En detalle, solo necesitamos usar la función Serial.println().

Serial.println(variable);

※ Nota:

Serial.println() añade automáticamente “\r\n” caracteres después de los datos.

Ejemplo de código

Este ejemplo lee el valor de un pin de entrada analógica y lo grafica en Serial Plotter.

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int y1 = analogRead(A0); Serial.println(y1); delay(100); }

Pasos R\u00e1pidos

  • Copia el código anterior y ábrelo con el IDE de Arduino
  • Haz clic en el botón Subir en la IDE de Arduino para subir el código al Arduino
  • Abre el Serial Plotter
  • Selecciona la velocidad de baudios 9600
  • Ver el gráfico en el Serial Plotter
Ejemplo de plotter serial de una sola línea

Representación de varias líneas en un gráfico

Cuando queremos graficar varias variables, necesitamos separar las variables entre sí mediante la secuencia “\t” o el carácter " " . El último valor debe terminar con los caracteres “\r\n”.

En detalle:

  • La primera variable
Serial.print(variable_first);
  • Las variables intermedias
Serial.print("\t"); // or Serial.print(" ") Serial.print(variable_nth);
  • La última variable
Serial.print("\t"); // or Serial.print(" ") Serial.println(variable_last);

Ejemplo de código

Este ejemplo lee los valores de 4 pines de entrada analógica y los grafica en Serial Plotter.

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int y1 = analogRead(A0); int y2 = analogRead(A1); int y3 = analogRead(A2); int y4 = analogRead(A3); Serial.print(y1); Serial.print(" "); // a space ' ' or tab '\t' character is printed between the two values. Serial.print(y2); Serial.print(" "); // a space ' ' or tab '\t' character is printed between the two values. Serial.print(y3); Serial.print(" "); // a space ' ' or tab '\t' character is printed between the two values. Serial.println(y4); // the last value is followed by a carriage return and a newline characters. delay(100); }

Gráficos múltiples:

Ejemplo de trazador serial con varias líneas

Ejemplo de 3 formas de onda senoidales

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { for(int i = 0; i < 360; i += 5) { float y1 = 1 * sin(i * M_PI / 180); float y2 = 2 * sin((i + 90)* M_PI / 180); float y3 = 5 * sin((i + 180)* M_PI / 180); Serial.print(y1); Serial.print("\t"); // a space ' ' or tab '\t' character is printed between the two values. Serial.print(y2); Serial.print("\t"); // a space ' ' or tab '\t' character is printed between the two values. Serial.println(y3); // the last value is followed by a carriage return and a newline characters. delay(100); } }

Gráfico de múltiples formas de onda senoidales:

Plotter en serie, onda senoidal.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!