Analogeingang direkt in ein File schreiben

Ich bin doch nicht der Erste, der die Daten aus einem Analogeingang direkt in ein File auf dem PC schreiben möchte! Oder direkt einen Graphen zeichnen. Warum nur finde ich kein Beispiel oder einen Forumeintrag? Führt kein Weg an der SD card vorbei? Oder gibt es andere Wege?

Wenn du die Daten an den PC schicken willst, kannst du sie einfach über die serielle Schnittstelle senden.

Dann müsstest du ein kleines Programm schreiben, dass die abhört und die Datei beschreibt. Das geht z.B. mit C# und VB in .NET, oder mit Java. Oder generell mit den meisten anderen Sprachen. Genauso kann man auch Graphen auf einem GUI malen.

Auf dem Arduino wird da auch oft Processing verwendet, was eine Java Software ist und da schon etwas Vorarbeit leistet:
www.processing.org
http://playground.arduino.cc/Interfacing/Processing

Das läuft zusammen mit Firmata, wodurch man den Arduino vom PC aus fernsteuern kann. Also man kann am PC sagen “Sende den Wert von Eingang x” statt einfach nur Daten von der seriellen Schnittstelle zu lesen, die irgendwas bedeutet könnten.

z.B. Darstellung von Analog-Eingängen auf Bargraph:

Daten in Datei loggen:
http://my.safaribooksonline.com/book/hobbies/9781449399368/serial-communications/logging_arduino_data_to_a_file_on_yo

Das Bargraph Beispiel verwendet aber nicht Firmata, sondern liest glaube ich ständig was auf der seriellen Schnittstelle ankommt nachdem einmal was vom PC zum Arduino geschickt wurde. Das wäre der Weg das ohne spezielle Software auf dem Arduino zu machen, der auch in anderen Sprachen funktioniert.

Hallo,
das ganze nennt sich "Processing" Der Arduino kann eine Datei auf Deinem Rechner anlegen und in diese Schreiben.
Im Arduino Kochbuch ist auch ein Beispiel dazu zu finden
Gruß und Spaß
Andreas

SkobyMobil:
Der Arduino kann eine Datei auf Deinem Rechner anlegen und in diese Schreiben.

Kann er nicht. Man schickt da nur Kommandos an den Arduino und lässt ihn die Daten schicken, die man dann auf dem PC verarbeitet.

Und wie gesagt, wenn man nicht Firmata nimmt um den Arduino direkt zu steuern, geht das auch in anderen Sprachen.

ein groses Danke für die Hinweise, ich werde den Faden aufnehmen.

Hallo Serenifly,
ich möchte Dir ja als Anfänger nicht widersprechen- aber, im "Kochbuch" (S138,Diskussion) ist es beschrieben.
Gruß und Spaß
Andreas

hi, andi,

ich möchte Dir ja als Anfänger nicht widersprechen- aber, im “Kochbuch” (S138,Diskussion) ist es beschrieben.

und ich würde Dir ja gerne rechtgeben, aber dann lägen wir beide falsch.

es mag so erscheinen, daß der arduino in eine datei schreibt, aber das kann er definitiv nicht. ohne das beispiel aus dem kochbuch zu kennen, der arduino kann nur daten, bevorzugt über die serielle schnittstelle und USB, aber auch über andere schnittstellen, an den pc schicken.
ein programm, das dann auf dem pc laufen muß, kann diese daten dann in eine datei schreiben.

gruß stefan

Hallo AuHa,
ich muß Dich an gute Manieren erinnern. ]:smiley: ]:smiley: ]:smiley:
Erstens wenn Du auf Deutsch schreiben willst, dann mußt Du Deinen Tread in den deutschen Teil des Forums schreiben.
Zweitens den ersten Tread ohne irgendeinen Gruß zu beginnen zeugt auch von wenig Bildung und Respekt den anderen User gegenüber. Bitte beherzige das in Deiner weiteren beteiligung am Forum.
Viele grüße Uwe

