Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
anleitungen:effekte_mll [2024/02/17 12:11] – [Sound Funktionen für das MP3-TF-16P Modul] moba_nick | anleitungen:effekte_mll [2024/04/09 16:39] (aktuell) – [LED-Werte als Variable] moba_nick | ||
---|---|---|---|
Zeile 513: | Zeile 513: | ||
{{: | {{: | ||
- | Mit dieser Funktion können LED Werte welche | + | {{bilder: |
+ | |||
+ | === Zielvariable === | ||
+ | Hier wird ein Variablen-Name angegeben, der im weiteren zur Steuerung | ||
+ | |||
+ | === LED-Nummer Offset === | ||
+ | Dies ist die entschiedenste und problematischste Stelle der Funktion. Die Funktion bezieht sich auf die LED aus der Zeile davor. Ist das eine RGB-LED, so ist hier der Wert 0 dem roten Kanal entsprechend. Der Wert 1 ist der Grün-Kanal und 2 der blaue Kanal. Wie gesagt | ||
+ | |||
+ | {{: | ||
+ | \\ | ||
+ | |||
+ | Es ist aber auch möglich, LED-Zustände von LED’s zu testen, die erst nach der LED_to_Var Zeile kommen. In diesem Fall geht der Offset bei 3 los | ||
+ | ^ LED ^ Kanal ^ Offset | ||
+ | |2|Rot|3| | ||
+ | |2|Grün|4| | ||
+ | |2|Blau|5| | ||
+ | |3|Rot|6| | ||
+ | \\ | ||
+ | usw. bis zu einem Offset von 31, also bis zu 9 RGB-LED’s weit. \\ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === Vergleichstyp === | ||
+ | Es gibt 6 Vergleichswerte \\ | ||
+ | ^ Operator | ||
+ | | = | Beide Werte müssen gleich sein | LED-Kanal 10, Vergleichswert 10 | | ||
+ | | != | Beide Werte müssen ungleich sein | LED-Kanal 10, Vergleichswert 20 | | ||
+ | | < | LED muss kleiner sein als Vergleich | LED-Kanal 10, Vergleichswert 11 | | ||
+ | | > | LED muss größer sein als Vergleich | LED-Kanal 11, Vergleichswert 10 | | ||
+ | | & | Binärer Vergleich | Siehe unten | | ||
+ | | !& | Binärer Vergleich negiert | Siehe unten | | ||
+ | \\ | ||
+ | Der bitweise AND-Operator (einzelnes kaufmännisches Und &), bearbeitet die Bitpositionen der umgebenden Ausdrücke unabhängig voneinander gemäß dieser Regel: Wenn beide Eingangsbits 1 sind, ist das resultierende Ergebnis 1, andernfalls ist das Ergebnis 0. \\ | ||
+ | Eine andere Möglichkeit, | ||
+ | | 0 0 1 1 | LED-Kanal (3) | | ||
+ | | 0 1 0 1 | Vergleich (5) | | ||
+ | | - - - - - - | | | ||
+ | | 0 0 0 1 | (operand1 & operand2) – Ergebnis ist wahr | | ||
+ | |||
+ | == Beispielcode== | ||
+ | | Led-Kanal | 92 | Binär: 01011100 | | ||
+ | | Led-Kanal | 101 | Binär: 01100101 | | ||
+ | | Led_to_Var; |Ergebnis: | 01000100, oder 68 dezimal und damit wahr. | | ||
+ | \\ | ||
+ | Um die Binär-Vergleiche zu nutzen, sind ausführliche Tests notwendig. Sie eignen sich nicht für eine schnelle Lösung. Hierfür sind die 4 anderen | ||
+ | \\ | ||
+ | === Vergleichswert === | ||
+ | |||
+ | Hier wird der Wert eingetragen, | ||
==== Variable für 256 Zustände erstellen ==== | ==== Variable für 256 Zustände erstellen ==== | ||
{{: | {{: |