ich habe die Arbeit der letzten beiden Abende einmal als Tutorial zusammen geschrieben. Thema ist die Visualisierung von Daten.
Zu finden nicht auf meiner eigenen Homepage sondern im Playground auf Arduino.cc
Sehr gute Anleitung, danke Poldi
Nur bleib ich als Linux User aussen vor, LogView gibts nur für Windows.
Hier ist gnuplot die erste Wahl, download für viele Plattformen.
Habe es zwar noch nicht getestet, aber ich finde es super, dass mal jemand im deutschen Playground neuen Content einstellt!
Werde es diese Woche noch testen wenn ich wieder einen PC zur Hand habe.
hmm hmm, LogView kannte ich noch gar nicht, sieht aber nett aus. Nach einigen Fehlversuchen hab ichs auch zum Laufen bekommen, jetzt steh ich aber vor einem anderen Problem:
Deine Testgrafik mit den Analogwerten vom Nunchuk zeigt sehr saubere Kurven. Bei mir gibt es ein stetes auf und ab. In der Grafik sieht man z.B. angeschlossen einen Fototransistor, ca. von Sekunde 10-25 mit Finger davor, ab dann ohne Finger davor:
Messwerte kommen also richtig an, allerdings habe ich immer diese Welle drin (übrigens auch wenn ich einfache nur nen Poti an den Analog in hänge). Mit externem Netzteil ist die Amplitude geringfügig kleiner, noch kleiner wird sie wenn ich z.B. den Anschlussdraht des Widerstands der IR-LED anpacke.
Irgendjemand eine Idee was das sein könnte? Netzbrumm vielleicht?
VG, Otacon2k
Irgendjemand eine Idee was das sein könnte? Netzbrumm?
P.S.: achso, hier noch der kleine simple Code den ich benutze:
Ich hatte zu Anfang auch so meine Probleme mit LogView. Besonders die Auswahl meiner Ini-Datei hat mich fast zur Verzweiflung gebracht weil sie auch weiter oben in der Liste auftauchte - bis ich dann auf den Seiten gelesen habe das die OpenFormat-Dateien ganz unten in der Liste zu finden sind...
Erstmal Hallo in die Runde, ich bin ein absoluter Arduino neuling und versuche gerade verzweifelt mit Logview mir die Daten anzusehen, die der Arduino ausgibt.
auf den ersten Blick fällt mir auf das in der vorletzten Serial print Anweisung eine Null fehlt. Die ist glaube ich wichtig (vergleiche mal mit meinem Code im Playground).
Und dann ist noch ein Fehler in der INI-Datei vorhanden. "Datenbits = 8"!!!
Ansonsten schreib doch mal bitte wie sich LogView verhält. Gibt es eine Fehlermeldung? Ist der Com Port richtig und bei Verwendung von LogView auch frei (Arduino-IDE / Serial Monitor aus)??? Kannst Du in LogView das "Gerät" (ganz unten) wählen?
Es hat mich "mal eben" (wie es immer so ist mit solchen Dinge) die komplette Mittagspause (1h) gekostet...
Also:
Der Arduino-Code ist so wie Du ihn gepostet hast in Ordnung und läuft auch auf meinem Arduino Duemilanove!
Deine LogView-Installation denke ich hat auch keine Fehler. Ich habe eben gerade in einem virtuellen XP die neueste Version (2.6.4.345) installiert um Deinem Problem auf die Schliche zu kommen.
Und nun die LÖSUNG: trommelwirbel
Die INI-Datei ist nicht so, wie LogView es gern hätte. Aufgefallen ist es mir direkt nach dem Laden der Datei. Es werden nur zwei Achsen bereit gestellt. Nach Änderung (und das ist das einzige was ich an Deinen Daten geändert habe) der Zeile "WerteAnzahl = 4" werden drei Achsen angezeigt. Ab da werden nach dem Klick auf "Aufzeichnung starten" die Livedaten angezeigt (Bei mir springen alle drei Werte wild auf und ab, da keine Sensoren angeschlossen sind).
Zusammenfassung:
Arduino-Code aus das Board laden
per Serial-monitor schauen ob das Arduino sendet.
Serial-Monitor schließen
LogView starten
Ini-Datei laden und Com-Port wählen
"Aufzeichnung starten" klicken
Wichtig:
Die geänderte Ini-Datei muss ins richtige Verzeichnis:
*C:\Dokumente und Einstellungen\USER\Anwendungsdaten\LogView\Geraete\OpenFormat*
Also wirklich, das ist wirklich hilfreich mit Logview....
vielen Dank dafür!!!!!
Hätte da noch eine Frage...
ich habe 2 Messwerte die sich in einem leicht unterschiedlichem Bereich bewegen....
Nun wird die Messkurve anscheinend durch die Peaks bedingt unterschiedlich dargestellt.
Das soll heißen, die Kurven werden in Abhängigkeit der linken und rechten Skala gezeichnet, wobei bei mir die linke Skala von 0-520 reicht, und die rechte Skala, von 0-560.
Das Resultat ist das die Kurven die annähernd die gleichen Messwerte enthalten nicht übereinander sondern in y Richtung versetzt gezeichnet werden.
Gibt es eine Möglichkeit diese dynamische Skalen-anpassung (min max wert Ermittlung der Skala und automatische Anpassung des Graphenbereichs) auszuschalten, den Bereich fest einzustellen und so die linke an die rechte skala zu binden?
Schwer zu formulieren... also ich möchte z.B. das die linke Skala von 0-600 reicht und die rechte ebenfalls. So würden die Messwerte in "der gleichen Zoomstufe" gezeichnet, und z.B. Wert 240 (Wertstream1) und Wert 240 (Wertstream2) würden wirklich aufeinander liegen.
Bedingt durch die unterschiedlichen Messbereiche liegen die Werte aktuell bei mir nicht übereinander.
Hoffe man versteht was ich meine.
Lieber Gruß
ChrisS
EDIT: Für alle mit der gleichen Fragestellung: >Grafik>Endwerteassistent
da mein Problem, an dem ich gerade verzweifle, hierzu passt, schreibe ich es einfach mal dazu.
und zwar stimmt meine Zeitachse einfach nicht. Die Zeit verläuft einfach zu schnell. Woher wird denn die Zeit bezogen?
ich habe mal meinen einfachen Code und meine ini-Datei mit bei gefügt, vlt liegt es daran, obwohl ich aber alles kontrolliert habe und passen müsste. Somit weiß ich auch nicht mehr weiter, wo das Problem liegen könnte.
int sensorValue = 0; // value read from the pot
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(57600);
}
void loop() {
// read the analog in value:
sensorValue = analogRead(8);
// print the results to the serial monitor:
Serial.print("$1;1;0;");
Serial.print(sensorValue, DEC);
Serial.print(";0");
Serial.println(13, DEC);
delay(5);
}
Wenn ich TimeStep_ms ändere, kann ich den Faktor der Zeit ändern. Aber ich habe keine Ahnung, was der richtige Faktor ist...
Ich hoffe ihr könnt mir helfen, da ich dummerweise auf eine Visualisierung der Messdaten angewiesen bin.
Danke schonmal für eure Bemühungen.
Edit: Also so wie es aussieht, können die Daten bei einer Abtastfrequenz von mehr als 10 Hz nicht richtig dargestellt werden. Hab jetzt ein Delay von 100 ms drin.