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/04/24 18:41] – [ESP32 Erweiterung] petervt11anleitungen:effekte_mll [2025/06/21 22:28] (aktuell) – [LED-Werte als Variable] raily74
Zeile 515: Zeile 515:
 {{bilder:anleitungen:prog_gen:led_to_var_0_mark.png?640|}} {{bilder:anleitungen:prog_gen:led_to_var_0_mark.png?640|}}
  
 +Mit dieser Funktion kann die Helligkeit anderer LEDs abgefragt und somit als Schalter genutzt werden. Das macht es beispielsweise möglich, mithilfe des Pattern Configurators einen Ablauf vorzugeben. Besonders interessant ist in dem Zusammenhang die Nutzung eines [[effekte_mll#pins_led_bus_definieren|virtuellen LED Kanals]], um nicht unnötig blinde WS2811 als Referenz zu nutzen. 
 === Zielvariable === === Zielvariable ===
 Hier wird ein Variablen-Name angegeben, der im weiteren zur Steuerung z.B. eines Schweißlichtes verwendet wird. Hier wird ein Variablen-Name angegeben, der im weiteren zur Steuerung z.B. eines Schweißlichtes verwendet wird.
Zeile 771: Zeile 772:
 Eine monostabile Kippstufe, auch monostabiler Multivibrator, Monoflop oder Univibrator, ist eine digitale Schaltung, die nur einen stabilen Zustand hat. Von einem von außen eintreffenden Trigger-Signal angestoßen, ändert die Schaltung für eine bestimmte Zeit ihren Schaltzustand. Anschließend kehrt die Kippstufe wieder in die Ruhelage zurück. Eine monostabile Kippstufe, auch monostabiler Multivibrator, Monoflop oder Univibrator, ist eine digitale Schaltung, die nur einen stabilen Zustand hat. Von einem von außen eintreffenden Trigger-Signal angestoßen, ändert die Schaltung für eine bestimmte Zeit ihren Schaltzustand. Anschließend kehrt die Kippstufe wieder in die Ruhelage zurück.
 Man unterscheidet zwischen nachtriggerbaren (auch: retriggerbar) und nicht nachtriggerbaren Monoflops. Nachtriggerbar bedeutet, dass ein während des Zeitablaufes eintreffendes Triggersignal die interne Zeit jeweils erneut startet und der aktive Schaltzustand dementsprechend zeitlich verlängert wird. Bei einem nicht nachtriggerbaren Monoflop hat ein Triggersignal während der aktiven Phase keine Wirkung. Man unterscheidet zwischen nachtriggerbaren (auch: retriggerbar) und nicht nachtriggerbaren Monoflops. Nachtriggerbar bedeutet, dass ein während des Zeitablaufes eintreffendes Triggersignal die interne Zeit jeweils erneut startet und der aktive Schaltzustand dementsprechend zeitlich verlängert wird. Bei einem nicht nachtriggerbaren Monoflop hat ein Triggersignal während der aktiven Phase keine Wirkung.
-/==== Mono-Flop ====+/ 
 +==== Mono-Flop ====
 {{:bilder:anleitungen:prog_gen:effects:MonoFlopR.jpg?nolink|}} **MonoFlop** <wrap em>(Experteneinstellung)</wrap> {{:bilder:anleitungen:prog_gen:effects:MonoFlopR.jpg?nolink|}} **MonoFlop** <wrap em>(Experteneinstellung)</wrap>
  
 Ein Mono Flop ist eine Funktion welche den Ausgang für eine bestimmte Zeit aktiviert, wenn am Eingang ein Wechsel von Null nach Eins (Positive Flanke) erkannt wurde. Die Zeitdauer wird mit jeder weiteren Flanke verlängert, aber nicht, wenn der Eingang dauerhaft aktiv ist.  Ein Mono Flop ist eine Funktion welche den Ausgang für eine bestimmte Zeit aktiviert, wenn am Eingang ein Wechsel von Null nach Eins (Positive Flanke) erkannt wurde. Die Zeitdauer wird mit jeder weiteren Flanke verlängert, aber nicht, wenn der Eingang dauerhaft aktiv ist. 
-<WRAP round tip 60%>+<WRAP round tip 100%>
 Das Mono-Flop eignet sich beispielsweise zur Ansteuerung von Entkupplern. Dabei spielt es keine Rolle, ob diese mit Magnetspulen oder mit Servo betrieben werden. Mit einer freien DCC-Adresse wird das Mono-Flop aktiviert, welches wiederum den Ausgang für das Servo oder ein Relais für die eingestellte Zeit aktiviert. Der Entkuppler geht nach der voreingestellten Zeit wieder nach unten.\\ Das Mono-Flop eignet sich beispielsweise zur Ansteuerung von Entkupplern. Dabei spielt es keine Rolle, ob diese mit Magnetspulen oder mit Servo betrieben werden. Mit einer freien DCC-Adresse wird das Mono-Flop aktiviert, welches wiederum den Ausgang für das Servo oder ein Relais für die eingestellte Zeit aktiviert. Der Entkuppler geht nach der voreingestellten Zeit wieder nach unten.\\
 Ein weiteres Beispiel könnte ein Rauchgenerator sein. Um zu vermeiden, dass dieser "trocken läuft", lässt man ihn von einem übergeordneten Mono-Flop nach fünf Minuten deaktivieren. Ein weiteres Beispiel könnte ein Rauchgenerator sein. Um zu vermeiden, dass dieser "trocken läuft", lässt man ihn von einem übergeordneten Mono-Flop nach fünf Minuten deaktivieren.
Zeile 810: Zeile 812:
  
 ====== Taster ====== ====== Taster ======
-<WRAP center round tip 80%>+<WRAP center round tip 100%>
 Der Bereich für die Taster wurde ausgelagert, da hier eine umfangreiche Erklärung mit Beispielen zu jedem einzelen Tastermakro erstellt wurde. \\ Der Bereich für die Taster wurde ausgelagert, da hier eine umfangreiche Erklärung mit Beispielen zu jedem einzelen Tastermakro erstellt wurde. \\
 Die Seite ist ab sofort hier zu finden: [[anleitungen:effekte_mll:taster_funktionen|Effekte-MLL Tasterfunktionen]] Die Seite ist ab sofort hier zu finden: [[anleitungen:effekte_mll:taster_funktionen|Effekte-MLL Tasterfunktionen]]
Zeile 825: Zeile 827:
 Mit diesem Befehl können die drei Taster LEDs auf der Hauptplatine und die Grüne HB LED angesteuert werden (1 = linke LED, 2 = mittlere LED, 3 = rechte LED, 4 = HB LED zwischen den Nanos.) Es können auch die Arduino Pin Nummern D2, D3..D13, A0..A5) angegeben werden. Das ist vor allem für Testzwecke sinnvoll. Mit diesem Befehl können die drei Taster LEDs auf der Hauptplatine und die Grüne HB LED angesteuert werden (1 = linke LED, 2 = mittlere LED, 3 = rechte LED, 4 = HB LED zwischen den Nanos.) Es können auch die Arduino Pin Nummern D2, D3..D13, A0..A5) angegeben werden. Das ist vor allem für Testzwecke sinnvoll.
 ===== Pinnummern ===== ===== Pinnummern =====
 +==== Pins Schalter Gruppe A definieren ====
 +Definiert die verwendeten Eingangs-Pins für die analogen Schalter (Gruppe A)\\
 +Die Liste enthält einen oder mehrere analoge Pins das Arduinos welche per Komma getrennte sind. Pro Eingangs Pin können 10 analoge Schalter eingelesen werden (Standard: A6)
 +==== Pins Schalter Gruppe B definieren ====
 +Definiert die verwendeten Eingangs-Pins für die Gruppe B (Border)\\
 +Die Gruppe B ist für Taster (oder Schalter) am Anlagenrand (Border) gedacht. Hier wird normalerweise nur ein Eingangs Pin benutzt. (Standard: A2). 
 +Mit einer PushButon_4017 Platine können 10 Taste eingelesen werden. Durch Kaskadierung mehrerer Platinen kann die Anzahl der Eingänge erhöht werden. 
 +==== Pins Schalter Gruppe C definieren ====
 +Definiert die verwendeten Eingangs-Pins für die Gruppe C (Console)\\
 +Mit der Gruppe C können sehr viele Schalter eingelesen werden. 80 Schalter können mit einer PushButton_4017 Platine erfasst werden. Durch Kaskadierung mehrerer Platinen kann die Anzahl der Eingänge erhöht werden. (Standard: 2 10 11 12 A5)
 +==== Pins Schalter Gruppe D definieren ====
 +Definiert die verwendeten Eingangs-Pins für die Gruppe D (Direct) - direkt auf der Hauptplatine\\
 +Auf der Hauptplatine befinden sich 3 Taster. Diese können direkt verwendet werden. Die verwendeten Anschlüsse und einige Weiter sind auch auf den Stecker "KEY_80" gelegt damit externe Schalter angeschlossen werden können. Mit diesem Befehl können die Anzahl der Schalter erweitert werden. (Standard: 7 8 9)
 +==== Pins LED Bus definieren ====
 +Definiert die Ausgangs-Pins zur Ansteuerung der LEDs\\
 +
 +Mit der MobaLedLib können mehrere LED Kanäle angesteuert werden. Der erste Kanal wird für die normalen LEDs benutzt. Kanal 2 ist für die Taster gedacht.\\
 +**Arduino:** Es können bis zu 4 Kanäle benutzt werden. (Standard: 6 A4)\\
 +**ESP32:** Es können bis zu 8 Kanäle benutzt werden. (Standard: 27 32 16 14 18 19 23 0 17)\\
 +
 +**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 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 vorgeben, wann welches Haus angehen soll. 
 +
 +Im Prinzip kann man jeden LED-Kanal, den man nicht benötigt, als "virtuellen Kanal" verwenden. Es 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 861: Zeile 902:
 Damit wird im Programm-Manager folgendes eingetragen: Damit wird im Programm-Manager folgendes eingetragen:
  
