Benutzer-Werkzeuge

Webseiten-Werkzeuge


anleitungen:effekte_mll

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
anleitungen:effekte_mll [2022/09/20 10:48] – [LED-Werte kopieren] raily74anleitungen:effekte_mll [2024/04/09 16:39] (aktuell) – [LED-Werte als Variable] moba_nick
Zeile 111: Zeile 111:
 | SKIP_ROOM  | Diese LED wird nicht angesteuert sondern übersprungen. Dies kann verwendet werden um einen Shop der sich in einem Gebäude in der Mitte der LED-Kette befindet separat anzusteuern, in dem die Funktion (Next_Led()) verwendet wird. | | SKIP_ROOM  | Diese LED wird nicht angesteuert sondern übersprungen. Dies kann verwendet werden um einen Shop der sich in einem Gebäude in der Mitte der LED-Kette befindet separat anzusteuern, in dem die Funktion (Next_Led()) verwendet wird. |
  
-=== Beispiel === +==== Belebtes Haus mit individuellen Schaltzeiten ==== 
-  House(0SI_123ROOM_DARKROOM_BRIGHTROOM_WARM_W)+   
 +{{:bilder:anleitungen:prog_gen:effects:house.jpg?nolink|}} **HouseT(LedInchOn_MinOn_LimitT_MinT_Max... )** \\  
 +Das belebte Haus wie zuvor beschrieben mit der Möglichkeit abweichende Schaltzeiten anzugeben. Damit ist es auch möglich ein Haus immer "komplett" anzuschalten, indem man ''On_Min'' und ''On_Limit'' auf die Anzahl der LEDs und ''T_Min'' sowie ''T_Max0'' auf 0 setzt. 
 ==== Straßenlaternen ==== ==== Straßenlaternen ====
 {{:bilder:anleitungen:prog_gen:effects:streetlight.jpg?nolink|}} **GasLights(Led, Inch, ...)** \\  {{:bilder:anleitungen:prog_gen:effects:streetlight.jpg?nolink|}} **GasLights(Led, Inch, ...)** \\ 
Zeile 505: Zeile 507:
 {{:bilder:anleitungen:prog_gen:effects:CopyLED.jpg?nolink|}} **CopyLED** {{:bilder:anleitungen:prog_gen:effects:CopyLED.jpg?nolink|}} **CopyLED**
  
