Inhaltsverzeichnis:

Adruino serieller Plotter - Gunook
Adruino serieller Plotter - Gunook

Video: Adruino serieller Plotter - Gunook

Video: Adruino serieller Plotter - Gunook
Video: Уроки Ардуино. Графики в реальном времени 2024, November
Anonim
Adruino serieller Plotter
Adruino serieller Plotter
Adruino serieller Plotter
Adruino serieller Plotter
Bild
Bild

Die Arduino-IDE wurde um die Arduino Serial Plotter-Funktion erweitert, mit der Sie serielle Daten von Ihrem Arduino nativ auf Ihrem Computer in Echtzeit grafisch darstellen können. Wenn Sie es satt haben, die analogen Sensoreingangsdaten Ihres Arduino wie The Matrix auf Ihren Bildschirm zu fließen, sieht dies nach einer schöneren Möglichkeit aus, um zu visualisieren, was vor sich geht. Ein serieller Plotter ist ein Offline-Tool, mit dem Sie auch offline Daten visualisieren und Fehler in Ihrem Code beheben können, ohne Dienste von Drittanbietern wie Processing oder Plotly verwenden zu müssen. Da es auf der Arduino-Website keine offizielle Dokumentation zur Verwendung und Funktionalität des Serial Plotters gibt, habe ich mich entschlossen, seine Verwendungen und Funktionen zu dokumentieren.

Merkmale

  • Plotten mehrerer Graphen
  • Offline
  • Grafik automatisch anpassen
  • Unterstützt Negativwertdiagramme
  • Auto-Scrollen entlang der X-Achse
  • Verschiedene Farben für jede Variable

Anwendungen

  • Offline-Datenvisualisierung
  • Code-Fehlerbehebung
  • Wellenformanalyse

Erforderliche Teile

Arduino - AliExpress oder Arduino Starter Kit - AliExpress

Schritt 1: Zeichnen eines Diagramms

Bild
Bild

Nachdem Sie nun die neueste Version der Arduino IDE (1.6.7 oder höher) installiert haben, ist es an der Zeit zu verstehen, wie der serielle Plotter tatsächlich funktioniert. Der Arduino Serial Plotter nimmt eingehende serielle Datenwerte über die USB-Verbindung auf und ist in der Lage, die Daten entlang der X / Y-Achse grafisch darzustellen, abgesehen davon, dass nur Zahlen auf den seriellen Monitor ausgespuckt werden. Die vertikale Y-Achse passt sich automatisch an, wenn sich der Wert der Ausgabe erhöht oder verringert, und die X-Achse ist eine feste 500-Punkte-Achse, wobei jeder Tick der Achse einem ausgeführten Serial.println()-Befehl entspricht. Mit anderen Worten, der Plot wird jedes Mal entlang der X-Achse aktualisiert, wenn Serial.println() mit einem neuen Wert aktualisiert wird.

Bild
Bild
Bild
Bild

Denken Sie daran, die Baudrate des seriellen Plotters so einzustellen, dass sie der des Codes entspricht.

Mehrere Grundstücke

Bei der Anzeige mehrerer Wellenformen wird jede einzelne Variable/jeder Wert/Parameter in einer anderen Farbe angezeigt, wie unten gezeigt.

Bild
Bild

Um mehrere Variablen oder Wellenformen gleichzeitig zu plotten, wird zwischen den beiden print-Anweisungen ein 'Leerzeichen' gedruckt.

Serial.print (Temperatur);

Serial.print (" "); Serial.println (Luftfeuchtigkeit);

ODER

Serial.print (Temperatur);

Serial.print("\t"); Serial.println (Luftfeuchtigkeit);

In diesem Fall werden die Werte der Variablen 'Temperatur und Luftfeuchtigkeit' getrennte Wellenformen gleichzeitig in derselben Grafik darstellen.

Schritt 2: Offline-Datenvisualisierung

Image
Image

Ich habe den Arduino Serial Monitor in meinem automatischen Pflanzenbewässerungssystem verwendet, um Feuchtigkeitssensordaten zu visualisieren und zu zeichnen.

Bild
Bild

Der Hauptzweck des seriellen Plotters besteht darin, dass Sie nicht mit dem Internet verbunden sein müssen, um die Daten eines Sensors oder Ihres Projekts zu visualisieren. Und damit für den Zweck der Datenvisualisierung überragt der Serial-Plotter seine Aufgabe.