Hallo SkobyMobil! Das du ja das Arduino-Kochbuch besitzt, schau dir doch bitte den Kasten auf Seite 93 an. Hier heißt es sinngemäß, dass Processing eine ähnliche Entwicklungsumgebung wie Arduino nutzt, der Sketch jedoch nicht auf dem Mikrocontroller, sondern auf dem Computer läuft.
Die von dir angeführte Diskussion auf Seite 138 bezieht sich auf den Artikel 4.12 Arduino-Daten in einer Datei auf dem Computer festhalten. Der aufgeführte Sketch ist für Processing, der Sketch auf dem Mikrocontroller ist der gleiche wie in Artikel 4.9 und auf Seite 124 zu finden.
Wenn du weitere Erklärungen brauchst, kannst du gern nochmal nachfragen.

Ich würde da halt nicht immer nur Processing erwähnen, als ob das die einzige Möglichkeit wäre.

Das Grundprinzip dafür ist simpel einfach. Wo es dann problematischer wird ist das Kommunikationsprotokoll. Das muss man sich etwas überlegen, gerade wenn man viele verschiedene Arten von Daten übertragen will. Aber wenn man nur die Analogeingänge anzeigen will, ist es auch keine große Sache. Die kann man einfach immer sequentiell schicken.

Das kommt natürlich auf die Fähigkeiten an. Wenn man völlig Anfänger ist, ist es sicher einfacher wenn man Processing und Firmata nimmt. Und selbst dann ist das eigentliche Schreiben in eine Datei nicht anders als in Standard Java. Das muss man auch erst mal lernen.
Aber wenn man weiß wie man z.B. in .NET, Java oder Delphi ein GUI erstellt, und schon mal einfache Übungen darin gemacht hat, dann bietet Processing unter Umständen nicht so viele Vorteile.

Soweit ich sehen kann vereinfacht Processing allerdings den Zugang zu den graphischen Darstellungsmöglichkeiten sehr stark. Die sind ansonsten oft kryptisch über zig Klassen verteilt und komplexere Sachen muss man zum Teil selbst implementieren. Visualisierung ist da der Kern der Umgebung. Nicht die Kommunikation mit Mikrocontrollern an sich.

Wo man bei sowas generell aufpassen muss, ist die Datei korrekt abzuschließen, da sie sonst unbrauchbar ist. Das Beispiel oben verlangt dazu dass man eine Taste drückt. Das ist nur für einfach Testprogramm zu gebrauchen um die Grundlagen zu verstehen.

Hallo,
“Der aufgeführte Sketch ist für Processing”
aah, da könnte ich etwas falsch verstanden haben. Es ist möglich mit Arduino IDE Daten in eine erzeugte Datei auf den Computer zu schreiben.
Aber nicht mit Boardmitteln.
Processing ist nicht Bestandteil der Arduino IDE. Das dachte eich eigentlich. Die Arduino IDE kann das nur unterstützen.
Ist das richtig gedacht, oder sollte ich lieber in den Pferdestall gehen?
Gruß und Spaß
Andreas

man kann unter DOS die Daten die von einer COM-Port kommen auf eine Datei schreiben.
müßte
COMxx -> File.txt
sein
Grüße Uwe

AuHa:
Oder gibt es andere Wege?

Seit der Erfindung des PCs vor einigen Jahrzehnten macht man das "Mitloggen von seriellen Daten auf PC in Datei" eigentlich immer gleich:

Man startet auf dem PC ein "serielles Terminalprogramm" und aktiviert dort die Funktion "Logging in Datei" ("Log to File") und gut.

Falls Du mehr an Verarbeitung haben möchtest als nur die Rohdaten in eine Log-Datei geschrieben haben, gibt es viele Möglichkeiten. Falls Du "Windows" als Betriebssystem nutzt, ist vielleicht das hier für Dich ganz interessant, wenn Du eine "Darstellung" von Daten über die serielle Schnittstelle haben möchtest:
http://www.mikrocontroller.net/topic/310940

Erledigt - mit eurer Hilfe habe ich als blutiger Laie über Porsessing einen Linienschreiber (x/t) hinbekommen der meinen magnetischen Sensor abbildet. Das “in eine File schreiben” - da kämpfe ich noch ein bisschen mit den Port’s - habe aber auch da viele gute Anzätze bekommen. Herzlichen Dank!