Hier mal ein Beispiel wie ich mit einer 4 Farb Combi LED bei einem Center-Erffekt vorgehe.
Ausgangssituation:
Mein Center Effekt (Varytec Progression 2) verfügt über 4 Farb LEDs.
- rot
- blau
- grün
- weiß
Diese können jeweils einzeln oder auch in jeder beliebigen Kombination leuchten.
Das macht in Summe dann 16 verschiedene Kombinationen.
Ziel
Mit möglichst wenig Tasten (Softdesk oder externes Midi Pult) die Farbe steuern.
Als Erstes habe ich mal eine Cuelist erstellt mit jeder möglichen Farbkombination.
Im nächsten Schritt stand ich vor dem Problem wie ich mit wenig Tasten alle 16 möglichen CUEs abgleichen kann
Der Idealfall wäre ja vier Tasten, für jede Farbe eine Taste und ich aktiviere dann eben die Farben nach Wunsch.
Dies lässt sich natürlich über eine ganze Menge Vergleichsoperationen Lösen.
Doch da wäre das Problem, das immer nur zwei Werte mit der Compare Funktion verglichen werden können. Der Aufbau dies über Compare zu gestalten wäre echt nicht ohne.
Lösung:
Mathematik. Jeder Taste habe ich nach einem T-Flip-Flop einen Wert mittels Binary Switcher zugewiesen. z.B. gedrückt = 7 nicht gedrückt = 0
Nun lasse ich mit einer Math Funktion Addition den Wert von Taste Rot und Grün bestimmen.
In einer zweiten Rechnung lasse ich den Wert von den Tasten Blau und Weiß bestimmen.
Die Ergebnisse dieser beiden Rechnungen addiere ich nun zu mein Endwert zusammen.
Nun erfolgen dann mit diesem Wert (z.B.16) eine Compare Abfrage mit den operator ==
Beispiel:
Taste Rot hat den Wert 7
Taste Grün den Wert 9
Taste blau den Wert 5
Taste Weiß den Wert 17 <--- darauf komm ich gleich noch einmal *
Wenn nun Taste rot und blau gedrückt sind, ergibt sich folgende Rechnung:
7+0=7
6+0=6
7+6 = 13
Mit ein Compare vergleich wird nun festgelegt, was passiert wenn Wert 13 == vorliegt
In meinen Fall wird dann in der Cuelist ein Goto auf den 7ten Cue der Liste vollzogen.
Es klappt nicht zu 100% denn das einschalten geht, nur wenn man umschalten will, also rot aus und weiß an, obwohl blau noch leuchtet, gehen alle aus.
Dennoch habe ich so für mich einen Weg gefunden, wie ich dieses Problem mit wenigen tasten lösen kann.
Es kann sein, dass es einen besseren Weg gibt, doch diesen habe ich dann noch nicht gefunden.
* Wichtig, bei der Wahl der Werte sollte klar sein, das es immer einmalige Ergebnisse gibt. Am einfachsten wäre hier die "10er" Potenz.
Rot 10
grün 100
weiß 1000
blau 10000
So ist sichergestellt das bei der Addition keine Ergebnisse doppelt auftauchen können.
Als letztes gibt es dann noch eine Compare Abfrage == 0. Also nichts gedrückt. Dies führt zu einem Reset und Stopp der Liste.
Für die meisten ist dies nun vermutlich ein alter Hut, doch eventuell kann ja doch nicht jemand etwas hiervon gebrauchen.
Wer möchte, kann sich das in den beiliegen Beispielprojekt noch einmal anschauen.
Maik
PS.: Löschen, wenn mein Weg völliger Blödsinn ist