Egal, ob es sich um eine einzelne Welle oder ein Diagramm mit mehreren Plots handelt, der serielle Plotter passt sich automatisch an und codiert jede Welle farblich. Um die Datenvisualisierungsfunktion zu testen, können Sie die folgenden Schritte ausführen:

  1. Verbinden Sie ein paar Sensoren mit Ihrem Arduino
  2. Drucken Sie die Werte der Sensoren und laden Sie den Code hoch.
  3. Öffnen Sie den seriellen Plotter.
Bild
Bild

Ich habe den Serial Plotter in meiner Tweeting-Wetterstation verwendet, um die Messwerte der verschiedenen Sensoren an der Wetterstation zu visualisieren. Die obigen Kurven zeigen das Diagramm der Temperatur- (26 °C) und Luftfeuchtigkeit (65% RH) des Sensors SL-HS-220.

Schritt 3: Fehlerbehebung

Eine der besten Anwendungen des seriellen Plotters ist die Fehlersuche im Code und in der Schaltung. Fehlerhafte Verbindungen oder falsche Codierungslogik können manchmal eine unerwünschte Ausgabe liefern. In solchen Fällen, in denen zu viele Codezeilen oder zu viele Drähte zum Debuggen vorhanden sind, kann der serielle Plotter die genaue Fehlerstelle anzeigen.

Mit Hilfe des Serial Plotters können Sie überprüfen, ob ein Sensormesswert falsch ist oder ob der Sensor nicht richtig mit dem Arduino verbunden ist. Der Serial Plotter hilft auch beim Debuggen von Code, indem er die Werte verschiedener bedingter Anweisungen und Variablen oder sogar die Zustände der Pins des Arduino anzeigt.

Bild
Bild

Ein gutes Beispiel dafür wäre die Fehlersuche bei einem Hindernisvermeidungsroboter. In diesem Beispiel repräsentiert die blaue Wellenform den Ultraschallsensor und die gelben und roten Wellenformen repräsentieren den linken und rechten Motor. Wenn der Abstand zwischen dem Hindernis und dem Roboter kleiner wird, nimmt die blaue Wellenform ab. Bei einem Schwellenwert (Mindestabstand) von 10 dreht der Roboter nach rechts, daher haben die beiden Motoren unterschiedliche Werte: Rechts = 50, Links = 100. Sie können sehen, dass die rote Wellenform abnimmt und die gelbe Wellenform konstant bleibt, was die Rechtskurve darstellt.

Die Fehlersuche, ob ein Kabel nicht richtig angeschlossen war, eine Komponente nicht richtig funktionierte oder Ihre Codierungslogik falsch war, hätte Sie viel Zeit gekostet. Aber mit Hilfe des seriellen Plotters kann der Zeitaufwand für die Fehlersuche durch die Analyse der Wellenformen erheblich reduziert werden.

Bild
Bild

Schritt 4: Funktionsgenerierung und -analyse

Bild
Bild

Mit einem grundlegenden Programmiersinn und ein paar Codezeilen kann der Arduino als Funktionsgenerator fungieren. Der Arduino ist in der Lage, Rechteck-, Dreieck-, Sinus- und Sägezahnwellenformen zu erzeugen. In früheren Versionen der Arduino IDE konnte man nur die Werte des im Serial Monitor erzeugten Wellenformtyps ohne Visualisierung beobachten. Es wäre zeitaufwändig, die Ausgabe allein auf der Grundlage von Zahlenwerten zu analysieren; und hier kommt der Serial Plotter zum Einsatz; beim Visualisieren der erzeugten Wellenformen.

Bild
Bild
Bild
Bild
Bild
Bild
Funktionsgenerator.ino
Funktionsgenerator.ino

Funktionsgenerator.ino

Schritt 5: Zukünftige Verbesserungen und Ergänzungen

Bild
Bild

Die Arduino IDE benötigt seit langem den Serial Plotter. Es hat die Funktionalität der Arduino IDE erweitert, aber es fehlen noch einige Funktionen:

  • Automatisches Scrollen umschalten
  • Gleichzeitige Verwendung von Serial Plotter & Serial Monitor.
  • X-Achsenskalierung/Zeitskala erforderlich.

Da diese Funktionen der Arduino IDE hinzugefügt werden, werde ich weiterhin Änderungen vornehmen und diesem Instructable neue Schritte hinzufügen.