Variablen aus Arduino-Code in PureData einlesen?

Ich habe versucht, Möglichkeiten zu finden, eine Variable aus meinem Arduino-Code in Echtzeit an PureData zu übergeben. Ich habe PDuino und die Firmata-Bibliothek erkundet, aber die Tools schienen ein bisschen mehr zum Lesen und Steuern von Pins zu sein. Vielleicht habe ich einen Blick darauf geworfen, wie man variable Daten erhält.

Wenn Sie so etwas gemacht haben, könnten Sie den hier verwendeten Prozess kurz erläutern? Ich verstehe nicht ganz, welche Verbindungen hergestellt werden oder wie Firmata Dinge vermittelt. Wenn Sie einen Vorschlag für eine Bibliothek oder einen einfachen Code haben, lassen Sie es mich bitte wissen.

Gibt es einen elektrotechnischen Aspekt in dieser Frage?
Diese Frage scheint nicht zum Thema zu gehören, da es um Programmierung geht. StackOverflow wäre ein besserer Ort dafür.

Antworten (1)

Ich verstehe nicht ganz, welche Verbindungen hergestellt werden oder wie Firmata Dinge vermittelt.

Es scheint mir, dass die Firmata- Skizze Ihr Arduino zu einem dummen Peripheriegerät Ihres PCs macht.

Wenn ich Recht habe, läuft beim Ausführen von Firmata kein anderer Code auf dem Arduino. Daher haben Sie in einem Arduino-Sketch keine Variablen, auf die Sie Zugriff benötigen.

Die Firmata-Bibliothek und der Firmata-Sketch übernehmen die Kommunikation für Sie. Sie verbinden sich nur mit der Bibliothek auf Ihrem PC

Sie führen die gesamte Verarbeitung, die Sie in Ihrem PC durchführen möchten, mit einer Sprache mit einer Firmata-Bibliothek durch.

Übergeben Sie eine Variable aus meinem Arduino-Code in Echtzeit an PureData

In diesem Fall schreiben Sie zwei Programme, einen Sketch, der auf einem Arduino läuft, und ein PureData- Programm, das auf einem PC läuft. Sie möchten, dass die beiden Programme in Echtzeit kommunizieren.

Verwenden Sie eine geeignete Kommunikationsmethode. Wenn Ihr PureData-Programm auf einem PC ausgeführt wird und der PC über ein USB-Kabel mit dem Arduino verbunden ist, können Sie die serielle Kommunikation verwenden. Der Arduino hat eine serielle Bibliothek und ich würde hoffen, dass PureData eine Möglichkeit hat, COM-Ports zu lesen und zu schreiben.

Die PureData-Community sollte (und tut es wahrscheinlich?) ein Support-Forum mit Beispielcode für diese Art von Aufgabe haben.