Arduino - Serial Plotter

Neste tutorial, vamos aprender a usar o Serial Plotter no Arduino IDE e a plotar vários gráficos.

Sobre o Serial Plotter

O Serial Plotter é uma das ferramentas do Arduino IDE. O Arduino pode ler a temperatura, a umidade ou qualquer tipo de dado de sensor e enviá-lo para o Serial Plotter. O Serial Plotter recebe os dados do Arduino e os mostra como formas de onda. O Serial Plotter pode mostrar não só os dados de um sensor, mas também de vários sensores no mesmo gráfico.

Os dados são trocados entre o Serial Plotter e o Arduino pelo cabo USB, que também é usado para carregar o código no Arduino. Por isso, para usar o Serial Plotter, PRECISAMOS conectar o Arduino ao PC com esse cabo.

O Serial Plotter tem uma caixa de seleção para escolher o baud rate serial e um gráfico:

  • 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(). Esse tempo geralmente é igual ao tempo da função loop().
  • Eixo Y: representa os valores recebidos do Arduino. O eixo Y se ajusta automaticamente conforme o valor aumenta ou diminui.

Se você quiser usar o Serial Plotter no seu celular, pode usar o Web Serial Plotter no lugar.

Como Abrir o Serial Plotter

No Arduino IDE, clique no ícone Serial Plotter

como abrir o Serial Plotter

Plotando uma Única Linha no Gráfico

Para plotar um único gráfico, só precisamos enviar os dados e terminá-los com os caracteres “\r\n”.

Em detalhes, só precisamos usar a função Serial.println()

Serial.println(variable);

※ Nota:

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

Código de Exemplo

Este exemplo lê o valor de um pino de entrada analógica e o plota no Serial Plotter

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

Passos Rápidos

  • Copie o código acima e abra-o no Arduino IDE
  • Clique no botão Upload do Arduino IDE para carregar o código no Arduino
  • Abra o Serial Plotter
  • Selecione o baud rate 9600
  • Veja o gráfico no Serial Plotter
exemplo de Serial Plotter com uma única linha

Plotando Várias Linhas no Gráfico

Quando queremos plotar várias variáveis, precisamos separar as variáveis umas das outras com o caractere “\t” ou " ". O último valor PRECISA terminar com os 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

Este exemplo lê o valor de 4 pinos de entrada analógica e os plota no Serial Plotter

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.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); }

Vários gráficos:

exemplo de Serial Plotter com várias linhas

Exemplo de 3 Ondas Senoidais

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.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 com várias ondas senoidais:

onda senoidal no Serial 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!