-''#ifdef ESP32 \\ +  #ifdef ESP32 
-#define USE_ESP32_EXTENSIONS \\ +    #define USE_ESP32_EXTENSIONS 
-#endif''+  #endif 
 + 
 +Um das Display der Lichtmaschine Pro zu aktivieren ist ein weiterer Eintrag notwendig: 
 +  #ifdef ESP32 
 +    #define USE_ESP32_EXTENSIONS 
 +    #define USE_UI 
 +  #endif 
 +   
 +{{:bilder:anleitungen:prog_gen:esp32_mll_anzeige_2.jpg?nolink|}} \\ 
 + 
 +**Ab der Software 3.3.2G bzw. 3.4.0 gibt es noch weitere Möglichkeiten.** 
 + 
 +Je nach verwendeten Display (0,96" oder 1.3" Display) kann es zu Pixelfehlern am rechten Rand des Display's kommen.\\ 
 +{{:bilder:anleitungen:prog_gen:esp32_mll_anzeige_1a.png?nolink|}} \\ 
 +Da gibt es einen Parameter, der die Displaygröße einstellt: 
 + 
 +  OLED_TYP 1    ist das 0,96" Display  
 +  OLED_TYP 2    ist das 1,3" Display und ist der Standard (auch wenn nicht eingetragen) 
 +Eingetragen wird\\ 
 +  #ifdef ESP32 
 +    #define USE_ESP32_EXTENSIONS 
 +    #define USE_UI 
 +    #define OLED_TYP 2 
 +  #endif 
 +\\ 
 +\\ 
 +Des weiteren kann auch die **MobaLedLib-Uhrzeit** angezeigt werden. Voraussetzung ist allerdings die Zeile "Tag/Nacht-Modus aktivieren"
 +Mit dem Eintrag 
 +  UI_MLLTIME 1 
 +Das kann dann so im Excelblatt stehen: 
 +   #ifdef ESP32 
 +    #define USE_ESP32_EXTENSIONS 
 +    #define USE_UI 
 +    #define UI_MLLTime 1 
 +  #endif 
 + 
 +Das ergibt dann die Anzeige: 
 +{{:bilder:anleitungen:prog_gen:esp32_mll_time1.jpg?nolink|}} \\ 
 +\\ 
 +\\ 
 +Für Nutzer des **Fotowiderstandes (LDR)** gibt es die Möglichkeit, die Daten anzeigen zu lassen. Hier muss allerdings die Zeile "Fotowiderstand aktivieren" vorhanden sein. 
 + 
 +  UI_MLLTime 2      
 +oder 
 +  UI_MLLTime 3 
 +  
 +Bei "MLL_Time 2" gibt es diese Anzeige: 
 +{{:bilder:anleitungen:prog_gen:esp32_mll_time2.jpg?nolink|}} \\  
 +  
 +Bei "MLL_Time 3" gibt es diese Anzeige: 
 +{{:bilder:anleitungen:prog_gen:esp32_mll_time3.jpg?nolink|}} \\  
 +\\ 
 +Die angezeigten Werte sind wie die LDR-Werte, die über die serielle Schnittstelle ausgegeben werden. "I" ist der Istwert des Sensors (regiert also schnell), "D" ist der "Dumped" Wert, also ein langsam nachfolgender Wert, den die MLL ausrechnet.  
 +\\ 
 +\\ 
 +**Wie kann ich das ins Excel-Blatt eintragen?**\\ 
 +Ich ziehe mir das Eingabefeld in Excel (oben über unseren Buttons) groß (also nach unten) und dann kann man die Werte problemlos eingeben. 
 +Oder in einem externen Texteditor eintragen, alles kopieren und in das Excel-Feld einfügen. 
 + 
 + 
 + 
  
  
anleitungen/effekte_mll.1745520067.txt.gz · Zuletzt geändert: von petervt11