obiwan:
Also Firmata scheidet schonmal aus - da habe ich ja nur die Möglichkeit den Port auszuwählen und Low oder High vorzugeben (oder hab ich das falsch verstanden)?
Mir geht es hier jetzt auch nicht darum von euch die ganzen möglichen Programmiersprachen aufgelistet zu bekommen.
Ich möchte mir schnell und einfach eine Oberfläche zur Eingabe/Änderung der Parameter erstellen.
Ich glaube hier gibt es noch ein Verständnisproblem.
Eigentlich brauchst Du 2 Programme.
Ein Programm auf dem PC, mit Eingabefeldern für die Steuerzeiten Deiner Ventile und einem großen roten "START" Button.
Ein weiteres Programm brauchst Du auf dem Arduino, das die vom PC-Programm gelieferten Befehle umsetzt. (z.B. Firmata).
Die Frage dabei ist, in welchem Programm die Steuerlogik steckt. Steckt die Logik im PC-Programm, dann kannst Du Firmata verwenden, denn das Timing wann welches Pin geschaltet werden soll, macht dann das PC-Programm. Vorteil ist, das Du auf dem Arduino auf eine fertige Lösung setzen kannst. Nachteilig könnte sein ein exaktes Timing zu erreichen, da die Befehle seriell übermittelt werden, was Zeit kostet und hier ggf. schon Unterschiede im ms Bereich möglich wären.
Zweite Möglichkeit ist, das die Logik im Arduino-Programm steckt. Dann musst Du das vermutlich auch selbst schreiben. Du brauchst dann ein sinnvolles Protokoll, mit dem Du Steuerdaten übermittelst: z.b. als String "V1,30,35:V2,40,45:V3,50,55,K1:60" "Vx" ist jeweils das Ventil Nummer x mit den beiden Steuerzeiten in ms. "Kx" ist dann die entsprechende Kamera. Den Steuerstring musst Du dann auf dem Arduino in die entsprechende Werte zerlegen.
Vorteil dieser Lösung ist, das Du vom PC-Programm unabhängig bist. Denn wer am Ende den Steuerstring über die serielle Schnittstelle schickt ist egal (im einfachsten Fall kommen die Daten über den seriellen Monitor der IDE). Ein weiterer Vorteil ist, das Dein Timing exakter ist, weil es nicht von irgendeiner Kommunikation abhängt. Nachteil ist die größere Komplexität des Arduinoprogramms.
Mario.