Mit Taster'/Button ausgabe umstellen

Hallo liebe gemeinde,

Ich habe 4 Rotary Encoder die jeweils entsprechende Midi Noten ausgeben. Funktioniert soweit auch alles.

Nun mein Vorhaben: Ich möchte die Ausgabe der 4 Encoder über 10 Taster verändern. D.h. mit Wahl von Taster Nr. 1 werden die 4 Werte der Encoder ausgegeben. Mit Wahl von Taster Nr. 2 werden 4 andere Encoder Werte ausgegeben. Mit Wahl von Taster 3. werden wieder 4 andere Werte ausgegeben... USW...

Hat mir da jemand einen Ansatz oder Lösungsvorschlag?

Vielen Dank

uezi89: Hat mir da jemand einen Ansatz oder Lösungsvorschlag?

Mir ist nicht klar, was genau Du erreichen möchtest. Vielleicht könnte ich es verstehen, wenn Du den Sketch postest, der bislang funktioniert. Evtl. hilft Dir auch mein mein Geschreibsel von neulich.

Gruß

Gregor

Einen Ansatz ja.

Du musst die eingestellten Werte der Encoder in jeweils einer Variablen speichern und diese dann per Taster abgerufen.

Wenn diese Werte auch beim Ausschalten des Arduino noch gespeichert werden sollen, dann kannst du diese im internen EEProm ablegen und beim Neustart wieder abrufen.

Das ganze soll ein Midi Controller für ein Midi Lichtpult geben. Die Noten sind z.b. für den Dimmer, Pan-Bewegung, Tiltbewegung in der Software hinterlegt. Standart mäßig soll Taster 1 gewählt sein. Ich drehe an den Encodern, dann wird der Dimmer Pan oder Tilt in der Software verändern. Nun drücke ich Taster 2. Dann sollen die Noten für Gobo, Rot, Grün, Blau gesendet werden. Drücke ich wieder Taster 1. wird werden wieder die Noten für Dimmer, Pan und Tilt gesendet... Bei Taster 4, 5 usw. sollen die dafür hinterlegten Noten gesendet werden.

Taster 1: Midi Noten für Dimmer, Pan, Tilt, x Taster 2: Midi Noten für Gobo, Rot, Grün, Blau Taster 3: Midi Noten für x, x, x, x usw.

uezi89: Das ganze soll ein Midi Controller für ein Midi Lichtpult geben. Die Noten sind z.b. für den Dimmer, Pan-Bewegung, Tiltbewegung in der Software hinterlegt. Standart mäßig soll Taster 1 gewählt sein. Ich drehe an den Encodern, dann wird der Dimmer Pan oder Tilt in der Software verändern. Nun drücke ich Taster 2. Dann sollen die Noten für Gobo, Rot, Grün, Blau gesendet werden. Drücke ich wieder Taster 1. wird werden wieder die Noten für Dimmer, Pan und Tilt gesendet... Bei Taster 4, 5 usw. sollen die dafür hinterlegten Noten gesendet werden.

Taster 1: Midi Noten für Dimmer, Pan, Tilt, x Taster 2: Midi Noten für Gobo, Rot, Grün, Blau Taster 3: Midi Noten für x, x, x, x usw.

Ja, wie schon in Post #2 beschrieben.

Evtl. benötigst du noch einen Taster mit dem du dem Sketch mitteilst, du möchtest Speichern.

uezi89: Das ganze soll ein Midi Controller für ein Midi Lichtpult geben. ...

Oh, das klingt sehr interessant! Zuerst dachte ich, Du möchtest nur 4 oder 5 Dinge nacheinander machen, dann hätte 1 Taster und eine Variable genügt. Wenn Du erreicht hast, was Du möchtest, fände ich ein Filmchen des Licht-Schauspiels schön.

Gruß

Gregor

Klar gerne kann ich machen. Aber verstehe trotzdem nicht so richtig was du meinst... :D

uezi89: Aber verstehe trotzdem nicht so richtig was du meinst... :D

Dann sind wir schon zu zweit :-)

Also mit Filmchen meine ich zum Beispiel ein Händi-Video. Mit dem einzelnen Taster und der Variable meinte ich, dass Du nur ein Lauflicht oder so weiterschalten möchtest.

Gruß

Gregor

Gregor, jetzt bringst du den TO richtig durcheinander. ;)

HotSystems: Gregor, jetzt bringst du den TO richtig durcheinander. ;)

Was erwartest Du? Er schreibt, dass er nicht weiß, was ich meine, wobei ich nicht weiß, was er meint. Da ist doch alles klar wie Kloßbrühe :-) Außerdem ist doch heute Tag der dt. Gemeinheit, ist das nicht so etwas wie der 1. April?

SCNR

Gregor

Hallo nochmal, also ich versuch das jetzt nochmal besser zu erklären.

In der Grundeinstellung soll...

Encoder 1: bei Linksdrehung: Midi Channel 3 Note 1 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 3 Note 2 mit Velocity 127 aus

Encoder 2: bei Linksdrehung: Midi Channel 3 Note 3 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 3 Note 4 mit Velocity 127 aus

Encoder 3: bei Linksdrehung: Midi Channel 3 Note 5 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 3 Note 6 mit Velocity 127 aus

Encoder 4: bei Linksdrehung: Midi Channel 3 Note 7 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 3 Note 8 mit Velocity 127 aus