-Mit dem „CopyLED()“ Befehl wird die Helligkeit der drei Farben einer Quell-LED („SrcLED“) in eine andere LED („LED“) kopiert. Das ist zum Beispiel bei einer Ampel an einer Kreuzung sinnvoll. Hier sollen die gegenüberliegenden Ampeln das gleiche Bild zeigen. Ein anderes Beispiel ist ein [[anleitungen:spezial:codevorlagen:farbwechsel|Farbwechsel]], der von vielen Flutlichtstrahlern erzeugt wird. Hier kann mit dem „CopyLED()“ Befehl auch Speicherplatz gespart werden.+Mit dem „CopyLED()“ Befehl wird die Helligkeit der drei Farben einer Quell-LED („SrcLED“) in eine andere LED („LED“) kopiert. Das ist zum Beispiel bei einer Ampel an einer Kreuzung sinnvoll. Hier sollen die gegenüberliegenden Ampeln das gleiche Bild zeigen. Ein anderes Beispiel ist ein [[anleitungen:spezial:codevorlagen:farbwechsel|Farbwechsel]], der von vielen Flutlichtstrahlern erzeugt wird. Hier kann mit dem „CopyLED()“ Befehl auch Speicherplatz gespart werden.\\ 
 Wenn zwei RGB LEDs das gleiche zeigen sollen, dann kann man das auch durch die [[hilfestellungen:ws2811#ws2812_parallel|elektrische Verkabelung]] erreichen. Hier ist allerdings darauf zu achten, dass nur von der Master-LED ein Datensignal zur nächsten LED führt. Wenn zwei RGB LEDs das gleiche zeigen sollen, dann kann man das auch durch die [[hilfestellungen:ws2811#ws2812_parallel|elektrische Verkabelung]] erreichen. Hier ist allerdings darauf zu achten, dass nur von der Master-LED ein Datensignal zur nächsten LED führt.
 ==== LED-Werte als Variable ==== ==== LED-Werte als Variable ====
 {{:bilder:anleitungen:prog_gen:effects:LinkK.jpg?nolink|}} **LED_to_Var** {{:bilder:anleitungen:prog_gen:effects:LinkK.jpg?nolink|}} **LED_to_Var**
  
-Mit dieser Funktion können LED Werte welche z.B. über den Pattern Generator bestimmt werden zur Steuerung von anderen Funktionen verwendet werdenSo kann Beispielsweise ein Schweißlicht aktiviert werden nachdem ein Schuppentor geöffnet wurde.+{{bilder:anleitungen:prog_gen:led_to_var_0_mark.png?640|}} 
 + 
 +=== Zielvariable === 
 +Hier wird ein Variablen-Name angegeben, der im weiteren zur Steuerung z.B. eines Schweißlichtes verwendet wird. 
 + 
 +=== 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 von der LED davor. \\ 
 + 
 +{{:bilder:anleitungen:prog_gen:led_to_var_mark.jpg?direct|800|}} 
 +\\ 
 +  
 +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. \\ 
 + 
 +{{:bilder:anleitungen:prog_gen:led_to_var_2_mark.jpg?direct|800|}}  
 + 
 +=== Vergleichstyp === 
 +Es gibt 6 Vergleichswerte \\ 
 +^  Operator  ^  Bedeutung  ^  Beispiel für „wahr“ 
 +| = | 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, dies auszudrücken, ist: 
 +|  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 Vergleichstypen gut geeignet. 
 +\\ 
 +=== Vergleichswert === 
 + 
 +Hier wird der Wert eingetragen, der mit dem Wert des LED-Kanals verglichen wird. 
 ==== Variable für 256 Zustände erstellen ==== ==== Variable für 256 Zustände erstellen ====
 {{:bilder:anleitungen:prog_gen:effects:Variable.jpg?nolink|}} **New_Local_Var**\\ {{:bilder:anleitungen:prog_gen:effects:Variable.jpg?nolink|}} **New_Local_Var**\\
Zeile 541: Zeile 593:
 INCH_<Typ>_<Adr>_<Tast>    <Typ>: "DCC", "SX", "CAN"  /  <Adr> Adresse  /  <Typ>: "RED", "GREEN", "ONOFF"\\ INCH_<Typ>_<Adr>_<Tast>    <Typ>: "DCC", "SX", "CAN"  /  <Adr> Adresse  /  <Typ>: "RED", "GREEN", "ONOFF"\\
 Bei Selectix <Adr>: <Channel>_<BitNr>  /  <Typ>: "ONOFF", "TAST"  Bei Selectix <Adr>: <Channel>_<BitNr>  /  <Typ>: "ONOFF", "TAST" 
 +
 +=== Beispiel des Variablen-Namen (hier DCC) ===
 +  * INCH_DCC:12_ONOFF
 +  * INCH_DCC_13_RED
 +  * INCH_DCC_13_GREEN
 +
 +=== Beispiel einer Programmierung ===
 +
 +Hier soll ein Andreaskreuz aktiviert werden durch 2 DCC-Adressen: Egal welche DCC-Adresse auf ON ist, soll das Andreaskreuz blinken.
 +{{bilder:anleitungen:prog_gen:bild1_define-input.png}}\\
 +Hier werden für die DCC-Adresse 11 und 12 jeweils eine Inputvariable (ICH_DCC_11_ONOFF und INCH_DCC_12_ONOFF) definiert.
 +Diese werden über eine OR-Verknüpfung verknüpft.
 +
 ===== Automatisierung ===== ===== Automatisierung =====
 ==== Zeitplan ==== ==== Zeitplan ====
Zeile 833: Zeile 898:
  
 Auf diesem Led Kanal wird das DMX512 Protokoll ausgegeben Auf diesem Led Kanal wird das DMX512 Protokoll ausgegeben
 +====== Effekte - Sound ======
 +
 ====== Sound Funktionen für das MP3-TF-16P Modul ====== ====== Sound Funktionen für das MP3-TF-16P Modul ======
 +===== Hauptplatine =====
 +
 +Soundsteuerung mit der 8xMP3-Multi-Soundplatine. \\
 +{{bilder:anleitungen:prog_gen:8xmp3_bild1.png}} \\
 +Hierzu muss ein Pin der Hautplatine zur seriellen Ansteuerung eines Sound Moduls sowie den Typ des angeschlossenen Soundmoduls definiert werden. Danach können Sound-Tracks dieses Moduls abgespielt werden. 
 +Die Pin Nummer kann als Zahl, oder als symbolische Konstante angegeben werden.
 +Beispiel: KEY80_P1
 +Der Typ bestimmt das Protokoll, mit dem das Soundmodul gesteuert wird.
 +Manche MP3-TF Module haben einen Fehler und müssen mit der Variante NO_CRC (keine Prüfsumme) angesprochen werden. Module mit folgenden Sound Chip Nummern wurde bisher als fehlerhaft identifiziert: MH2024K-16SS
 +Beispiel einer Programmierung im Prog_Generator: \\
 +{{bilder:anleitungen:prog_gen:8xmp3_bild2.png}} \\
 +
 +Bezeichnung Beschreibung
 +|  Soundmodul wählen  |  Pin des Soundmoduls definieren  |
 +| Titel # abspielen | Track # vom angegebenen Modul abspielen (Rootverzeichnis) |
 +| Zufälligen Titel abspielen | Zufälligen Titel vom angegebenen Modul abspielen (Rootverzeichnis) |
 +| Wiedergabe | Setzt die Sound Wiedergabe fort |
 +| Pause | Hält die Sound Wiedergabe an |
 +| Endloswiedergabe | Stellt den Wiederholmodus ein |
 +| Lauter | Lautstärke erhöhen |
 +| Leiser | Lautstärke reduzieren |
 +| Lautstärke definieren | Lautstärke setzen auf 0 ..100% |
 +
 +===== Soundmodul wählen =====
 +
 +Einen Pin der Hautplatinen zur seriellen Ansteuerung eines Sound Moduls sowie den Typ des angeschlossenen Soundmoduls definieren. Die Pin Nummer kann als Zahl, oder als symbolische Konstante angegeben werden.
 +{{bilder:anleitungen:prog_gen:8xmp3_bild3.png}} \\
 +Beispiel: KEY80_P1\\
 +|  Soundmodul  |  Jumperpin  |  Pin „KEY_80“  |  Kennung Programm-Generator  |  Arduino-Pin |
 +| #1 | A1 → B1 | 1 | KEY80_P1 | D2 |
 +| #2 | A2 → B2 | 2 | KEY80_P2 | D7 |
 +| #3 | A3 → B3 | 3 | KEY80_P3 | D8 |
 +| #4 | A4 → B4 | 4 | KEY80_P4 | D9 |
 +| #5 | A5 → B5 | 5 | KEY80_P5 | D10 |
 +| #6 | A6 → B6 | 6 | KEY80_P6 | D11 |
 +| #7 | A7 → B7 | 7 | KEY80_P7 | D12 |
 +| #8 | A8 → B8 | 12 | KEY80_P12 | A5 |
 +| n.c. | A9 | 8 | KEY80_P8 | A1 |
 +| n.c. | B9 | 9 | KEY80_P9 | A2 |
 +| n.c. | A10 | 10 | KEY80_P10 | A3 |
 +| n.c. | B10 | 11 | KEY80_P11 | A4 |
 +
 +Der Typ bestimmt das Protokoll (MP3-TF-16P, MP3-TF16P-NO-CRC oder JQ6500), mit dem das Soundmodul gesteuert wird.
 +Manche MP3-TF Module haben einen Fehler und müssen mit der Variante NO_CRC (keine Prüfsumme) angesprochen werden. Module mit folgenden Sound Chip Nummern wurde bisher als fehlerhaft identifiziert: MH2024K-16SS
 +===== Titel # abspielen =====
 +
 +Track # auf einem angegeben Soundkanal starten (Rootverzeichnis). 
 +Sound Kanal 0 – 7 (entspricht Soundmodul 1 – 8)
 +Tracknummer 1 – 256
 +===== Zufälligen Titel abspielen =====
 +
 +
 +Im Makro wird ein Bereich von Track x bis Track y angegeben. Aus diesem Bereich wird ein zufälliger Track abgespielt.
 +
 +===== Wiedergabe =====
 +Setzt die Sound Wiedergabe fort, nach dem sie mit dem Pause-befehl unterbrochen wurde.
 +===== Pause =====
 +
 +Hält die Sound Wiedergabe an.
 +===== Endloswiedergabe =====
 +
 +Stellt den Wiederholmodus ein
 +LOOP_ALL:         spielt alle Titel wiederholt ab
 +LOOP_FOLDER: spielt alle Titel eines Verzeichnisses wiederholt ab
 +LOOP_ONE:       spielt den aktuellen Titel wiederholt ab
 +LOOP_OFF:        keine Wiederholung
 +===== Lauter =====
 +
 +Lautstärke erhöhen.
 +===== Leiser =====
 +
 +Lautstärke reduzieren.
 +===== Lautstärke definieren =====
 +
 +Der angegebene Prozentwert wird je nach Soundmodul in einen passenden Lautstärkenwert umgewandelt, welches das Soundmodul unterstützt.
 +
 ==== Sound_Prev ==== ==== Sound_Prev ====
 Die Sound_Prev Funktion spielt die vorherige Sounddatei ab.  Die Sound_Prev Funktion spielt die vorherige Sounddatei ab. 
anleitungen/effekte_mll.1663670933.txt.gz · Zuletzt geändert: 2022/09/20 11:48 (Externe Bearbeitung)