Graph anzeigen

Liebe community,

Ich würde gerne mit drei Sensoren jeweils eine Entfernung messen, und mit diesen drei Werten anschließend auf meinem PC eine Kurve in einem x/y-Koordinatensystem interpolieren. Dieser Graph soll also die Funktion f(x)=ax^3+bx^2+... haben, wobei die Werte von meinen Sensor als Ausgangspunkte dienen sollen, um die Funktion des Graphen zu bestimmen. Desweiteren soll die Kurve alle x Sekunden neu berechnet werden, da sich die Werte der Sensoren verändern.

Die Programmierung sollte kein größeres Problem darstellen, jedoch weiß ich noch nicht, wie ich die Idee umsetzen kann. Die Arduino IDE bietet soweit ich weiß nicht die Möglichkeit, durch den Serial Monitor oder den Plotter einen solchen Graph darzustellen (der Plotter zeigt die aktuellen Werte an).
Daher bitte ich euch, falls ihr ein geeignetes Programm kennt (GUI?), mir auf die Sprünge zu helfen. Ich habe auch an Visual Basics in Excel gedacht, aber ich weiß nicht, wie ich die Werte an Excel übergeben könnte.

Vielen Dank für eure Hilfe
Sven

Danke, aber wie gesagt möchte ich keine live-Werte mit dem Plotter aufzeichnen.
Was ich möchte ist eine Funktion f(x)=ax^3+bx^2+... mit den Anfangswerten f(1)=sensor_1 ; f(2)=sensor_2 ; f(3)=sensor_3 interpolieren und anzeigen. Der Plotter aus der Arduino IDE ist dazu nicht imstande.

Wenn das nicht Echtzeit sein muss: per serieller Verbindung die Werte an den PC schicken, dort per Hterm oder ähnlichem als csv-Datei speichern. Die dann in Excel einlesen, aufhübschen, fertig.

Hallo,
"durch den Serial Monitor oder den Plotter einen solchen Graph darzustellen"

warum nicht? Hast Du mal danach gesucht?

Dann sprichst DU immer von "Plotter" Was soll das sein? Definiere einaml den
Ausdruck "Plotter".

Über die serielle Schnittstelle nach VBA-Excel ist möglich. Ich habe hier im
Forum mal die Schnittstelle angehängt. Frag mich aber nicht, wann und wo das
gewesen ist.
Du kannst die daten auch an FileMaker übergeben, das ist einfacher als sie an
Excel zu übergeben.
Wenn Du es ganz einfach haben willst, dann übergibst Du Deine Daten an
Processing. Einfach mal nach suchen.

Und wie schon gesagt, einfach als "csv-Datei" auf den PC schreiben.

Echtzeit brauchst Du nicht, sagst Du. Dann mußt Du die Daten irgendwo zwischen-
speichern. Das heißt, Datei oder Speicher des Arduino.

Und was soll "interpolieren" sein oder machen?
Gruß und Spaß
Andreas

Er will wohl drei Sensor Werte auslesen, diese in einen Formel eingeben und dann deren Ergebnis plotten

Elsveno:
Danke, aber wie gesagt möchte ich keine live-Werte mit dem Plotter aufzeichnen.
Was ich möchte ist eine Funktion f(x)=ax^3+bx^2+... mit den Anfangswerten f(1)=sensor_1 ; f(2)=sensor_2 ; f(3)=sensor_3 interpolieren und anzeigen. Der Plotter aus der Arduino IDE ist dazu nicht imstande.

Ich weiß nicht, ob das wirklich hilfreich ist, ich benutze seit Jahren nur Debian Linux:

Vielleicht gibt es GNUplot auch für Windows. Terminalprogramme, die loggen können, gibt es hoffentlich noch. Und die Ausgabe des Terminalprogramms (bzw. der Inhalt des Logs) kann wahrscheinlich irgendwie Skriptgesteuert an GNUplot weitergereicht werden.

Wenn Du dann noch ein PDF aus der GNUplot-Ausgabe machen lassen kannst (ich benutze ps2pdf), musst Du Dir das nur noch anzeigen lassen.

Wenn alle Zutaten richtig miteinander verknotet werden, klappt's zwar nicht in Echtzeit, aber schnell genug für vieles.

Gruß

Gregor

Gnuplot gibt es für Win über cygwin bzw. MinGW. Ich habe es aber noch nicht getestet.

Gruß Tommy

Danke für die Tipps!
Ich habe eine Lösung gefunden: Ich sende die Werte per serieller Schnitstelle an meinen PC und lese sie mit Matlab aus. Dort können sie auch super verarbeitet werden.

Es wäre für die Forenuser gut, wenn Du Deinen funktioniernden Sketch hier veröffentlichen würdest.

Gruß Tommy

Elsveno:
Ich habe eine Lösung gefunden: ...

Najaguuut, das so zu machen ist wahrscheinlich die schnellste Methode. Man muss halt Matlab haben.

Gruß

Gregor