Freitag, 11. September 2015

Sensorwerte visualisieren

In diesem Post geht es darum, wie man Messwerte/Sensorwerte vom Arduino mittels der Programmiersprache Processing live visualisieren kann.

Da der Arduino kein eigenes Display hat und die Möglichkeit Daten oder Messwerte auf einem externen Display ausgeben zu lassen sehr beschränkt sind, ergibt sich als Konsequenz, den PC / Mac zur Auswertung / Visualisierung der Daten zu verwenden.

Dazu benötigt man eine Programmiersprache, welche über eine serielle Verbindung(eventuell auch Bluetooth) mit dem Arduino kommunizieren kann und zusätzlich eine einfache Möglichkeit bietet die Daten "schön" zu visualisieren.

Hier bietet sich die Programmiersprache Processing an. Diese ist frei verfügbar und der Arduino IDE sehr ähnlich, sowohl im Design der IDE als auch der Programmiersprache selbst. Zu dem Thema, wie man Processing installiert und mit dem Arudino kommuniziert, habe ich bereits ein paar Tutorials gemacht.

Um die Messwerte als Grafiken anzeigen zu lassen, kann man für seinen Processing Sketch ein Programmfenster erstellen. In diesem kann man automatisch hinein "zeichnen" lassen. Glücklicherweise gibt es schon eine Menge an Programmbeispielen, für die verschiedenen Grafikenarten.

Um ein Balkendiagramm zu erzeugen, zeichnet man einfach sehr schnell hintereinander mit den jeweils aktualisierten Werten eine Linie, wodurch eine Art "sanftes Balkendiagramm" entsteht.
Der Code dazu sieht so aus:


Auf dem Arduino muss einfach nur ein Sketch sein, welcher in sehr kurzen Zeitabständen den aktualisierten Wert eines analog Inputs sendet. Wenn man ein Potentiometer anschließt und daran dreht entsteht das oben gezeigt Bild.

Um ein Kreisdiagramm zu erstellen, gibt es praktischerweise bereits eine Funktion, welche man nur noch einbinden muss. Hier findet ihr sie in der offiziellen Processing Dokumentation. Damit muss man nur noch die Funktion aufrufen und ihr als Argument den Durchmesser des Kreises und die einzelnen Sektoren(als Größe der Winkel) mitgeben.

Über die Funktion text("Text", x Koordinate, y Koordinate) kann man seine Diagramme beschriften und sich zusätzliche Informationen anzeigen lassen.

Keine Kommentare:

Kommentar veröffentlichen