Arduino Nano - Graficador serial

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano

Or you can buy the following kits:

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 característica del IDE de Arduino. Permite que el Arduino Nano lea datos de temperatura, humedad o cualquier otro tipo de sensor y los transmita al Serial Plotter. Serial Plotter tomará estos datos y los mostrará como una forma de onda. Incluso puede mostrar varias lecturas de sensores en el mismo gráfico.

Los datos se intercambian entre Serial Plotter y Arduino Nano a través de un cable USB. Este mismo cable se utiliza para cargar código en Arduino Nano. En consecuencia, para utilizar Serial Plotter, es necesario conectar Arduino Nano y la PC con este cable.

Serial Plotter tiene un cuadro de selección para elegir la velocidad en baudios de la conexión serie y un gráfico. El eje X del gráfico muestra el tiempo, con 500 puntos. El tiempo entre cada punto es equivalente al tiempo entre dos llamadas consecutivas a la función Serial.println(), que suele ser el mismo que la función loop(). El eje Y muestra los valores recibidos del Arduino Nano y se ajusta automáticamente cuando los valores aumentan o disminuyen.

Cómo abrir el trazador serial

Haz clic en el icono del Serial Plotter en el lado derecho del IDE de Arduino.

Cómo abrir el plotter serial

Trazado de una sola línea en un gráfico

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

Específicamente, necesitamos usar la función Serial.println().

Serial.println(variable);

※ Nota:

Serial.println() añade “\r\n” caracteres al final de los datos.

Ejemplo de código

Toma el valor de un pin de entrada analógica y muéstralo en Serial Plotter. Este es un ejemplo de cómo hacerlo.

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

Pasos R\u00e1pidos

  • Copie el código y ábralo con el IDE de Arduino.
  • Haga clic en el botón Subir del IDE de Arduino para compilar y subir el código a la placa Arduino Nano.
  • Abra el Serial Plotter.
  • Configure la velocidad en baudios a 9600.
  • Vea el gráfico en el Serial Plotter.
Ejemplo de trazador serial de una sola línea

Trazado de varias líneas en un gráfico

Si deseamos graficar varias variables, debemos separarlas unas de otras con ya sea un “\t” o un carácter de espacio. El valor final DEBE terminar con “\r\n” caracteres.

  • Imprimir la primera variable:
Serial.print(variable_first);
  • Imprimir las variables en el medio:
Serial.print("\t"); // or Serial.print(" ") Serial.print(variable_nth);
  • Imprimir la variable final:
Serial.print("\t"); // or Serial.print(" ") Serial.println(variable_last);

Código de ejemplo

Toma los valores de cuatro pines de entrada analógica y muéstralos en el Serial Plotter.

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-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); }

Usando múltiples gráficos: Crear múltiples gráficos para mostrar datos.

Ejemplo de trazador serial con varias líneas

Ejemplo de 3 formas de onda senoidales

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { for(int i = 0; i < 360; i += 15) { 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 ondas senoidales. Este gráfico muestra varias ondas senoidales.

Plotter serial de 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!