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 [2025/11/25 17:34] – [Letzte Zustände speichern] petervt11anleitungen:effekte_mll [2026/08/21 09:31] (aktuell) – [Zufallsschaltung] Parameter Ergänzung petervt11
Zeile 158: Zeile 158:
 RGB LED welche als Funktionsindikator in wechselnden Regenbogenfarben blinkt. Minimale und maximale Helligkeit kann angegeben werden. Ansonsten verhält sich der Effekt gleich wie der [[anleitungen:effekte_mll#rgb_heartbeat|RGB_Heartbeat]] RGB LED welche als Funktionsindikator in wechselnden Regenbogenfarben blinkt. Minimale und maximale Helligkeit kann angegeben werden. Ansonsten verhält sich der Effekt gleich wie der [[anleitungen:effekte_mll#rgb_heartbeat|RGB_Heartbeat]]
  
 +==== MobaLedLib Farbring ====
 +{{:bilder:anleitungen:prog_gen:effects:mllring.jpg?nolink|}} **RGB_Ring**
 +
 +Ring mit 12 RGB LED, welche das MobaLedLib Logo auf dem Hauptplatinengehäuse eindrucksvoll animieren.
 +Die Helligkeit sowie die Geschwindigkeit können angegeben werden.
 +
 +Bei der LichtMaschine Pro wird der MobaLedLib-Farbring standardmäßig an Kanal 7 betrieben, dieser ist im Macro voreingestellt.
 +
 +{{:bilder:anleitungen:prog_gen:effects:rgb_ring-macro.png?480|}}
 ==== Leuchtfeuer ==== ==== Leuchtfeuer ====
 {{:bilder:anleitungen:prog_gen:effects:Lighthouse.jpg?nolink|}} **Leuchtfeuer** {{:bilder:anleitungen:prog_gen:effects:Lighthouse.jpg?nolink|}} **Leuchtfeuer**
Zeile 498: Zeile 507:
 Mit der Logic Funktion können mehrere Eingangsvariablen zu einer Ausgangsvariable verknüpft werden. So können logische Verknüpfungen umgesetzt werden. Mit der Logic Funktion werden mehrere Eingangsvariablen über "NOT", "AND" und "OR" verknüpft und in die Ausgangsvariable geschrieben. Die logischen Verknüpfungen müssen als Disjunktive Normalform geschrieben werden. Bei dieser Darstellung werden Gruppen von "AND" Verknüpfungen mit "OR" kombiniert. Das kann z.B. so aussehen: \\  Mit der Logic Funktion können mehrere Eingangsvariablen zu einer Ausgangsvariable verknüpft werden. So können logische Verknüpfungen umgesetzt werden. Mit der Logic Funktion werden mehrere Eingangsvariablen über "NOT", "AND" und "OR" verknüpft und in die Ausgangsvariable geschrieben. Die logischen Verknüpfungen müssen als Disjunktive Normalform geschrieben werden. Bei dieser Darstellung werden Gruppen von "AND" Verknüpfungen mit "OR" kombiniert. Das kann z.B. so aussehen: \\ 
 A AND B OR A AND NOT C OR D \\  A AND B OR A AND NOT C OR D \\ 
-Als Beispiel dafür soll eine Led entweder über einen Taster auf der Hauptplatine oder über eine DCC Adresse geschaltet werden. Dazu benötigt man zunächst die Logic Funktion. Wenn man diese aufruft, erscheint dieses Fenster: \\ +Als Beispiel dafür soll eine LED entweder zusammen mit einer anderen LED über eine vergebene Variable (z. B. über den Befehl LED-to-Var) oder über eine eigene DCC Adresse geschaltet werden. Dazu benötigt man zunächst die Logic Funktion. Wenn man diese aufruft, erscheint dieses Fenster: \\ 
 {{:bilder:anleitungen:prog_gen:logic_example_1.png?400|}}\\ {{:bilder:anleitungen:prog_gen:logic_example_1.png?400|}}\\
-Im Feld Zielvariable trägt man einen beliebigen Variablennamen ein. In diesem Beispiel wird der Name "Input1" verwendet. Darunter wird nun die logische Verknüpfung von zwei Variablen eingetragenDa hier die Led über eine DCC Adresse (hier die Adresse 1) oder einen Taster geschaltet werden soll, wird "1 OR SwitchD1eingetragen. Es wäre aber zum Beispiel auch denkbar, dort "1 AND SwitchD1" einzutragen. Dann müssten die DCC Adresse und der Taster gleichzeitig eingeschaltet werdenum die Led zum Leuchten zu bringen. \\ +\\ 
 +Im Feld Zielvariable trägt man einen beliebigen Variablennamen ein. In diesem Beispiel wird der Name "schalter" verwendet. Dieser wird mit der darunter eigegebenen logischen Verknüpfung aktiviert\\ 
 +#InCh fragt die DCC-Adresse, den Schalter oder die Variable ab, die unter "Adresse oder Nameim Programm Generator für die "Logische Verknüpfungangegeben wurde, in unserem Beispiel die DCC-Adresse 12. \\ 
 +Die Variable "abfragen" ist mit einer LED-to-Var-Funktion verknüpft und wird aktivwenn die dort definierte Bedingung eintritt, in unserem Beispiel die rote LED.\\
 \\  \\ 
-Nun muss noch die Led eingetragen werden. Dazu kann z.B. die Const Funktion verwendet werden. In der Spalte Adresse wird dann die zuvor definierte Zielvariable ("Input1") eingetragen. \\ +Mit der Variable "schalter" kann nun eine beliebige Funktion geschaltet werden. In unserem Beispiel wird ein Blinker immer zusammen mit der roten LED aktiviert oder separat über die DCC-Adresse 12. \\ 
 {{:bilder:anleitungen:prog_gen:logic_example_2.png|}} {{:bilder:anleitungen:prog_gen:logic_example_2.png|}}
 ==== LED-Werte kopieren ==== ==== LED-Werte kopieren ====
Zeile 630: Zeile 642:
 Die Ausgangsvariable „DstVar” wird 1, wenn der Eingang „InCh“ aktiv ist.  Der Ausgang bleibt nachdem der Eingang deaktiviert wurde für „Duration” Millisekunden aktiv. Das Makro entspricht einem statischen, retriggerbaren Mono Flop. Die Zeit kann auch durch anhängen von „Sec“ oder „Min“ angegeben werden. Die maximale Zeit ist 17 Minuten. Die Ausgangsvariable „DstVar” wird 1, wenn der Eingang „InCh“ aktiv ist.  Der Ausgang bleibt nachdem der Eingang deaktiviert wurde für „Duration” Millisekunden aktiv. Das Makro entspricht einem statischen, retriggerbaren Mono Flop. Die Zeit kann auch durch anhängen von „Sec“ oder „Min“ angegeben werden. Die maximale Zeit ist 17 Minuten.
 ==== Zufallsschaltung ==== ==== Zufallsschaltung ====
 +
 +
 +Die Zufallsschaltungen haben einen Parameter namens "MODE". Hier kann folgendes angegeben werden:
 +
 +    RM_NORMAL    Standardwert.
 +    RF_SLOW    Die Zeitbasis wird durch 16 geteilt. Dieses Flag wird automatisch gesetzt, wenn die Zeit > 65535 ms ist.
 +    RF_SEQ    Schalten Sie die Ausgänge der Funktion RandMux() sequenziell und nicht zufällig um.
 +    RF_STAY_ON    Flag für die Funktion Ranom(). Der Ausgang bleibt aktiv, bis der Eingang abgeschaltet wird. MinOn und MaxOn legen die Einschaltdauer fest. 
 +    RF_NOT_SAME    Verhindern Sie, dass dieselbe Ausgabe zweimal hintereinander verwendet wird.  
 +    
 +Die Parameter können auch mittels " | " kombiniert werden. Z.B.: "RF_SEQ | RF_SLOW"
 +
 {{:bilder:anleitungen:prog_gen:effects:DiceR.jpg?nolink|}} **RandMux** {{:bilder:anleitungen:prog_gen:effects:DiceR.jpg?nolink|}} **RandMux**
  
Zeile 821: Zeile 845:
 {{:bilder:anleitungen:prog_gen:effects:Storage.jpg?nolink|}} **Enable_Store_Status**\\ {{:bilder:anleitungen:prog_gen:effects:Storage.jpg?nolink|}} **Enable_Store_Status**\\
  
-Durch die Funktion Enable_Store_Status wird der letzte Status von Variablen gespeichert. Dadurch zeigen beim erneuten Einschalten der Anlage z.B. Signale immer noch das gleiche Signalbild. Die Funktion bezieht sich immer auf **alle <del>nachfolgenden</del>** Zeilen. Es reicht also, wenn die Funktion einmal am Anfang der Konfiguration eingefügt wird. +Durch die Funktion Enable_Store_Status wird der letzte Status von Variablen gespeichert. Dadurch zeigen beim erneuten Einschalten der Anlage z.B. Signale immer noch das gleiche Signalbild. Die Funktion bezieht sich immer auf **alle** <del>nachfolgenden</del> Zeilen. Es reicht also, wenn die Funktion einmal am Anfang der Konfiguration eingefügt wird. 
 Es werden aber nur bestimmte Variablen / Funktionen gespeichert: Es werden aber nur bestimmte Variablen / Funktionen gespeichert:
   - DCC An/Aus (nicht DCC rot oder DCC grün!)   - DCC An/Aus (nicht DCC rot oder DCC grün!)
Zeile 828: Zeile 852:
   - Charlieplexing   - Charlieplexing
   - Relaiskontakte für Herzpolarisierung   - Relaiskontakte für Herzpolarisierung
 +  - und ggf. noch andere...
 +
 Nicht gespeichert werden Servostellungen oder Servopositionen. Nicht gespeichert werden Servostellungen oder Servopositionen.
  
-Um das Speichern eines einzelnen Elements zu verhindern (ohne die ganze Funktion auf zugeben) wird für diese Funktion in der Spalte "Startwert" eine "0" eingetragen.+Um das Speichern eines einzelnen Elements zu verhindern (ohne die ganze Funktion auf zugeben) wird für diese Funktion in der Spalte "Startwert" eine "0" eingetragen. \\
 {{:bilder:anleitungen:prog_gen:enable_store_status_beispiel.png?600|}} {{:bilder:anleitungen:prog_gen:enable_store_status_beispiel.png?600|}}
  
Zeile 860: Zeile 886:
 **DMX:** Bei Verwendung von DMX erhöht sich die Anzahl der Kanäle um 1.\\ **DMX:** Bei Verwendung von DMX erhöht sich die Anzahl der Kanäle um 1.\\
 **Virtuelle Pins:** Bei Verwendung des virtueller Pins 'V' erhöht sich die Anzahl der Kanäle um 1.\\ **Virtuelle Pins:** Bei Verwendung des virtueller Pins 'V' erhöht sich die Anzahl der Kanäle um 1.\\
- +Virtuelle Kanäle eignen sich, um versteckte Operationen auszuführendie man uA. mit anderen Funktionen abfragen kann.\\  
-Virtuelle Pins eignen sich perfekt für die Funktion [[effekte_mll#led-werte_als_variable|LED-Werte als Variable]]. Mit dieser Funktion kann man die Zustände anderer LEDs abfragen und bei bestimmten Zuständen Aktionen auslösen. So kann man beispielsweise mit dem Pattern Configurator vorgebenwann welches Haus angehen soll.  +Eine Anleitung zu diesem Thema gibt es hier[[anleitungen:prog_gen:virtual|Virtuelle LED-Kanäle]]
- +
-Im Prinzip kann man jeden LED-Kanalden man nicht benötigt, als "virtuellen Kanal" verwendenEs muss in dem Fall auch keine Hardware an den Kanal angeschlossen werden (WS281X) +
- +
-Für den Fall, dass alle vorhandenen LED-Kanäle verwendet werden sollen, muss man zunächst alle verwendeten oder einfach alle möglichen LED-Kanäle des jeweiligen Arduinos/ESPs definieren und zusätzlich den virtuellen Kanal mit einem V bezeichnen. Die Anzahl der Kanäle erhöht sich dann um 1.\\ +
- +
-{{:bilder:anleitungen:prog_gen:pins-definieren.jpeg?400|}}\\ +
- +
-Das gezeigte Beispiel zeigt die Definition für den Arduino Nano. Hier wurden der LED-Kanal 0 (6), der PushButtonKanal 1 (A4), der LED-Kanal2 (2) und der virtuelle Kanal V extra definiert. Bei den Zahlen in den Klammern handelt es sich um die Anschluss-Pins am Arduino.\\ +
- +
-{{:bilder:anleitungen:prog_gen:virtuell_verwenden.jpeg?400|}} +
- +
-In der Programmierung ist der virtuelle Kanal also Kanal 3.\\ +
-Ablauf: Es wird mit der DCC Adresse 1 die LED auf dem virtuellen Kanal 3 eingeschaltet und sobald der Helligkeitswert größer als 1 ist dann wird die Variable "virtuell" aktiv und die RGB-LED auf dem LED-Kanal 0 beginnt zu leuchten. +
- +
-Für den ESP gilt das Gleiche, hier müssen auch die verwendeten Kanäle plus dem V-Kanal extra definiert werden.+
 ===== Tag/Nacht ===== ===== Tag/Nacht =====
 ==== Fotowiderstand aktivieren ==== ==== Fotowiderstand aktivieren ====
Zeile 908: Zeile 919:
 Mit dem Esp32 können deutlich mehr Leds und Effekte als mit dem normalen Arduino Nano angesteuert werden. Mit dem Esp32 können deutlich mehr Leds und Effekte als mit dem normalen Arduino Nano angesteuert werden.
  
-Um die erweiterten Möglichkeiten zu nutzen muss im Programm-Generator ein Eintrag gemacht werden:+Um die erweiterten Möglichkeiten zu nutzen muss im Programm-Generator ein Eintrag gemacht werden: \\
 {{:bilder:anleitungen:prog_gen:esp32_erweiterung.png?nolink|}} \\ {{:bilder:anleitungen:prog_gen:esp32_erweiterung.png?nolink|}} \\
  
anleitungen/effekte_mll.1764092066.txt.gz · Zuletzt geändert: von petervt11