ausgeben.

Nun drücke ich Button Nummer 2, dann soll...

Encoder 1: bei Linksdrehung: Midi Channel 4 Note 1 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 4 Note 2 mit Velocity 127 aus

Encoder 2: bei Linksdrehung: Midi Channel 4 Note 3 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 4 Note 4 mit Velocity 127 aus

Encoder 3: bei Linksdrehung: Midi Channel 4 Note 5 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 4 Note 6 mit Velocity 127 aus

Encoder 4: bei Linksdrehung: Midi Channel 4 Note 7 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 4 Note 8 mit Velocity 127 aus

ausgeben.

Nun drücke ich Button Nummer 3, dann soll...

Encoder 1: bei Linksdrehung: Midi Channel 5 Note 1 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 5 Note 2 mit Velocity 127 aus

Encoder 2: bei Linksdrehung: Midi Channel 5 Note 3 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 5 Note 4 mit Velocity 127 aus

Encoder 3: bei Linksdrehung: Midi Channel 5 Note 5 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 5 Note 6 mit Velocity 127 aus

Encoder 4: bei Linksdrehung: Midi Channel 5 Note 7 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 5 Note 8 mit Velocity 127 aus

ausgeben.

Usw. bis ich bei 10 Buttons angekommen bin.

Wähle ich wieder Button 1 (Grundeinstellung) soll wieder

Encoder 1: bei Linksdrehung: Midi Channel 3 Note 1 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 3 Note 2 mit Velocity 127 aus

Encoder 2: bei Linksdrehung: Midi Channel 3 Note 3 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 3 Note 4 mit Velocity 127 aus

Encoder 3: bei Linksdrehung: Midi Channel 3 Note 5 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 3 Note 6 mit Velocity 127 aus

Encoder 4: bei Linksdrehung: Midi Channel 3 Note 7 mit Velocity 127 aus bei Rechtsdrehung: Midi Channel 3 Note 8 mit Velocity 127 aus

ausgeben.

Die Ausgabe der entsprechenden Encoder funktioniert schon. Es geht lediglich um die Wahl was ausgegeben werden soll.

Ich hoffe es ist nun etwas verständlicher. Danke für eure Antworten :)

uezi89: Ich hoffe es ist nun etwas verständlicher. Danke für eure Antworten :)

Hallo,

was ist denn an meiner Aussage in Post #2 bzw. Post #4 nicht verständlich.

Da habe ich doch schon erklärt, wie du es machen kannst. Oder erwartest du einen fertigen Sketch ?

uezi89: Die Ausgabe der entsprechenden Encoder funktioniert schon.

Wo kann ich das sehen, wo ist der Link zum Sketch :o

agmue:
Wo kann ich das sehen, wo ist der Link zum Sketch :o

Das wird sicher ein sehr umfangreicher Sketch weren, da wir länger warten dürfen.

Mit dem Tasterdruck setzt du eine Variable auf 0 bis 9, ergibt 10 Werte.

Wenn es einfach werden soll:
Lager deine “sendefunktion” in eine Funktion aus, der du den channel und die Note zum Senden übergibst.
Dann in einem switch case auf die Variable der Taster, wo du die 10 Fälle abfragst.

Oder habe ich da was falsch verstanden?

ElEspanol: Oder habe ich da was falsch verstanden?

Ich denke mal so ähnlich. ;)

Er will ja die Werte der Dreh-Encoder speichern (10 mal) und dazu noch ein bisschen was anderes.

Aber da er sich nicht mehr dazu äußert, tappen wir im Dunkeln und raten weiter.

Oder er versteht uns nicht und weis nicht wie er es sagen soll.

HotSystems: ... Oder er versteht uns nicht und weis nicht wie er es sagen soll.

Ich tippe darauf, dass er auf einen fertigen Sketch gehofft hat und jetzt sauer ist, weil er es doch selber programmieren muss.

Gruß

Gregor

gregorss: Ich tippe darauf, dass er auf einen fertigen Sketch gehofft hat und jetzt sauer ist, weil er es doch selber programmieren muss.

War ja in Post #11 auch schon meine Vermutung.

Aber kann er dass, ich meine selbst programmieren ? Naja, er schrieb ja, die Encoder funktionieren bei ihm. Dann sollte das klappen. Und wir helfen doch dabei....

von speichern steht doch nirgends was. Ich gehe davon aus, dass er verschiedene Lampen steuern will, Helligkeit,links/rechts, etc., Jede Lampe hört auf einen Channel, und die Noten macht die gewünschte Funktion. Der Rotary feuert die Noten und die Lampe verstellt sich pro Schuss um a Muckaseckele. Somit kann er 10 Lampen steuern. Das ist zumindest das, was ich mir vorstelle. Von Midi etc. habe ich allerdings keine Ahnung.

ElEspanol: von speichern steht doch nirgends was.

Richtig.... Weil der TO nicht weis, wie er es lösen soll.

Ich lese daraus, er möchte bestimmte Einstellungen der Dreh-Encoder per Taster abrufen. Dafür muss er die eingestellten Werte zuvor in einer Variablen gespeichert haben und diese Werte werden dann per if-Anweisung abgerufen.

Aber das ist von mir jetzt auch nur eine Vermutug, da der TO sich ja nicht dazu ausspricht.