ESP8266 - serieller Plotter

Erforderliche Hardware

1×ESP8266 NodeMCU
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über Serial Plotter

Der Serial Plotter ist eine Funktion der Arduino IDE. Er ermöglicht dem ESP8266 das Auslesen von Temperatur-, Luftfeuchtigkeits- oder anderen Sensorwerten und das Senden dieser Daten an den Serial Plotter. Der Serial Plotter nimmt diese Daten anschließend und stellt sie in Form von Wellenformen dar. Er kann nicht nur einzelne Sensorwerte anzeigen, sondern auch mehrere Sensorwerte im gleichen Diagramm.

Daten werden über ein USB-Kabel zwischen dem Serial Plotter und dem ESP8266 ausgetauscht. Dieses Kabel wird auch verwendet, um den Code auf den ESP8266 hochzuladen. Daher ist es notwendig, ESP8266 und PC mit diesem Kabel zu verbinden, um den Serial Plotter verwenden zu können.

Serial Plotter verfügt über ein Auswahlfeld, mit dem die serielle Baudrate ausgewählt werden kann, und über eine Grafik. Die X-Achse der Grafik stellt die Zeit dar und besteht aus 500 Punkten. Die Zeit zwischen jedem Punkt wird durch die Zeit zwischen zwei aufeinanderfolgenden Serial.println() Funktionsaufrufen bestimmt, was üblicherweise der Zeit der loop() Funktion entspricht. Die Y-Achse der Grafik zeigt die vom ESP8266 empfangenen Werte und passt sich automatisch an, wenn der Wert steigt oder fällt.

So öffnen Sie den seriellen Plotter

Klicken Sie auf das Serial Plotter-Symbol auf der rechten Seite der Arduino-IDE.

Wie öffnet man den seriellen Plotter?

Plotten einer einzelnen Linie im Diagramm

Um ein einzelnes Diagramm zu erzeugen, müssen wir nur die Daten senden und es mit dem “\r\n”-Zeichen abschließen.

Insbesondere müssen wir die Funktion Serial.println() verwenden.

Serial.println(variable);

※ Notiz:

Serial.println() fügt am Ende der Daten “\r\n” Zeichen hinzu.

Beispielcode

Nehmen Sie den Wert eines analogen Eingangspins und stellen Sie ihn im Serial Plotter dar. Dies ist ein Beispiel dafür, wie man es macht.

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp8266/esp8266-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int y1 = analogRead(A0); Serial.println(y1); delay(100); }

Schnelle Schritte

Um mit dem ESP8266 in der Arduino-IDE zu beginnen, folgen Sie diesen Schritten:

  • Schau dir das Tutorial wie man die Umgebung für ESP8266 in der Arduino-IDE einrichtet an, falls dies dein erstes Mal mit ESP8266 ist.
  • Verdrahte die Komponenten wie im Diagramm gezeigt.
  • Schließe das ESP8266-Board mit einem USB-Kabel an deinen Computer an.
  • Öffne die Arduino IDE auf deinem Computer.
  • Wähle das richtige ESP8266-Board aus, z. B. NodeMCU 1.0 (ESP-12E-Modul), und den entsprechenden COM-Port.
  • Kopiere den Code und öffne ihn in der Arduino IDE.
  • Klicke in der IDE auf die Hochladen-Schaltfläche, um den Code an den ESP8266 zu senden.
  • Öffne den Serial Plotter.
  • Stelle die Baudrate auf 9600 ein.
  • Sieh dir das Diagramm im Serial Plotter an.
serieller Plotter Beispiel eine Linie

Plotten mehrerer Linien im Diagramm

Um mehrere Variablen zu plotten, müssen wir sie voneinander trennen, indem wir entweder das “\t” oder das " " Zeichen verwenden. Der endgültige Wert muss mit den “\r\n” Zeichen beendet werden.

  • Die erste Variable:
Serial.print(variable_first);
  • Die Variablen in der Mitte:
Serial.print("\t"); // oder Serial.print(" ") Serial.print(variable_nth);
  • Die Endvariable:
Serial.print("\t"); // oder Serial.print(" ") Serial.println(variable_last);

Beispielcode

Nimm die Werte von vier analogen Eingängen und zeige sie im Serial Plotter an.

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp8266/esp8266-serial-plotter */ void setup() { Serial.begin(9600); } void loop() { int y1 = random(0, 30); int y2 = random(0, 50); int y3 = random(20, 80); int y4 = random(40, 100); Serial.print(y1); Serial.print(" "); // Ein Leerzeichen ' ' oder Tabulator '\t' Zeichen wird zwischen den beiden Werten ausgegeben. Serial.print(y2); Serial.print(" "); // Ein Leerzeichen ' ' oder Tabulator '\t' Zeichen wird zwischen den beiden Werten ausgegeben. Serial.print(y3); Serial.print(" "); // Ein Leerzeichen ' ' oder Tabulator '\t' Zeichen wird zwischen den beiden Werten ausgegeben. Serial.println(y4); // Der letzte Wert wird von einem Wagenrücklaufzeichen und einem Zeilenumbruchzeichen gefolgt. delay(100); }

Mit mehreren Diagrammen: Erstellen Sie mehrere Diagramme, um die Daten zu veranschaulichen.

Serieller Plotter – Beispiel mit mehreren Linien

Beispiel für drei Sinuswellenformen

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp8266/esp8266-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"); // Zwischen den beiden Werten wird ein Leerzeichen ' ' oder ein Tab '\t' Zeichen ausgegeben. Serial.print(y2); Serial.print("\t"); // Zwischen den beiden Werten wird ein Leerzeichen ' ' oder ein Tab '\t' Zeichen ausgegeben. Serial.println(y3); // Der letzte Wert wird von einem Wagenrücklauf und einem Zeilenumbruchzeichen gefolgt. delay(100); } }

Diagramm mehrerer Sinuswellen: Eine Darstellung mehrerer Sinuswellen ist in der Grafik dargestellt.

Sinuswelle des seriellen Plotters

Wenn Sie diesen Plotter auf Ihrem Smartphone oder PC ansehen möchten, besuchen Sie das ESP8266 - Web Plotter Tutorial.

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!