ESP32 - Serial Plotter

Deze tutorial legt uit hoe u de Serial Plotter gebruikt in de Arduino IDE met de ESP32.

Over Serial Plotter

De Serial Plotter is een hulpmiddel in de Arduino IDE die data van de ESP32 via Serial kan ontvangen en deze data in een grafiek kan weergeven. De Serial Plotter kan meerdere sensorgegevens tegelijk op hetzelfde scherm plotten.

Om data van de ESP32 te ontvangen, is een micro USB-kabel tussen de ESP32 en de PC nodig.

De Serial Plotter bestaat uit twee componenten:

  • een selectievak: gebruikt om de seriële baudrate te kiezen
  • een grafiek: een scherm waar de visuele data wordt weergegeven
    • X-as: toont de tijd. Er zijn 500 punten. De tijd tussen ieder punt is de tijd tussen twee opeenvolgende Serial.println() functie-aanroepen.
    • Y-as: toont de datawaarden ontvangen van de ESP32. De Y-as schaalt automatisch mee wanneer de waarde van de data stijgt of daalt.

Hoe de Serial Plotter te openen

In de Arduino IDE klikt u op Serial Plotter, zoals hieronder te zien is:

hoe de serial plotter te openen

Hoe een enkele lijn in de grafiek te plotten

Om één lijn in de grafiek te plotten, hoeft u alleen data te versturen die wordt afgesloten met het teken “\r\n”. Dit kan bijvoorbeeld met de functie Serial.println().

Serial.println(variable);

※ Notiz:

Serial.println() voegt automatisch de karakters “\r\n” toe aan de data.

Voorbeeldcode

De onderstaande ESP32 voorbeeldcode leest een analoge ingang en verzendt deze naar de Serial Plotter

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/esp32/esp32-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int variable_1 = analogRead(A0); Serial.println(variable_1); delay(100); }

Snel aan de slag

  • Als u voor het eerst met ESP32 werkt, bekijk dan hoe u de omgeving instelt voor ESP32 op Arduino IDE.
  • Kopieer bovenstaande code en plak deze in Arduino IDE.
  • Compileer en upload de code naar uw ESP32 bord door te klikken op de Upload knop in Arduino IDE.
  • Open de Serial Plotter
  • Selecteer baudrate 9600
  • Bekijk de grafiek in de Serial Plotter
serial plotter voorbeeld enkele lijn

Hoe meerdere lijnen in de grafiek te plotten

Om meerdere variabelen te plotten, moet u de variabelen van elkaar scheiden met het teken “\t” (tab) of een spatie " ". De laatste waarde MOET worden afgesloten met de karakters “\r\n”.

In detail:

  • De eerste variabele
Serial.print(variable_first);
  • De middelste variabelen
Serial.print("\t"); // of Serial.print(" ") Serial.print(variable_nth);
  • De laatste variabele
Serial.print("\t"); // of Serial.print(" ") Serial.println(variable_last);

Voorbeeldcode

De onderstaande ESP32 voorbeeldcode leest waarden van 4 analoge ingangen en verzendt deze naar de Serial Plotter

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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(" "); // tussen de waarden wordt een tab '\t' of spatie ' ' geprint Serial.print(variable_2); Serial.print(" "); // tussen de waarden wordt een tab '\t' of spatie ' ' geprint Serial.print(variable_3); Serial.print(" "); // tussen de waarden wordt een tab '\t' of spatie ' ' geprint Serial.println(variable_4); // de laatste waarde wordt afgesloten met carriage return en newline delay(100); }

Het resultaat in de Serial Monitor:

serial plotter meerdere lijnen

Voorbeeld van 3 sinusgolven

De onderstaande ESP32 voorbeeldcode print drie sinusgolf-waarden naar de Serial Plotter

/* * Deze ESP32 code is ontwikkeld door newbiely.nl * Deze ESP32 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/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"); // tussen de waarden wordt een tab '\t' of spatie ' ' geprint Serial.print(sine_2); Serial.print("\t"); // tussen de waarden wordt een tab '\t' of spatie ' ' geprint Serial.println(sine_3); // de laatste waarde wordt afgesloten met carriage return en newline delay(100); } }

Het resultaat op de Serial Plotter:

serial plotter sinusgolf

Wilt u deze plotter op het web gebruiken? Bekijk dan ESP32 - Web Plotter

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Reacties

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!