ESP32 - Serial Plotter

Este tutorial ensina você a usar o Serial Plotter no Arduino IDE com o ESP32

Sobre o Serial Plotter

O Serial Plotter é uma ferramenta do Arduino IDE que pode receber dados do ESP32 via Serial e plotá-los em um gráfico. O Serial Plotter pode plotar os dados de vários sensores na mesma tela.

Para receber os dados do ESP32, é necessário usar um cabo USB Type-C entre o ESP32 e o PC

O Serial Plotter é composto por dois componentes:

  • uma caixa de seleção: usada para selecionar o baudrate serial
  • um gráfico:: uma tela que mostra os dados visualizados
    • Eixo X: representa o tempo. Ele tem 500 pontos. O tempo entre cada ponto é o tempo entre duas chamadas consecutivas da função Serial.println().
    • Eixo Y: representa os valores dos dados recebidos do ESP32. O eixo Y se ajusta automaticamente quando o valor dos dados aumenta ou diminui.

Como Abrir o Serial Plotter

No Arduino IDE, clique em Serial Plotter como abaixo:

como abrir o serial plotter

Como Plotar uma Única Linha no Gráfico

Para plotar uma única linha no gráfico, basta enviar os dados terminados pelo caractere “\r\n”. Podemos usar a função Serial.println()

Serial.println(variable);

※ Nota:

Serial.println() adiciona automaticamente os caracteres “\r\n” aos dados.

Código de Exemplo

O código de exemplo ESP32 abaixo lê o valor de um pino de entrada analógica e o envia para o Serial Plotter

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int variable_1 = analogRead(A0); Serial.println(variable_1); delay(100); }

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 no Arduino IDE.
  • Copie o código acima e cole-o no Arduino IDE.
  • Compile e faça upload do código para a placa ESP32 clicando no botão Upload no Arduino IDE
  • Abra o Serial Plotter
  • Selecione o baudrate 9600
  • Veja o gráfico no Serial Plotter
exemplo de serial plotter com uma única linha

Como Plotar Várias Linhas no Gráfico

Para plotar várias variáveis, precisamos separar as variáveis umas das outras pelo caractere “\t” ou " ". O último valor DEVE ser terminado pelos caracteres “\r\n”.

Em detalhes:

  • A primeira variável
Serial.print(variable_first);
  • As variáveis do meio
Serial.print("\t"); // or Serial.print(" ") Serial.print(variable_nth);
  • A última variável
Serial.print("\t"); // or Serial.print(" ") Serial.println(variable_last);

Código de Exemplo

O código de exemplo ESP32 abaixo lê o valor de 4 pinos de entrada analógica e os envia para o Serial Plotter

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int variable_1 = analogRead(A0); int variable_2 = analogRead(A1); int variable_3 = analogRead(A2); int variable_4 = analogRead(A3); Serial.print(variable_1); Serial.print(" "); // a tab '\t' or space ' ' character is printed between the two values. Serial.print(variable_2); Serial.print(" "); // a tab '\t' or space ' ' character is printed between the two values. Serial.print(variable_3); Serial.print(" "); // a tab '\t' or space ' ' character is printed between the two values. Serial.println(variable_4); // the last value is terminated by a carriage return and a newline characters. delay(100); }

O resultado no Serial Plotter:

serial plotter com várias linhas

Exemplo de 3 Formas de Onda Senoidais

O código de exemplo ESP32 abaixo imprime os valores de três formas de onda senoidais no Serial Plotter

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { for (int i = 0; i < 360; i += 5) { float sine_1 = 1 * sin(i * M_PI / 180); float sine_2 = 2 * sin((i + 90) * M_PI / 180); float sine_3 = 5 * sin((i + 180) * M_PI / 180); Serial.print(sine_1); Serial.print("\t"); // a tab '\t' or space ' ' character is printed between the two values. Serial.print(sine_2); Serial.print("\t"); // a tab '\t' or space ' ' character is printed between the two values. Serial.println(sine_3); // the last value is terminated by a carriage return and a newline characters. delay(100); } }

O resultado no Serial Plotter:

serial plotter com onda senoidal

Se você quiser este plotter na web, confira ESP32 - Web Plotter

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!