Hallo zusammen, ich möchte die Auswertung meiner Messdaten (Temperaturwerte) mit dem Arduino automatisieren. Dabei soll direkt nach der Messung über eine bestimmte Zeit ein entsprechendes Diagramm erstellt werden. Ich habe allerdings keine Idee, wie man sowas umsetzen kann. Hoffe ihr könnt mir ein paar Anregungen geben. Grüße kogl
Wieso Arduino ? Nimm nen Pi, lass den die Messwerte erfassen und via HTML visualisieren. Dazu muss der Pi nen Web Server betreiben und die Daten z.B. per PHP dynamisch in HTML umwandeln. Darstellung dann auf jedem Tablett oder PC im browser.
Wo möchtest Du anzeigen? - auf einem (grafik-?) Display am µC? - im Webbrowser - am PC (der per USB/RS232/LAN oder sonstwas angeschlossen ist) - Drucker, bekannte Visualisierungseinheit,... Je nach Antwort stellen sich dann so fragen wie - wer bedient das (automatisch, skalierbar, ...) - Format (HTML, JPG, direkte Grafikbefehle, ..) - ....
kogl schrieb: > Hallo zusammen, > > ich möchte die Auswertung meiner Messdaten (Temperaturwerte) mit dem > Arduino automatisieren. Dabei soll direkt nach der Messung über eine > bestimmte Zeit ein entsprechendes Diagramm erstellt werden. > > Ich habe allerdings keine Idee, wie man sowas umsetzen kann. Hoffe ihr > könnt mir ein paar Anregungen geben. > > Grüße > > kogl Im einfachsten Fall besorge Dir einen SD card oder Data logging shield, Probier die Arduino bereitgestellten SD Karten Demos aus, so dass Du sicher bist, daß alles funktioniert. Dann nimm das getestete Demo Programm und fange an die notwendigen zusätzlichen Funktionen für Dein Interessengebiet einzufügen. (wieviel Kanäle, Zeitintervall...) In weniger als einer Stunde, besitzt Du dann ein Minimal Program welches in einfachster Weise ohne "Glocken und Pfeifen" Analogwerte mißt, die Werte im z.B CSV Excel Format speichert. Wenn Du mit dem Loggen fertig bist, öffne die Sd-Datei im PC und arbeite nit den erfassten Daten im Spreadsheet Deiner Wahl und fertig. So einfach ist das.
:
Bearbeitet durch User
Achim S. schrieb: > - am PC (der per USB/RS232/LAN oder sonstwas angeschlossen ist) Mein Arduino ist über ein USB-Kabel mit dem PC verbunden und kann die Daten daher durch den Seriellen Monitor der Arduino IDE anzeigen lassen. Aber wie lasse ich mir dadurch ein Diagramm erstellen? Achim S. schrieb: > - wer bedient das (automatisch, skalierbar, ...) Über einen Taster soll die Messung gestartet werden und dann nach einstellbarer Zeit die Messdaten ausgewertet werden und ein Diagramm entworfen werden. Achim S. schrieb: > - Format (HTML, JPG, direkte Grafikbefehle, ..) Am besten wäre direkt eine Bilddatei (JPG,PNG). Wenn das automatisch mit Excel geht, wäre dies auch eine akzeptable Möglichkeit. Oder gibt es vielleicht eine fertige Software für den Arduino, die so etwas kann? Gerhard O. schrieb: > Im einfachsten Fall besorge Dir einen SD card oder Data logging shield, Das habe ich mir auch schon überlegt. An dieser Lösungsvariante stört mich allerdings, dass dies nicht wirklich automatisch abläuft und man stattdessen die SD-Karte erst in den PC stecken muss und danach "manuell" eine Excel-Datei erstellen muss. Hätte eben gerne alles automatisch.
@kogl (Gast) >Mein Arduino ist über ein USB-Kabel mit dem PC verbunden und kann die >Daten daher durch den Seriellen Monitor der Arduino IDE anzeigen lassen. >Aber wie lasse ich mir dadurch ein Diagramm erstellen? Im einfachsten Fall als ASCII-Grafik im Terminal. >Über einen Taster soll die Messung gestartet werden und dann nach >einstellbarer Zeit die Messdaten ausgewertet werden und ein Diagramm >entworfen werden. Wenn es schön aussehen soll, braucht man Zusatzsoftware, welche die Daten vom Arduino empfängt und darstellt. Das geht in Excel über ein Makro, damit kann man die serielle Schnittstelle ansteuern. >Am besten wäre direkt eine Bilddatei (JPG,PNG). Wenn das automatisch mit >Excel geht, wäre dies auch eine akzeptable Möglichkeit. Oder gibt es >vielleicht eine fertige Software für den Arduino, die so etwas kann? Keine Ahnung.
Hol dir nen ESP8266, den kann man auch mit der Arduino IDE programmieren. Der sendet die Messwerte an nen Webserver, der sie dann grafisch darstellt.
kogl schrieb: > Dabei soll direkt nach der Messung über eine > bestimmte Zeit ein entsprechendes Diagramm erstellt werden. > > Ich habe allerdings keine Idee, wie man sowas umsetzen kann. Hoffe ihr > könnt mir ein paar Anregungen geben. Zumindest eine Anregung hätte ich. Ich mach das folgendermaßen unter Linux. Wie das unter was anderem geht müsstest du ggf. selbst rausfriemeln: Ich regele ein System und kann mir auf diese Weise recht komfortabel Sprünge ansehen und mir davon z.B. 1 Sekunde mit 100 Samples ausgeben lassen. Ich stelle meine Messdaten in Echtzeit mit feedgnuplot dar. Das ist ein frontend für gnuplot, mit welchem man streams plotten kann. Ich habe mir damit eine Art Speicheroszilloskop mit single shot function gebaut, um Sprungantworten aufzunehmen Die Daten hole ich mir aus einer FIFO (siehe mkfifo), wo die Messdaten auf der anderen Seite einlaufen. Das starte ich mit diesem script:
1 | #!/bin/bash
|
2 | |
3 | tail -f ./fifo | feedgnuplot \ |
4 | --lines \ |
5 | --stream 0.01 \ |
6 | --xlen 120 \ |
7 | --dataid \ |
8 | --extracmds "set yrange [-50:50];" |
Man könnte die Daten auch direkt aus dem serial port holen, aber so hat man bequem die möglichkeit, den stream zu steuern. Ich habe eine GUI mit Processing (processing.org) gemacht, die mir den Zustand meines System grafisch darstellt (und mit welchem ich auch den Arduino steuern kann). Die einkommenden Daten werden also dargestellt und dann in die FIFO geschrieben. Das kann ich per Klick an und aus schalten (einfach eine Variable setzen und dann if-Abfrage). Außerdem kann ich mit Klick auf einen anderen Knopf auch das Schreiben in die FIFO ein- und ausschlaten aber zusätzlich einen counter setzen, der runtergezählt wird und im Arduino den Sollwert ändern. Wenn er 0 ist, wird nichts mehr in die FIFO geschrieben. Damit habe ich den single shot realisiert.
:
Bearbeitet durch User
kogl schrieb: > Achim S. schrieb: >> - am PC (der per USB/RS232/LAN oder sonstwas angeschlossen ist) > > Mein Arduino ist über ein USB-Kabel mit dem PC verbunden und kann die > Daten daher durch den Seriellen Monitor der Arduino IDE anzeigen lassen. > Aber wie lasse ich mir dadurch ein Diagramm erstellen? Statisch indem du die Daten mit nem eigenen Programm entgegennimmst, in ne csv Datei packst und dann Excel öffnest. Wenn das Live am Bildschirm vorbeiscrollen soll, könntest du dir da mit C# was schnell zusammenhacken. Aber wie immer: Viele Wege führen nach Rom. Man kann auch nen PWM Channel für die Datenausgabe auf dem Oszi nutzen. Ist auch ein Diagramm.
Fast vergessen: Wollte noch kst als alternative zu gnuplot erwähnt haben.
Wenn man über längere Zeit Daten erfasst, also eine lange Liste als ergebnis hat, wird in Excel (oder auch Calc) das warten auf das Diagramm zur Geduldsprobe. Da hab ich gnuplot lieben gelernt, auch weil man ein einmal gemachtes Template auf beliebige Log-Dateien anwenden kann. Ich hatte zum Test mein Solardatenlogger im Sekundentakt aufzeichnen lassen - Solarzelle U und I, Akku U und I, Temperatur, Zeitstempel. Die Datei wurde schnell groß, bei einer Stunde (=3600) Datensätzen ging Excel in die Knie, an einen ganzen 24h-Tag (=86400) Datensätze wäre da nicht im Traum dran zu denken gewesen. Ok, das braucht man vielleicht auch nicht - aber gnuplot macht innerhalb weniger Sekunden mit nur einem Klick daraus eine hübsche Grafik. Auch per Batch aus einem Ordner voll mit einem Monat Solar-Logs eine ganze Reihe Bildchen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.