House( LEDplugin-autotooltip__default plugin-autotooltip_bigEnthält die Nummer der LED in dem Strang. Alle LEDs sind so hintereinandergeschaltet, dass der Ausgang der ersten LED mit dem Eingang der nächsten LED verbunden ist.,InChplugin-autotooltip__default plugin-autotooltip_bigViele der Effekte können über einen Eingang Ein- und Ausgeschaltet werden. Der Parameter „InCh“ beschreibt die Nummer des Eingangs. Es sind 256 verschiedene Eingänge möglich. So ein Eingangskanal kann z.B. ein Schalter oder eine spezielle Funktion sein. Es ist auch möglich die Eingangskanäle über das DCC Protokoll oder den CAN Bus von einer Modelleisenbahn Steuerung zu empfangen. , On_Minplugin-autotooltip__default plugin-autotooltip_bigDer Parameter „On_Min“ beschreibt wie viele Räume mindestens beleuchtet sein sollen. Nach dem Einschalten werden nach einer zufälligen Zeit so lange Lichter eingeschaltet bis die vorgegebene Anzahl erreicht ist. Dabei werden auch die Zimmer zufällig bestimmt.,On_Limitplugin-autotooltip__default plugin-autotooltip_bigDer Parameter „On_Limit“ bestimmt wie viele Räume gleichzeitig benutzt sein sollen. Wenn entsprechend viele LEDs an sind wird zum nächsten, zufällig gewählten, Zeitpunkt eine Lampe ausgeschaltet. Wenn dieser Parameter größer als die Anzahl der Räume ist, dann sind nach einiger Zeit alle Lichter an (Das entspricht unserem Zuhause)., ...plugin-autotooltip__default plugin-autotooltip_bigDie drei Punkte „…“ in der Makrodefinition repräsentieren die Position an der die Liste der Raumbeleuchtungen eingetragen wird. Es können bis zu 2000 Räume angegeben werden (Schloss).)
Das ist vermutlich die am häufigsten genutzte Funktion auf einer Modelleisenbahn. Mit ihr wird ein „belebtes“ Haus nachgebildet. In diesem Haus sind zufällig nur einige der Räume beleuchtet. Die Farbe und die Helligkeit der Beleuchtungen können individuell vorgegeben werden. Es lassen sich auch bestimmte Effekte wie Fernseher flackern oder ein offener Kamin für einzelne Räume konfigurieren. Außerdem kann das Einschaltverhalten angepasst werden (flackern von Neonröhren oder langsam heller werdende Gaslampen). Diese beiden Effekte eignen sich u. a. gut für Neonröhren in Ladengeschäften und für Außenbeleuchtungen am Haus. Für Straßenlaternen gibt es eine eigne Funktion.
Die in einem belebten Haus verbauten WS2812B RGB-LEDs lassen sich auch temporär als Warnleuchten für Anzeigezwecke nutzen. Dazu werden sie mit der Logic-Funktion überschrieben.
Der Parameter „On_Min“ beschreibt wie viele Räume mindestens beleuchtet sein sollen. Nach dem Einschalten werden nach einer zufälligen Zeit so lange Lichter eingeschaltet bis die vorgegebene Anzahl erreicht ist. Dabei werden auch die Zimmer zufällig bestimmt.
Der Parameter „On_Limit“ bestimmt wie viele Räume gleichzeitig benutzt sein sollen. Wenn entsprechend viele LEDs an sind wird zum nächsten, zufällig gewählten, Zeitpunkt eine Lampe ausgeschaltet. Wenn dieser Parameter größer als die Anzahl der Räume ist, dann sind nach einiger Zeit alle Lichter an (Das entspricht unserem Zuhause). Wenn die Häuser über einen manuell betätigten Schalter Ein- und Ausgeschaltet werde, dann soll der Benutzer ein direktes Feedback beim betätigen des Schalters erkennen. Darum wird sofort beim Einschalten des Eingangs (InCh) eine Beleuchtung aktiviert und entsprechend Eine deaktiviert, wenn der Schalter Ausgeschaltet wird.
Die drei Punkte „…“ in der Makrodefinition repräsentieren die Position an der die Liste der Raumbeleuchtungen eingetragen wird. Es können bis zu 2000 Räume angegeben werden (Schloss). Die Beleuchtung der Zimmer wird mit den folgenden Konstanten festgelegt:
Bezeichnung | Beschreibung |
---|---|
ROOM_DARK | Raum mit einer sehr dunklen Beleuchtung |
ROOM_BRIGHT | Raum mit sehr heller Beleuchtung |
ROOM_WARM_W | Dieser Raum wird in einer warm-weißen Lichtfarbe beleuchtet. |
ROOM_RED | Dieser Raum wird in einem Licht mit sehr hohem Rot-Anteil beleuchtet. (Sonnenstudio, Sauna) |
ROOM_D_RED | Dieser Raum wird in einem dunklerem Licht mit sehr hohem Rot-Anteil beleuchtet. (Sonnenstudio, Sauna) |
ROOM_COL0 | Raum welcher mit der vom Benutzer definierten Farbe 0 beleuchtet wird. |
ROOM_COL1 | Raum welcher mit der vom Benutzer definierten Farbe 1 beleuchtet wird. |
ROOM_COL2 | Raum welcher mit der vom Benutzer definierten Farbe 2 beleuchtet wird. |
ROOM_COL3 | Raum welcher mit der vom Benutzer definierten Farbe 3 beleuchtet wird. |
ROOM_COL4 | Raum welcher mit der vom Benutzer definierten Farbe 4 beleuchtet wird. |
ROOM_COL5 | Raum welcher mit der vom Benutzer definierten Farbe 5 beleuchtet wird. |
ROOM_COL345 | Raum welcher abwechselnd und zufällig mit einer der vom Benutzer definierten Farben 3,4 oder 5 beleuchtet wird. |
ROOM_DARK, ROOM_BRIGHT und ROOM_COL0 bis ROOM_COL5 eignen sich auch, um große Räume mit mehreren Einzel-LEDs gleichmäßig auszuleuchten.
An einen WS2811 schließt man zwei oder drei LEDs eines Raumes an. Bei zwei LEDs muss der dritte Ausgang frei bleiben. Diesen Raum spricht man über die Funktion ROOM_DARK oder ROOM_BRIGHT an. Da der WS2811 nun wie eine RGB-LED eingesetzt wird, gehen alle drei Einzel-LEDs gleichzeitig an oder aus.
Leuchtet nun ein Fenster heller/dunkler als die anderen, können alternativ die Funktionen ROOM_COL0 bis ROOM_COL5 genutzt werden. Mit dem Set_Col_Tab kann die Helligkeit der drei Einzel-LEDs angepasst werden. Das Set_Col_Tab dient dann nicht zur Einstellung der Farbe sondern zum Anpassen der Helligkeit.
Bezeichnung | Beschreibung |
---|---|
FIRE | Lichtschein eines offenen Kaminfeuers |
FIRED | Lichtschein eines offenen, dunklem Kaminfeuers |
FIREB | Lichtschein eines offenen, sehr hellem Kaminfeuers |
ROOM_CHIMNEY | zufällig Kaminfeuer oder normale Beleuchtung |
ROOM_CHIMNEYD | zufällig dunkles Kaminfeuer oder schwache Beleuchtung |
ROOM_CHIMNEYB | zufällig sehr helles Kaminfeuer oder starke Beleuchtung |
ROOM_TV0 | Lichtschein vom Fernseher Kanal 0 oder einer Deckenleuchte. Der Fernseher ist über die vorgelagerte Funktion "Farb-TV Kanal 1 einstellen" einstellbar. |
ROOM_TV0_CHIMNEY | Lichtschein vom Fernseher Kanal 0, einer Deckenleuchte oder einem Kaminfeuer |
ROOM_TV0_CHIMNEYD | dunkler Lichtschein vom Fernseher Kanal 0, einer Deckenleuchte oder einem Kaminfeuer |
ROOM_TV0_CHIMNEYB | sehr heller Lichtschein vom Fernseher Kanal 0, einer Deckenleuchte oder einem Kaminfeuer |
ROOM_TV1 | Lichtschein vom Fernseher Kanal 1 oder einer Deckenleuchte. Der Fernseher ist über die vorgelagerte Funktion "Farb-TV Kanal 2 einstellen" einstellbar. |
ROOM_TV1_CHIMNEY | Lichtschein vom Fernseher Kanal 1, einer Deckenleuchte oder einem Kaminfeuer |
ROOM_TV1_CHIMNEYD | dunkler Lichtschein vom Fernseher Kanal 1, einer Deckenleuchte oder einem Kaminfeuer |
ROOM_TV1_CHIMNEYB | sehr heller Lichtschein vom Fernseher Kanal 1, einer Deckenleuchte oder einem Kaminfeuer |
Bezeichnung | Beschreibung |
---|---|
NEON_LIGHT | Simulation einer Neon-Röhre, mit dem typischen Flackern beim Starten und der sofortigen Dunkelheit beim abschalten. Alle Kanäle werden genutzt. |
NEON_LIGHT1 | wie oben. Es wird allerdings nur Kanal 1 (ROT) des WS2811 verwendet. |
NEON_LIGHT2 | wie oben. Es wird allerdings nur Kanal 2 (GRÜN) des WS2811 verwendet. |
NEON_LIGHT3 | wie oben. Es wird allerdings nur Kanal 3 (BLAU) des WS2811 verwendet. |
NEON_LIGHTD | Simulation einer dunkler leuchtenden Neon-Röhre, mit dem typischen Flackern beim Starten und der sofortigen Dunkelheit beim abschalten. Alle Kanäle werden genutzt. |
NEON_LIGHT1D | wie oben. Es wird allerdings nur Kanal 1 (ROT) des WS2811 verwendet. |
NEON_LIGHT2D | wie oben. Es wird allerdings nur Kanal 2 (GRÜN) des WS2811 verwendet. |
NEON_LIGHT3D | wie oben. Es wird allerdings nur Kanal 3 (BLAU) des WS2811 verwendet. |
NEON_LIGHTM | Simulation einer leuchtenden Neon-Röhre mit mittlerer Helligkeit, mit dem typischen Flackern beim Starten und der sofortigen Dunkelheit beim abschalten. Alle Kanäle werden genutzt. |
NEON_LIGHT1M | wie oben. Es wird allerdings nur Kanal 1 (ROT) des WS2811 verwendet. |
NEON_LIGHT2M | wie oben. Es wird allerdings nur Kanal 2 (GRÜN) des WS2811 verwendet. |
NEON_LIGHT3M | wie oben. Es wird allerdings nur Kanal 3 (BLAU) des WS2811 verwendet. |
NEON_LIGHTL | Simulation mehrerer leuchtenden Neon-Röhre mit einer RGB-LED, mit dem typischen Flackern beim Starten und der sofortigen Dunkelheit beim abschalten. Alle Kanäle werden genutzt. |
NEON_LIGHT1L | wie oben. Es wird allerdings nur Kanal 1 (ROT) des WS2811 verwendet. |
NEON_LIGHT2L | wie oben. Es wird allerdings nur Kanal 2 (GRÜN) des WS2811 verwendet. |
NEON_LIGHT2L | wie oben. Es wird allerdings nur Kanal 3 (BLAU) des WS2811 verwendet. |
NEON_DEF_D | Simulation einer defekten Neon-Röhre mit einer RGB-LED. Alle Kanäle werden genutzt. |
NEON_DEF_D1 | wie oben. Es wird allerdings nur Kanal 1 (ROT) des WS2811 verwendet. |
NEON_DEF_D2 | wie oben. Es wird allerdings nur Kanal 2 (GRÜN) des WS2811 verwendet. |
NEON_DEF_D3 | wie oben. Es wird allerdings nur Kanal 3 (BLAU) des WS2811 verwendet. |
CANDLE | Simulation einer Kerze mit einer RGB-LED. Alle Kanäle werden genutzt. Farbe und Helligkeit sind über die vorgelagerte Funktion "Kerzen einstellen" einstellbar. |
CANDLE1 | wie oben. Es wird allerdings nur Kanal 1 (ROT) des WS2811 verwendet. |
CANDLE2 | wie oben. Es wird allerdings nur Kanal 2 (GRÜN) des WS2811 verwendet. |
CANDLE3 | wie oben. Es wird allerdings nur Kanal 3 (BLAU) des WS2811 verwendet. |
SINGLE_LED1 | Einzel-LED ohne Start-Effekt an Kanal 1 (ROT) des WS2811. |
SINGLE_LED2 | Einzel-LED ohne Start-Effekt an Kanal 2 (GRÜN) des WS2811. |
SINGLE_LED3 | Einzel-LED ohne Start-Effekt an Kanal 3 (BLAU) des WS2811. |
SINGLE_LED1D | Dunkle Einzel-LED ohne Start-Effekt an Kanal 1 (ROT) des WS2811. |
SINGLE_LED2D | Dunkle Einzel-LED ohne Start-Effekt an Kanal 2 (GRÜN) des WS2811. |
SINGLE_LED3D | Dunkle Einzel-LED ohne Start-Effekt an Kanal 3 (BLAU) des WS2811. |
GAS_LIGHT | Simulation einer Straßenlaterneplugin-autotooltip__default plugin-autotooltip_bigDie Laternen gehen nicht gleichzeitig sondern zufällig nacheinander an und werden dann langsam heller bis sie die volle Helligkeit erreichen. Außerdem ist ein zufälliges Flackern implementiert., welche mit Gas betrieben wurde. Alle Kanäle werden genutzt. |
GAS_LIGHT1 | wie oben. Es wird allerdings nur Kanal 1 (ROT) des WS2811 verwendet. |
GAS_LIGHT2 | wie oben. Es wird allerdings nur Kanal 2 (GRÜN) des WS2811 verwendet. |
GAS_LIGHT3 | wie oben. Es wird allerdings nur Kanal 3 (BLAU) des WS2811 verwendet. |
GAS_LIGHTD | Simulation einer dunkleren Straßenlaterneplugin-autotooltip__default plugin-autotooltip_bigDie Laternen gehen nicht gleichzeitig sondern zufällig nacheinander an und werden dann langsam heller bis sie die mittlere Helligkeit erreichen. Außerdem ist ein zufälliges Flackern implementiert., welche mit Gas betrieben wurde. Alle Kanäle werden genutzt. |
GAS_LIGHT1D | wie oben. Es wird allerdings nur Kanal 1 (ROT) des WS2811 verwendet. |
GAS_LIGHT2D | wie oben. Es wird allerdings nur Kanal 2 (GRÜN) des WS2811 verwendet. |
GAS_LIGHT3D | wie oben. Es wird allerdings nur Kanal 3 (BLAU) des WS2811 verwendet. |
Bezeichnung | Beschreibung |
---|---|
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. |
HouseT(Led, Inch, On_Min, On_Limit, T_Min, T_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.
GasLights(Led, Inch, …)
Die Funktion Straßenlaternen kann zum Ansteuern von Gaslaternen und Neonleuchten verwendet werden. Die Straßenlaternen in einem Straßenzug schalten sich nacheinander zufällig ein. Dabei wird das Einschaltverhalten gasbetriebener Lampen bzw. von Leuchtstoffröhren simuliert. Die Lampen starten vorbildgerecht langsam.
Im Gegensatz zum „belebten Haus“ verzichtet die Funktion „Straßenlaternen“ auf minimale und maximale Anzahl der zufällig aktiven Beleuchtungen, weil innerhalb eines Straßenzuges immer alle Lampen an- und ausgehen.
Die Einschalteffekte sind dieselben wie bei den „besonderen Lampen“ des „belebten Hauses“.
Const(LEDplugin-autotooltip__default plugin-autotooltip_bigEnthält die Nummer der LED in dem Strang. Alle LEDs sind so hintereinandergeschaltet, dass der Ausgang der ersten LED mit dem Eingang der nächsten LED verbunden ist.,Cxplugin-autotooltip__default plugin-autotooltip_bigDer Parameter Cx beschreibt die Kanalnummer einer RGB LED oder eines WS2811 Bausteins. Hier wird eine der folgenden Konstanten eingetragen: C1, C2, C3, C12, C23, C_ALL, C_RED, C_GREEN, C_BLUE, C_WHITE, C_YELLOW, C_CYAN ,InChplugin-autotooltip__default plugin-autotooltip_bigViele der Effekte können über einen Eingang Ein- und Ausgeschaltet werden. Der Parameter „InCh“ beschreibt die Nummer des Eingangs. Es sind 256 verschiedene Eingänge möglich. So ein Eingangskanal kann z.B. ein Schalter oder eine spezielle Funktion sein. Es ist auch möglich die Eingangskanäle über das DCC Protokoll oder den CAN Bus von einer Modelleisenbahn Steuerung zu empfangen. ,Val0plugin-autotooltip__default plugin-autotooltip_bigEnthält den Helligkeitswert oder Allgemein das Tastverhältnis des Ausgangs, wenn der Eingang abgeschaltet ist. Der Parameter ist eine Zahl zwischen 0 und 255. Dabei entspricht 0 dem minimal Wert (LED Dunkel) und 255 dem Maximalwert., Val1plugin-autotooltip__default plugin-autotooltip_bigEnthält den Helligkeitswert oder Allgemein das Tastverhältnis des Ausgangs, wenn der Eingang abgeschaltet ist. Der Parameter ist eine Zahl zwischen 0 und 255. Dabei entspricht 0 dem minimal Wert (LED Dunkel) und 255 dem Maximalwert.)
Definiert eine LED welche, gesteuert von “InCh”, dauerhaft An oder Aus ist.
Mit der Funktion können einzelne LEDs oder bis zu drei LEDs geschaltet werden.
Die Helligkeit im Zustand „Aus“ und „An“ kann separat eingestellt werden.
ConstRGB(Led, InCh, R0, G0, B0, R1, G1, B1)
Definiert eine RGB LED welche, gesteuert von “InCh”, dauerhaft An oder Aus ist.
Mit der Funktion kann eine RGB Led geschaltet werden.
Die Helligkeit und der Farbton können im Zustand „Aus“ und „An“ kann separat eingestellt werden.
Selbstverständlich kann die Funktion „RGB-LED einstellbar“ auch zum Steuern von WS2811-Chips mit angeschlossenen Einzel-LEDs genutzt werden. Das ist zum Beispiel von Vorteil, wenn man ein parkendes Auto mit Standlicht ausgerüstet hat. In dem Fall kann man die beiden weißen LEDs an die Ausgänge „Rot“ und „Grün“ eines WS2811 anschließen und die beiden roten Standlichter in Reihe an den Kanal „Blau“ (bei 5 Volt Spannungsversorgung). Diesen WS2811 kann man nun mit einer Programmzeile einstellen, obwohl die Kanäle „Rot“ und „Grün“ eine andere Helligkeit benötigen als der Kanal „Blau“.
RGB_Heartbeat
Der Heartbeat ist sozusagen der Herzschlag des Programms. Er wird zur Funktionskontrolle verwendet. Auf der Hauptplatine befindet sich eine RGB Led, die normalerweise mit diesem Effekt angesteuert wird. Die Led blinkt und wechselt dabei langsam die Farbe. Daran kann man erkennen, ob die Kommunikation funktioniert. Auch die zweite Led auf der Hauptplatine sollte mit diesem Effekt angesteuert werden. Die zweite Led ist die letzte Led in der Kette. Dazu muss am Ende der Konfiguration noch einmal dieses Makro eingefügt werden. So kann man erkennen, ob die Led Kette irgendwo unterbrochen ist.
RGB_Heartbeat2
Beim RGB_Heartbeat2 können die minimale und maximale Helligkeit angegeben werden. Ansonsten verhält sich der Effekt gleich wie der RGB_Heartbeat
RGB_Heartbeat_Color
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 RGB_Heartbeat
Leuchtfeuer
Mit dem Effekt Leuchtfeuer kann das typische Blinken eines Windrads nachempfunden werden. Das Licht ist zunächst eine Sekunde an, dann eine halbe Sekunde aus, wieder eine Sekunde an und dann 1.5 Sekunden aus. Danach fängt es wieder von vorne an.
Hier zeigt Hardi diese Funktion in einem Video:
Flash
Die Flash() Funktion erzeugt ein zufälliges Blitzen eines Fotografen. Über die Parameter „MinTime“ und „MaxTime“ wird bestimmt, wie häufig der Blitz ausgelöst wird. Der erste Parameter bestimmt, wie lange mindestens bis zum nächsten Blitz gewartet wird, der zweite Parameter bestimmt, wie lange maximal gewartet wird. Zwischen diesen beiden Zeiten bestimmt die Bibliothek einen zufälligen Zeitpunkt.
Fire
Mit der „Fire()“ Funktion können größere Feuer simuliert werden. Dazu werden mehrere RGB LEDs verwendet welche an unterschiedlichen Stellen des „Feuers“ leuchten. Es sind maximal 100 LEDs möglich.
Def_Neon_Misha
Simulation eines defekten Neonlicht von Misha. Für diese Simulation wurde der Pattern_Configurator benutzt.
AmpelX
Mit diesem Effekt werden 2 Ampeln für eine Kreuzung simuliert. Es werden 6 einzelne LEDs verwendet, die an zwei WS2811 Modulen angeschlossen sind. Dies ist aber nur ein Beispiel einer möglichen Ampelanlage. Mit dem Pattern Configurator können beliebige Ampelanlagen erzeugt werden.
RGB_AmpelX
Mit diesem Effekt werden 2 Ampeln für eine Kreuzung simuliert. Es werden 6 RGB LEDs verwendet. Dies ist aber nur ein Beispiel einer möglichen Ampelanlage. Mit dem Pattern Configurator können beliebige Ampelanlagen erzeugt werden.
RGB_AmpelXFade
Mit diesem Effekt werden 2 Ampeln für eine Kreuzung simuliert. Es werden 6 RGB Leds verwendet. Dabei wird das langsame Auf- und Abblenden der LEDs gezeigt. Dies ist aber nur ein Beispiel einer möglichen Ampelanlage. Mit dem Pattern Configurator können beliebige Ampelanlagen erzeugt werden.
RGB_AmpelXA
Mit diesem Effekt werden 2 Ampeln für eine Kreuzung simuliert. Es werden 6 RGB Leds verwendet. Dabei wird das langsame Auf- und Abblenden der LEDs gezeigt. Dies ist aber nur ein Beispiel einer möglichen Ampelanlage. In Österreich blinkt die grüne Lampe 4 mal an Ende. (Siehe https://www.jusline.at/gesetz/stvo/paragraf/38). Mit dem Pattern_Configurator können beliebige Ampelanlagen definiert werden.
Andreaskreuz
Diese Funktion kann zur Ansteuerung der abwechselnd blinkenden Lampen in einem Andreaskreuz verwendet werden. Der erste Kanal kann eingestellt werden (1, 2 oder 3). Die Lampen blenden vorbildgerecht langsam auf und ab.
Hier zeigt Hardi den Effekt in einem Video:
AndreaskrRGB
Der Effekt Andreaskreuz RGB hat die selbe Funktion wie der Effekt Andreaskreuz, allerdings werden RGB LEDs verwendet. Das ist für Testzwecke sinnvoll. So kann man den Effekt z.B. auf einer 64 LED Matrix testen.
AndreaskrLT
Bei diesem besonderen Andreaskreuz werden am Anfang zunächst beide Lampen eingeschaltet. Danach blinken die Lampen abwechselnd.
AndreaskrLT_RGB
Bei diesem besonderen Andreaskreuz werden am Anfang zunächst beide Lampen eingeschaltet. Danach blinken die Lampen abwechselnd. Zu Testzwecken werden hier zwei RGB LEDs verwendet.
AndreaskrLT3
Bei diesem besonderen Andreaskreuz werden am Anfang zunächst beide Lampen eingeschaltet. Danach blinken die Lampen abwechselnd. Eine dritte LED blinkt nach dem Lampentest, welche dem Zugführer anzeigt, dass der Bahnübergang gesichert ist.
AndreaskrLT3
Bei diesem besonderen Andreaskreuz werden am Anfang zunächst beide Lampen eingeschaltet. Danach blinken die Lampen abwechselnd. Eine dritte Led blinkt nach dem Lampentest, welche dem Zugführer anzeigt, dass der Bahnübergang gesichert ist. Zu Testzwecken werden hier 3 RGB LEDs verwendet.
ConstrWarnLightRGB6
Diese Funktion generiert ein typisches Baustellen-Warnlicht. Zu Testzwecken werden hier 6 RGB LEDs verwendet.
ConstrWarnLight
Diese Funktion generiert ein typisches Baustellen-Warnlicht. Es werden einzelne Leds an WS2811 Modulen verwendet. Die Anzahl der LEDs kann eingestellt werden.
BlueLight1
Der Effekt Blaulicht 1 simuliert das typische doppelte Blitzen eines Blaulichts bei Einsatzfahrzeugen.
BlueLight2
Der Effekt Blaulicht 2 simuliert wie Blaulicht 1 ein Blaulicht bei Einsatzfahrzeugen, allerdings ist die Blinkfrequenz leicht unterschiedlich. Dadurch verschieben sich die Blaulichter zueinander.
Blinker(Led, Cx, Inch, Period)
Diese Funktion sorgt für ein einfaches Blinken einer LED. Das Tempo kann dabei eingestellt werden. Es können entweder RGB LEDs oder normale LEDs an WS2811 Modulen verwendet werden.
In diesem Fenster kann die Periode des Blinkers eingestellt werden. Zusätzlich kann man wählen, welche LED Kanäle verwendet werden sollen.
BlinkerInvInp(Led, Cx, Inch, Period)
Diese Funktion sorgt für ein einfaches Blinken einer Led. Der Eingang ist dabei invertiert. Wenn man die Funktion einschaltet, ist der Blinker aus, schaltet man die Funktion aus, ist der Blinker an. Das Tempo kann dabei eingestellt werden. Es können entweder RGB Leds oder normale Leds an WS2811 Modulen verwendet werden.
In diesem Fenster kann die Periode des Blinkers eingestellt werden. Zusätzlich kann man wählen, welche Led Kanäle verwendet werden sollen.
BlinkerHD
Die Funktion BlinkerHD funktioniert wie die Funktion Blinker, allerdings gehen die LEDs nie vollständig aus.
Blink2(LED, Cx, InCh, Pause, Act, Val0, Val1)
Bei der Funktion Blink2 können die Pausenzeit, die aktive Zeit, sowie die Helligkeitswerte bei angeschalteter und abgeschalteter LED eingestellt werden.
In diesem Fenster können die Werte eingestellt werden:
Pausenzeit: Hier wird die Zeit eingestellt, die die LED nicht leuchten soll.
aktive Zeit: Hier wird die Zeit eingestellt, die die LED leuchten soll.
Helligkeit wenn deaktiv: Hier wird die Helligkeit eingestellt, die die LED im ausgeschalteten Zustand haben soll.
Helligkeit wenn aktiv: Hier wird die Helligkeit eingestellt, die die LED im eingeschalteten Zustand haben soll.
Anwendung KFZ-Blinker/Warnblinker:
Diese Funktion eignet sich einwandfrei für das Erstellen typischer KFZ-Blinker. Beim Einschalten blinkt dieser in Deutschland nach § 54 StVZO bzw. ECE-R 48 auf der jeweiligen Seite phasengleich mit einer Frequenz von 1,5 Hz ± 0,5 Hz (90 Lichterscheinungen pro Minute ± 30). Nach Betätigen des Fahrtrichtungsschalters muss das erste Aufleuchten des Blinklichtes nach spätestens einer Sekunde und das Verlöschen nach spätestens eineinhalb Sekunden erfolgen.
Der Blinkgeber muss nach ECE-R 6 so takten, dass die Hellzeit der Blinkleuchten gemessen bei 95 % der maximalen Lichtstärke mehr als 300 Millisekunden beträgt.
Um es für die MobaLedLib passend zu machen, bedeutet das:
60 Sek. / 60 Lichterscheinungen = 1 Sekunde (Abweichung Langsam)
60 Sek. / 90 Lichterscheinungen ≈ 700 ms (Intervall ideal)
60 Sek. / 120 Lichterscheinungen = 500 ms (Abweichung Schnell)
Davon muss das Licht mindestens 300 ms bei 95 % der maximalen Lichtstärke sein. Bei 500 mSek. je Lichterscheinung muss die Pause also kürzer sein als die aktive Phase.
Blink3
Die Funktion „Blinker komplett einstellbar“ funktioniert wie die Funktion Frequenz und Helligkeit, allerdings kann zusätzlich die Helligkeit eingestellt werden, mit der die LED leuchten soll, wenn die Funktion abgeschaltet ist.
WeldingCont
Mit der Funktion „Schweißlicht dauerhaft“ kann ein Schweißlicht simuliert werden. Dieses Licht flackert solange der Eingang aktiv ist hell Weiß. Nach dem Schweißvorgang glüht die „Schweißstelle“ kurz rot nach.
Den besten Effekt erzielt man hier selbstverständlich mit einer RGB-LED.
Welding
Mit der Funktion „Schweißlicht einmalig“ kann ein Schweißlicht simuliert werden. Dieses Licht flackert eine gewisse Zeit hell Weiß und verlischt dann für eine Weile. Nach dem Schweißvorgang glüht die „Schweißstelle“ kurz rot nach. Diese Funktion sollte von einer übergeordneten Funktion gesteuert werden („Der Arbeiter will ja auch mal eine Pause“).
Den besten Effekt erzielt man hier selbstverständlich mit einer RGB-LED.
RandWelding
Mit der Funktion „Schweißlicht zufällig“ wird das Schweißlicht zufällig gesteuert. Die Zeiten „MinTime“ und „MaxTime“ bestimmen den Zufälligen Startzeitpunkt. Über „MinOn“ und „MaxOn“ wird angegeben wie lange eine die Arbeit an einem Werkstück dauert.
EntrySignal3
Einfahrsignal mit 3 einzelnen LEDs welche über ein WS2811 Modul angesteuert werden (HP0, HP1, HP2). Es wird über drei Taster gesteuert.
EntrySignal3_RGB
Einfahrsignal mit 3 RGB LEDs zu Testzwecken (HP0, HP1, HP2). Es wird über drei Taster gesteuert.
DepSignal4
Ausfahrsignal mit 6 einzelnen LEDs welche über zwei WS2811 Module angesteuert werden (HP0, HP1, HP2, HP0+SH1). Es wird über vier Taster gesteuert.
DepSignal4_RGB
Ausfahrsignal mit 6 RGB LEDs zu Testzwecken (HP0, HP1, HP2, HP0+SH1). Es wird über vier Taster gesteuert.
KS_Vorsignal_Zs3V
KS_Vorsignal_Zs3V_RGB
KS_Hauptsignal_Zs3_Zs1
KS_Hauptsignal_Zs3_Zs1_RGB
KS_Hauptsignal_Zs3_Zs6_Zs1
KS_Hauptsignal_Zs3_Zs6_Zs1_RGB
HS_5l_RGB
HS_5r_RGB
HS_5_Plus_RGB
Gleissperrsignal_RGB
EntrySignal3Bin
Einfahrsignal mit 3 einzelnen LEDs welche über ein WS2811 Modul angesteuert werden. (HP0, HP1, HP2). Es wird über zwei binäre Eingänge gesteuert. Damit eignet es sich besonders für Selectrix.
EntrySignal3Bin_RGB
Einfahrsignal mit 3 RGB LEDs zu Testzwecken (HP0, HP1, HP2). Es wird über zwei binäre Eingänge gesteuert. Damit eignet es sich besonders für Selectrix.
DepSignal4Bin
Ausfahrsignal mit 6 einzelnen LEDs welche über zwei WS2811 Module angesteuert werden (HP0, HP1, HP2, HP0+SH1). Es wird über zwei binäre Eingänge gesteuert. Damit eignet es sich besonders für Selectrix.
DepSignal4Bin_RGB
Ausfahrsignal mit 6 RGB LEDs zu Testzwecken (HP0, HP1, HP2, HP0+SH1). Es wird über zwei binäre Eingänge gesteuert. Damit eignet es sich besonders für Selectrix.
Set_ColTab
Mit dem Befehl Set_ColTab können die Farben der Leds individuell angepasst werden. Weitere Infos dazu findet man hier: Farbtabelle
Set_TV_COL1(InCh, Update_t_Min, Update_t_Max, Min_Brightness, Max_Brightness, R_Min, R_Max, G_Min, G_Max, B_Min, B_Max)
Der Effekt Set_TV_Col1 definiert die Parameter des TV Farbkanals 1. Damit können die Häufigkeiten der Bildwechsel, die Helligkeitswechsel und die Farbwechsel eingestellt werden. So können Action Filme, statische Inhalte, Fußball Übertragungen, … simuliert werden. Es ist auch möglich, die Einstellungen per DCC Kommando auszuwählen.
Die Funktion Set_TV_COL1 muss im Programm Generator unmittelbar vor die zu verändernde Funktion „Belebtes Haus“ gesetzt werden, um die Fernseher aller folgenden belebten Häuser zu verändern. Im Anschluss sollte direkt nach der Zeile „Belebtes Haus“ ein weiteres Set_TV_COL1 mit unveränderten Werten gesetzt werden, damit nachfolgende Häuser nicht denselben Fernsehkanal zeigen.
In diesem Fenster können die Einstellungen ausgewählt werden:
Für ein Fußballspiel sollte bspw. ein hoher Grünanteil ausgewählt werden, für einen Action Film schnelle Bildwechsel usw.
Set_TV_COL2(InCh, Update_t_Min, Update_t_Max, Min_Brightness, Max_Brightness, R_Min, R_Max, G_Min, G_Max, B_Min, B_Max)
Der Effekt Set_TV_Col1 definiert die Parameter des TV Farbkanals 2. Damit können die Häufigkeiten der Bildwechsel, die Helligkeitswechsel und die Farbwechsel eingestellt werden. So können Action Filme, statische Inhalte, Fußball Übertragungen, … simuliert werden. Es ist auch möglich, die Einstellungen per DCC Kommando auszuwählen.
Die Funktion Set_TV_COL2 muss im Programm Generator unmittelbar vor die zu verändernde Funktion „Belebtes Haus“ gesetzt werden, um die Fernseher aller folgenden belebten Häuser zu verändern. Im Anschluss sollte direkt nach der Zeile „Belebtes Haus“ ein weiteres Set_TV_COL2 mit unveränderten Werten gesetzt werden, damit nachfolgende Häuser nicht denselben Fernsehkanal zeigen.
In diesem Fenster können die Einstellungen ausgewählt werden:
Für ein Fußballspiel sollte bspw. ein hoher Grünanteil ausgewählt werden, für einen Action Film schnelle Bildwechsel usw.
Set_TV_BW1(InCh, Update_t_Min, Update_t_Max, Min_Brightness, Max_Brightness, BW_R, BW_G, BW_B)
Der Befehl Set_TV_BW1 definiert die Parameter des Schwarz-weiß TV Kanals 1. Damit können die Häufigkeiten der Bildwechsel, die Helligkeitswechsel und die Anteile der verwendeten Farben ausgewählt werden. Damit kann das typisch bläuliche Licht eines alten Fernsehers erzeugt werden. Es ist auch möglich, die Einstellungen per DCC zu wählen. So kann zwischen Schwarz- weiß und Farbfernseher gewechselt werden.
Die Funktion Set_TV_BW1 muss im Programm Generator unmittelbar vor die zu verändernde Funktion „Belebtes Haus“ gesetzt werden, um die Fernseher aller folgenden belebten Häuser zu verändern. Im Anschluss sollte direkt nach der Zeile „Belebtes Haus“ ein weiteres Set_TV_BW1 mit unveränderten Werten gesetzt werden, damit nachfolgende Häuser nicht denselben Fernsehkanal zeigen.
Set_TV_BW2(InCh, Update_t_Min, Update_t_Max, Min_Brightness, Max_Brightness, BW_R, BW_G, BW_B)
Der Befehl Set_TV_BW1 definiert die Parameter des Schwarz-weiß TV Kanals 2. Damit können die Häufigkeiten der Bildwechsel, die Helligkeitswechsel und die Anteile der verwendeten Farben ausgewählt werden. Damit kann das typisch bläuliche Licht eines alten Fernsehers erzeugt werden. Es ist auch möglich, die Einstellungen per DCC zu wählen. So kann zwischen Schwarz- weiß und Farbfernseher gewechselt werden.
Die Funktion Set_TV_BW2 muss im Programm Generator unmittelbar vor die zu verändernde Funktion „Belebtes Haus“ gesetzt werden, um die Fernseher aller folgenden belebten Häuser zu verändern. Im Anschluss sollte direkt nach der Zeile „Belebtes Haus“ ein weiteres Set_TV_BW2 mit unveränderten Werten gesetzt werden, damit nachfolgende Häuser nicht denselben Fernsehkanal zeigen.
Set_Def_Neon
Mit dem Befehl Set_Def_Neon können die Parameter zur Simulation einer defekten Neonröhre definiert werden. Eine defekte Neonröhre kann ganz unterschiedliches Flackern erzeugen. Mit diesem Makro kann das Flackern beeinflusst werden. Es können die Wahrscheinlichkeit, dass die Lampe startet, die Wahrscheinlichkeit, dass die Lampe wieder ausgeht und das rote Glimmen des Starters beeinflusst werden. In diesem Fenster können die Einstellungen ausgewählt werden.
Die Funktion Set_Def_Neon muss im Programm Generator unmittelbar vor die zu verändernde Funktion „Belebtes Haus“ oder „Straßenbeleuchtung“ gesetzt werden, um die defekten Neonröhren aller folgenden belebten Häuser/Straßenbeleuchtungen zu verändern. Im Anschluss sollte direkt nach der Zeile „Belebtes Haus“ oder „Straßenbeleuchtung“ ein weiteres Set_Def_Neon mit unveränderten Werten gesetzt werden, damit nachfolgende Lampen nicht dasselbe Muster zeigen.
Set_CandleTab
Definiert die Parameter der Kerzen Funktion. Damit kann das Flackern und die Farbe beeinflusst werden.
Die Farbe wird als Hue Anteil im HSV Farbraum definiert (25 = Orange, 81 = Grün, 171 = Blau).
Durch Verwendung zufälliger Farbe kann die „Kerze“ auch als Disco Beleuchtung verwendet werden.
Das Set_CandleTab muss im Programm Generator unmittelbar vor die zu verändernde Funktion „Belebtes Haus“ oder „Straßenbeleuchtung“ gesetzt werden. In einer dieser beiden Funktionen wählt man eine Kerze, die mit einer RGB-LED simuliert wird. Im Anschluss sollte direkt nach der Zeile „Belebtes Haus“ oder „Straßenbeleuchtung“ ein weiteres Set_CandleTab mit unveränderten Werten gesetzt werden, damit nachfolgende Kerzen nicht aussehen wie eine Disco oder wie im nachfolgenden Beispiel wie eine Glut.
Die Kerze eignet sich mit entsprechender Anpassung auch gut als Glut in einem Grill/Kamin, da es im Grill selten lichterloh brennt. Damit es einer Glut nahekommt, muss man zunächst mit dem Set_CandleTab die „Kerze“ einstellen.
Das Geheimnis für eine ruhige Glut liegt zum einen in den Min/Max-Helligkeiten. Setzt man diese alle auf den gleichen Wert (90), kommt es der Glut deutlich näher, weil der Wechsel von hell zu dunkel entfällt.
Zum anderen müssen die Wahrscheinlichkeiten für eine Helligkeitsänderung und die Dunkelphase runter, damit es ruhiger wird (weniger Wechseltätigkeit). Ein kleiner Wert (20) muss aber bleiben, damit ein klein wenig Bewegung ins Spiel kommt.
Lediglich die Wahrscheinlichkeit eines Farbwechsels (100) muss drin bleiben. Die Farben werden dann im Bereich zwischen rot (0) und orange (25) gehalten.
Nach erfolgreichem Zusammenbau der Servo-Platine und Programmierung des ATTiny85 stehen im Programm-Generator vier Funktionen für die Servo zur Verfügung.
Servo2
Das Servo bewegt sich nach dem Einschalten der Versorgungsspannung nicht. Erst wenn eine der Tasten betätigt wird, fährt es langsam zu der entsprechenden Position. Geschwindigkeit, Endlagen und Drehrichtung werden mit dem Servo_Pos Programm eingestellt.
Dieses Makro steuert zwei Positionen des Servos an. Die Positionen können über Taster angefahren werden. Die richtigen Positionen sollten vorher über das Farbtest Programm herausgefunden werden.
Servo3
Das Servo bewegt sich nach dem Einschalten der Versorgungsspannung nicht. Erst wenn eine der Tasten betätigt wird, fährt es langsam zu der entsprechenden Position. Geschwindigkeit, Endlagen und Drehrichtung werden mit dem Servo_Pos Programm eingestellt.
Dieses Makro steuert drei Positionen des Servos an. Die Positionen können über Taster angefahren werden. Die richtigen Positionen sollten vorher über das Farbtest Programm herausgefunden werden.
Servo4
Das Servo bewegt sich nach dem Einschalten der Versorgungsspannung nicht. Erst wenn eine der Tasten betätigt wird, fährt es langsam zu der entsprechenden Position. Geschwindigkeit, Endlagen und Drehrichtung werden mit dem Servo_Pos Programm eingestellt.
Dieses Makro steuert vier Positionen des Servos an. Die Positionen können über Taster angefahren werden. Die richtigen Positionen sollten vorher über das Farbtest Programm herausgefunden werden.
Servo5
Das Servo bewegt sich nach dem Einschalten der Versorgungsspannung nicht. Erst wenn eine der Tasten betätigt wird, fährt es langsam zu der entsprechenden Position. Geschwindigkeit, Endlagen und Drehrichtung werden mit dem Servo_Pos Programm eingestellt.
Dieses Makro steuert fünf Positionen des Servos an. Die Positionen können über Taster angefahren werden. Die richtigen Positionen sollten vorher über das Farbtest Programm herausgefunden werden.
Herz_BiRelais
Herz_BiRelais_I
Herz_BiRelais_V1_AB
Herz_BiRelais_I_V1_AB
Herz_BiRelais_V1_CD
Herz_BiRelais_I_V1_CD
Herz_BiRelais_V1_EF
Herz_BiRelais_I_V1_EF
Herz_MoRelais
Herz_MoRelais_I
Herz_2MoRelais
Herz_2MoRelais_I
Logic
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
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:
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 eingetragen. Da hier die Led über eine DCC Adresse (hier die Adresse 1) oder einen Taster geschaltet werden soll, wird „1 OR SwitchD1“ eingetragen. Es wäre aber zum Beispiel auch denkbar, dort „1 AND SwitchD1“ einzutragen. Dann müssten die DCC Adresse und der Taster gleichzeitig eingeschaltet werden, um die Led zum Leuchten zu bringen.
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.
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 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 elektrische Verkabelung erreichen. Hier ist allerdings darauf zu achten, dass nur von der Master-LED ein Datensignal zur nächsten LED führt.
Hier wird ein Variablen-Name angegeben, der im weiteren zur Steuerung z.B. eines Schweißlichtes verwendet wird.
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.
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.
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 |
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.
Hier wird der Wert eingetragen, der mit dem Wert des LED-Kanals verglichen wird.
New_Local_Var
Mit dem Makro „New_Local_Var()“ wird eine Variable vom Typ „ControlVar_t“ angelegt. Sie kann Werte zwischen 0 und 255 annehmen und besitzt zusätzliche Flags mit denen Änderungen erkannt werden können.
Use_GlobalVar
Mit der Funktion „Use_GlobalVar()“ können die eigenen Programmteile mit den bibliotheksinternen Funktionen Daten austauschen.
InCh_to_TmpVar
Mit diesem Befehl wird eine temporäre 8 Bit Variable mit den Werten aus mehreren logischen Variablen gefüllt. Die Variable wird auf 0 gesetzt, wenn die erste logische Variable aktiv ist. Sie wird auf 1 gesetzt, wenn die zweite logische Variable aktiviert wurde…|Das wird z.B. zum steuern eines Signals über mehrere DCC Adressen benötigt.|Im Gegensatz zur „New_Local_Var()“ Funktion und zur „Use_GlobalVar()“ Funktion wird hier kein zusätzlicher Speicher benötigt. Das ist möglich, weil derselbe Speicher mehrfach benutzt werden kann. In den beiden anderen Fällen muss gespeichert werden ob sich der Eingang verändert denn nur dann soll eine Aktion ausgelöst. Bei dieser Funktion wird die Änderung der Eingangsvariablen benutzt.
Bin_InCh_to_TmpVar
Dieser Befehl kombiniert mehrere logische Variablen binär zu einer 8 Bit Variable. Wenn zwei Eingangsvariablen benutzt werden, dann ergeben sich 4 mögliche Kombinationen:
Var 1 | Var 0 | Ausgang |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 2 |
1 | 1 | 3 |
Bei InCh_Cnt = 3 ergeben sich entsprechend 8 verschiedene Kombinationen. Diese Funktion wird z.B. zur Ansteuerung von Signalen bei Selectrix verwendet.
Define Input
Damit wird ein Variable angelegt welche als Parameter in anderen Makros benutzt werden kann.
Aufbau der Variable:
INCH_<Typ>_<Adr>_<Tast> <Typ>: „DCC“, „SX“, „CAN“ / <Adr> Adresse / <Typ>: „RED“, „GREEN“, „ONOFF“
Bei Selectix <Adr>: <Channel>_<BitNr> / <Typ>: „ONOFF“, „TAST“
Hier soll ein Andreaskreuz aktiviert werden durch 2 DCC-Adressen: Egal welche DCC-Adresse auf ON ist, soll das Andreaskreuz blinken.
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.
Schedule
Dieser Plan gibt nur die groben Rahmenbedingungen vor. Wann die Ausgänge tatsächlich geschaltet werden, bestimmt das Programm zufällig damit ein realer Eindruck entsteht. Geschaltet werden die Ausgangsvariablen „DstVar1“ bis „DstVarN“. Sie werden zufällig zwischen dem Zeitpunkt „Start“ und „End“ eingeschaltet, wenn es „Abend“ ist und genauso Zufällig wieder am „Morgen“ ausgeschaltet. Ob es „Abend“ oder „Morgen“ ist, bestimmt die globale Variable „DayState“. Sie ist „Abends“ auf „SunSet“ gesetzt und „Morgens“ auf „SunRise“. Die zweite Variable „Darkness“ bestimmt über eine Zahl zwischen 0 und 255 wie „Dunkel“ es ist. Damit repräsentiert sie die Zeit.
Counter (Experteneinstellung)
Mit der Counter Funktion können verschiedene Funktionen implementiert werden. Das sind nicht nur Zähler sondern auch Funktionen wie Flip-Flops, Mono Flops, … Der Befehl wird über einen Mode Parameter gesteuert.
Details dazu findet man in „MobaLedLib Ein kurzer Ueberblick.docx“
Button (Experteneinstellung)
Dieses Makro speichert ein Ereignis(z.B. Tastendruck) für eine bestimmte Zeit mit Abbruchmöglichkeit. Damit kann z.B. der Rauchgenerator im brennenden Haus aktiviert werden. Der Ausgang kann vor Ablauf der Zeit wieder deaktiviert werden, wenn der Taster ein zweites Mal gedrückt wird.
ButtonNOff
Dieses Makro speichert ein Ereignis (z.B. Tastendruck) für eine bestimmte Zeit. Damit kann Beispielsweise der Rauchgenerator in einem „Brennenden“ Haus aktiviert werden. Der Ausgang kann NICHT vor dem Ablauf der Zeit deaktiviert werden.
ButtonFunc (Experteneinstellung)
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.
RandMux
Die Ausgänge werden über die Zahlen „DstVar1“ bis „DstVarN“ definiert. „DstVar1“ wird aktiviert, wenn „InCh“ nicht aktiviert ist. Bei aktivem „InCh“ werden zufällig „DstVar2“ bis „DestVarN“ aktiviert. Über „MinTime“ wird bestimmt, wie lange ein Ausgang minimal aktiv ist. „MaxTime“ beschreibt analog die maximale Zeit, die der Ausgang aktiv bleiben soll. Das Programm bestimmt zwischen diesen beiden Eckpunkten einen zufälligen Zeitpunkt zu dem ein zufälliger anderer Kanal aktiviert wird. Mit dieser Funktion kann zum Beispiel zwischen verschieden Lichteffekten für eine Disco umgeschaltet werden. Details dazu findet an in „MobaLedLib Ein kurzer Ueberblick.docx“
Random
Die Funktion „Random()“ aktiviert einen Ausgang nach einer zufälligen Zeit. Die Einschaltdauer kann ebenfalls zufällig sein. Damit kann man einen Effekt zufällig steuern. Eine Anwendung dafür ist das Blitzlicht eines Fotografens, das ab und zu blitzen soll. Mit den Parametern „MinTime“ und „MaxTime“ wird bestimmt in welchem zeitlichen Bereich die Funktion aktiv werden soll. Über „MinOn“ und „MaxOn“ wird die Dauer vorgegeben.
RandCntMux (Experteneinstellung)
Diese Funktion ist ähnlich wie die „RandMux()“ Funktion. Hier werden aber die Ausgänge nacheinander aktiviert wenn der nächste zufällige Zeitpunkt erreicht ist.
Multiplexer (Experteneinstellung)
Mit dem Multiplexer können Gruppen von Mustern (Pattern) erstellt werden, welche Nacheinander oder nach dem Zufallsprinzip aktiviert werden. Die Anzahl der verwendeten LEDs kann angepasst werden.
Hier wird die Verwendung des Multiplexers erklärt:
Verwendung des Multiplexers
Charlie_Buttons
Mit dem Charlieplexing Modul können bis zu 12 LEDs über 4 Kabel angesteuert werden. Das wird z.B. bei Signalen oder Ampeln verwendet damit die Kabel in den Mast passen. Die Ansteuerung per Taster eignet sich z.B. für die MS2. Es können bis zu 11 Taster benutzt werden.
Charlie_Binary
Mit dem Charlieplexing Modul können bis zu 12 LEDs über 4 Kabel angesteuert werden. Das wird z.B. bei Signalen oder Ampeln verwendet damit die Kabel in den Mast passen. Die binäre Ansteuerung wird bei vielen Zentralen benutzt. Dabei werden weniger Kanäle belegt als bei der Ansteuerung per Taster.
Next_LED (Experteneinstellung)
Diese Funktion eignet sich beispielsweise, um nicht genutzte Ausgänge eines WS2811-Chips zu nutzen. Hat man beispielsweise in einem belebten Haus ein Ladengeschäft mit zwei Einzel-LEDs beleuchtet und will dieses Ladengeschäft als eigenes „belebtes Haus“ steuern, dass unabhängig vom Wohnhaus schaltet, kann der dritte Ausgang des WS2811 nicht für die nächste LED im Wohnbereich genutzt werden. Der Programm Generator fängt beim nächsten „belebten Haus“ wieder beim ersten Kanal des nächsten WS2811 an.
Gibt man nun zunächst den Befehl „Next LED = -1“ ein, wird eine LED-Nummer (bzw. ein WS281x) zurück gezählt und man kann den Ausgang „Blau“ als erstes Glied in der nächsten Kette nutzen nutzen.
Die Funktion erreicht man bei aktiviertem Expertenmodus unter Schalten > Manipulation > LED Nummer manipulieren
Im Menü kann nun festgelegt werden, ob man zurück- (-N) oder vorspringen (+N) möchte. Im Beispiel des Wechselblinkers muss man eine LED-Nummer zurück, also „-1“.
Im Programm-Generator sieht die Programmierung dann aus wie folgt:
Achtung:
Will man vom ersten WS281x in der Kette den Rot-Kanal (1) und vom zweiten WS281x in der Kette den Blau-Kanal (3), muss „0“ addiert werden.
Da mit diesem Befehl maximal 20 RGB-LEDs vor- bzw. zurückgesprungen werden kann, eignet sich diese Funktion weniger zum Reservieren von LEDs. Dafür gibt es die Funktion LEDs reservieren.
Reserve LEDs
Der Reserve LED Befehl kann vielfältig eingesetzt werden.
Im Anlagenbetrieb eignet er sich beispielsweise zum Überspringen ungenutzter WS2811 auf der 24LED Connector Platine. Hat man diese nicht zu 100% ausgenutzt, müssen nicht genutzte WS2811 Chips solange reserviert werden, damit der nächste WS281X nach der 24LED Connector Platine korrekt angesprochen wird. Hat man am Connector beispielsweise nur 15 Straßenlaternen angeschlossen, muss man drei LEDs bzw. WS2811 reservieren.
Es können aber auch WS2811 mit angeschlossenen LEDs oder WS2812B LEDs übersprungen werden.
Im Testbetrieb eignet sich der Befehl beispielsweise in Zusammenhang mit der 64 LED-Matrix. Testet man dort z. B. ein Muster mit zehn LEDs und möchte gleichzeitig die nachfolgenden Funktionen oder die Funktion der Heartbeat N auf der Hauptplatine erhalten, muss man zunächst die 54 ungenutzten LEDs der Matrix reservieren um sie zu überspringen.
Anleitung: Mit aktivierten Experteneinstellungen findet man den Eintrag unter Schalten > Manipulation > LEDs reservieren.
Nach dem Doppelklick trägt man im Menü die Anzahl der zu überspringenden WS2812-RGB-LEDs bzw. WS2811-Chips ein, nicht die Anzahl zu überspringender Kanäle (RGB)!
Hat man beispielsweise 16 LEDs am 24er Connector angeschlossen, sind damit sechs WS2811 in Betrieb (5 WS2811 à 3 LEDs + 1 WS2811 à 1 LED = 6 WS2811). Die Kanäle G und B des sechsten müssen nicht mehr reserviert werden. Um die letzten beiden Chips des Connectors zu überspringen, reserviert man in dem Fall zwei LEDs.
New_HSV_Group
Effekte welche HSV Farben und nicht RGB Farben benutzen benötigen Speicherplatz für die HSV Werte. Da u.U. mehrere Zeilen benötigt werden zur Steuerung einer LED muss dieser Befehl vor jeder Gruppe zusammengehöriger HSV Zeilen stehen.
Ein Flipflop (auch Flip-Flop), oft auch bistabile Kippstufe oder bistabiles Kippglied genannt, ist eine elektronische Schaltung, die zwei stabile Zustände des Ausgangssignals besitzt. Dabei hängt der aktuelle Zustand nicht nur von den gegenwärtig vorhandenen Eingangssignalen ab, sondern außerdem vom Zustand, der vor dem betrachteten Zeitpunkt bestanden hat. Eine Abhängigkeit von der Zeit besteht nicht, sondern nur von Ereignissen. Durch die Bistabilität kann die Kippstufe eine Datenmenge von einem Bit über eine unbegrenzte Zeit speichern. Dazu muss, anders als bei nichtflüchtigen Datenspeichern, jedoch die Spannungsversorgung dauernd gewährleistet sein.
RS_Flip-Flop (Experteneinstellung)
Ein Flip-Flop kann zwei Zustande annehmen (0 oder 1). Bei einem RS Flip-Flop werden die Zustände über zwei Eingänge bestimmt. Eine positive Flanke an „S_InCh“ setzt das Flip-Flop (Ausgang = 1), eine Flanke an “InCh“ löscht das Flip-Flop (Ausgang = 0).
RS_FlipFlopTimeout (Experteneinstellung)
Ein Flip-Flop kann zwei Zustande annehmen (0 oder 1). Bei einem RS Flip-Flop werden die Zustände über zwei Eingänge bestimmt. Eine positive Flanke an „S_InCh“ setzt das Flip-Flop (Ausgang = 1), eine Flanke an “InCh“ löscht das Flip-Flop (Ausgang = 0). Hier existiert zusätzlich ein Parameter „Timeout“ der bestimmt, wann das Flip-Flop automatisch gelöscht wird.
T_FlipFlopReset (Experteneinstellung)
Der Ausgang eines „Toggle Flip-Flops” wird bei jeder positiven Flanke an Eingang umgeschaltet. Diese Funktion hat zusätzlich einen „Reset“ Eingang mit dem das Flip-Flop auf Null gesetzt werden kann. Wenn dieser Eingang nicht benötigt wird, dann kann er mit „SI_0“ belegt werden.
T_FlipFlopResetTimeout (Experteneinstellung)
Der Ausgang eines „Toggle Flip-Flops” wird bei jeder positiven Flanke an Eingang umgeschaltet. Diese Funktion hat zusätzlich einen „Reset“ Eingang mit dem das Flip-Flop auf Null gesetzt werden kann. Wenn dieser Eingang nicht benötigt wird, dann kann er mit „SI_0“ belegt werden. Der Parameter „Timeout“ definiert die Zeit nach der das Flipflop automatisch zurück gesetzt wird.
RS_FlipFlopInv (Experteneinstellung)
Ein Flip-Flop kann zwei Zustande annehmen (0 oder 1). Bei einem RS Flip-Flop werden die Zustände über zwei Eingänge bestimmt. Eine positive Flanke an „S_InCh“ setzt das Flip-Flop (Ausgang = 1), eine Flanke an “InCh“ löscht das Flip-Flop (Ausgang = 0). Bei diesem Flip-Flop ist der Ausgang zu Programmbeginn aktiv.
RS_FlipFlopInvTimeout (Experteneinstellung)
Ein Flip-Flop kann zwei Zustande annehmen (0 oder 1). Bei einem RS Flip-Flop werden die Zustände über zwei Eingänge bestimmt. Eine positive Flanke an „S_InCh“ setzt das Flip-Flop (Ausgang = 1), eine Flanke an “InCh“ löscht das Flip-Flop (Ausgang = 0). Bei diesem Flip-Flop ist der Ausgang zu Programm Begin aktiv. Außerdem kann es per Timeout zurück gesetzt werden. Das dieses Flip-Flop invers funktioniert wird dar Ausgang per Tastendruck abgeschaltet und geht nach der angegebenen Zeit wieder an.
T_FlipFlopInvReset (Experteneinstellung)
Der Ausgang eines „Toggle Flip-Flops” wird bei jeder positiven Flanke an Eingang umgeschaltet. Diese Funktion hat zusätzlich einen „Reset“ Eingang mit dem das Flip-Flop auf Null gesetzt werden kann. Wenn dieser Eingang nicht benötigt wird, dann kann er mit „SI_0“ belegt werden. Bei diesem Flip-Flop ist der Ausgang zu Programmbeginn aktiv.
T_FlipFlopInvResetTimeout (Experteneinstellung)
Der Ausgang eines „Toggle Flip-Flops” wird bei jeder positiven Flanke an Eingang umgeschaltet. Diese Funktion hat zusätzlich einen „Reset“ Eingang mit dem das Flip-Flop auf Null gesetzt werden kann. Wenn dieser Eingang nicht benötigt wird, dann kann er mit „SI_0“ belegt werden. Der Parameter „Timeout“ definiert die Zeit nach der das Flipflop automatisch zurück gesetzt wird. Bei diesem Flip-Flop ist der Ausgang zu Programmbeginn aktiv.
RS_Flip-Flop2 (Experteneinstellung)
Ein Flip-Flop kann zwei Zustande annehmen (0 oder 1). Bei einem RS Flip-Flop werden die Zustände über zwei Eingänge bestimmt. Eine positive Flanke an „S_InCh“ setzt das Flip-Flop (Ausgang = 1), eine Flanke an “InCh“ löscht das Flip-Flop (Ausgang = 0). Dieses FlipFlop hat zwei Ausgangsvariablen welche abwechselnd aktiv sind.
RS_FlipFlop2Timeout (Experteneinstellung)
Ein Flip-Flop kann zwei Zustande annehmen (0 oder 1). Bei einem RS Flip-Flop werden die Zustände über zwei Eingänge bestimmt. Eine positive Flanke an „S_InCh“ setzt das Flip-Flop (Ausgang = 1), eine Flanke an “InCh“ löscht das Flip-Flop (Ausgang = 0). Hier existiert zusätzlich ein Parameter „Timeout“ der bestimmt, wann das Flip-Flop automatisch gelöscht wird. Dieses FlipFlop hat zwei Ausgangsvariablen welche abwechselnd aktiv sind.
T_FlipFlop2Reset (Experteneinstellung)
Der Ausgang eines „Toggle Flip-Flops” wird bei jeder positiven Flanke an Eingang umgeschaltet. Diese Funktion hat zusätzlich einen „Reset“ Eingang mit dem das Flip-Flop auf Null gesetzt werden kann. Wenn dieser Eingang nicht benötigt wird, dann kann er mit „SI_0“ belegt werden. Dieses FlipFlop hat zwei Ausgangsvariablen welche abwechselnd aktiv sind.
T_FlipFlop2ResetTimeout (Experteneinstellung)
Der Ausgang eines „Toggle Flip-Flops” wird bei jeder positiven Flanke an Eingang umgeschaltet. Diese Funktion hat zusätzlich einen „Reset“ Eingang mit dem das Flip-Flop auf Null gesetzt werden kann. Wenn dieser Eingang nicht benötigt wird, dann kann er mit „SI_0“ belegt werden. Der Parameter „Timeout“ definiert die Zeit nach der das Flipflop automatisch zurück gesetzt wird. Dieses FlipFlop hat zwei Ausgangsvariablen welche abwechselnd aktiv sind.
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. /
MonoFlop (Experteneinstellung)
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.
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.
MonoFlopReset (Experteneinstellung)
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. Der Mono Flop wird zurückgesetzt wenn der Reset Eingang 1 ist.
MonoFlopLongReset (Experteneinstellung)
Die Dauer kann ebenso wie bei der vorangegangenen Funktion verlängert werden.
MonoFlopInv (Experteneinstellung)
Dieser Mono Flop besitzt einen inversen Ausgang. Das bedeutet, der Ausgang ist zu Beginn aktiv (1) und wird deaktiviert mit einer positiven Flanke an „InCh“. Die Zeit kann wie beim normale MF mit einer steigenden Flanke verlängert werden.
MonoFlopInvLongReset (Experteneinstellung)
Hier werden die Eigenschaften „Invers“ und „Reset“ kombiniert, wenn der Eingang länger als 1.5 Sekunden aktiv ist.
MonoFlop2 (Experteneinstellung)
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. Dieses Monoflop hat zwei Ausgangsvariablen welche abwechselnd aktiv sind.
MonoFlop2LongReset (Experteneinstellung)
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. Der Mono Flop wird zurückgesetzt wenn der Reset Eingang 1 ist. Dieses Monoflop hat zwei Ausgangsvariablen welche abwechselnd aktiv sind.
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: Effekte-MLL Tasterfunktionen
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 nachfolgenden Zeilen. Es reicht also, wenn die Funktion einmal am Anfang der Konfiguration eingefügt wird.
Mainboard_Led
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.
Read_LDR
Mit dieser Funktion wird das Auslesen des LDR aktiviert. Zu Testzwecken können die gemessenen Helligkeitswerte im seriellen Monitor angezeigt werden. Weitere Infos zur Tag und Nachtsteuerung sind hier zu finden: Tag und Nachtsteuerung
Read_LDR_Debug
Mit diesem Makro können die gemessenen Helligkeitswerte des LDR im seriellen Monitor angezeigt werden. Das ist vor allem für Testzwecke sinnvoll. Später sollte diese Funktion jedoch wieder deaktiviert werden, da sonst unnötig viel Speicherplatz und Rechenzeit benötigt wird.
DayAndNightTimer
Mit dieser Funktion wird ein Zeitgeber generiert mit dem die Schedule Funktion gesteuert wird. Der Zeitgeber kann automatisch ablaufen oder über ein DCC Signal, einen Schalter oder eine Variable gesteuert werden (1 = Nacht, 0 = Tag). Es kann angegeben werden, wie lange ein Tag/Nachtzyklus dauern soll. Weitere Infos sind hier zu finden: Tag und Nachtsteuerung
KeepDarknessCtr
Wenn diese Funktion aktiv ist, wird die Uhrzeit beim Umschalten zwischen Tag und Nacht nicht neu initialisiert. Normalerweise wird die Uhrzeit initialisiert wenn von Tag auf Nacht umgeschaltet wird. 0→1: Es wird dunkler ⇒ Zeit wird auf 12:Uhr gesetzt. 1→0: Es wird heller ⇒ Zeit wird auf 0:00 gesetzt. Wenn der Schalter aktiviert ist, dann wird sofort von dunkler werden auf heller werden umgeschaltet. Das bedeutet aber auch, das die Zeit gespiegelt wird. Aus 18:00 wird 6:00 Uhr…
DayAndNightTimer_Debug
Mit dieser Funktion kann die aktuelle Uhrzeit im seriellen Monitor ausgegeben werden. Das ist vor allem für Testzwecke sinnvoll.
EspExtensions
Dieses Makro aktiviert die Erweiterungen für den Esp32. Diese Erweiterungen befinden sich aber noch in der Entwicklungsphase. Um den Esp32 zu verwenden, muss diese Adapterplatine auf die Hauptplatine aufgesteckt werden:
Adapterplatine für Esp32
Mit dem Esp32 können deutlich mehr Leds und Effekte als mit dem normalen Arduino Nano angesteuert werden.
UseDMX512
Auf diesem LED Kanal wird das DMX512 Protokoll ausgegeben. Was mit DMX möglich ist, kann man in der Aufzeichnung des Stammtischs Januar 2021 sehen: Aufzeichnung Januar 2021
Die Auswahl eines DMX Geräts erfolgt neben den optischen Werten auch immer über dessen Datenblatt. Ohne Datenblatt, welches die DMX Kanäle beschreibt, ist das Gerät nutzlos.
Wichtig ist auch, dass die RGB Kanäle möglichst auf drei aufeinanderfolgende DMX Kanäle liegen.
Bitte achtet unbedingt auf den Abstrahlwinkel, meistens werden in der Bühnentechnik „Spots“ mit geringem Abstrahlwinkel angeboten. Diese sind für große Räume gedacht. In kleineren Räumen braucht ihr unbedingt „Flood“ Varianten mit großem Abstrahlwinkel. Ein gutes Beispiel für einen schlecht geeigneten Scheinwerfer ist dieses Modell: 27x3W Led Flat Par Light RGB.
Der Scheinwerfer hat vor jeder RGB LED ein Linsen, die das Licht bündelt und einen geringen Abstrahlwinkler erzeugt. Diese Linsen können zwar entfernt werden, dann wird das Abstrahlverhalten besser, das ist aber etwas Bastelarbeit.
Einfachstes Beispiel: Ein 12 Kanal DMX Modul, mit dem man eine Raumbeleuchtung mit einfarbigen Led-Stripes betreiben kann.
Diese Modul hat 12 DMX Kanäle. Die DMX Basisadresse wird über DIP-Schalter eingestellt.
Unter der Annahme dass DMX Adresse 1 eingestellt ist und an die LED Känal jeweils Led-Stripes mit rot/grün/blau angeschlossen sind heißt das
DMX Adresse 1-3 rot/grün/blau
DMX Adresse 4-6 rot/grün/blau
DMX Adresse 7-9 rot/grün/blau
DMX Adresse 10-12 rot/grün/blau
Im ProgGenerator entspricht das 4 RGB Leds.
Die DMX Adresse errechnet sich aus der Excel Spalte „Start-LedNr “, es gilt die Formel
DmxKanal = Start-LedNr * 3
+ 1 für rot
+ 2 für grün
+ 3 für blau
Mit Zeile 3 wird der ProgGenerator angewiesen, auf Led Kanal 2 das DMX Protokoll auszugeben.
Dieses Beispiel war ja ganz einfach. Etwas aufwändiger wird es mit z.B. diesem Modell: E-Lektron PAR-18 RGB DMX Scheinwerfer
Gemäß Handbuch sieht die DMX Kanalbelegung so aus:
Ganz blöd ist in dem Fall die Kanalanzahl 7, denn dem ProgrammGenerator sind vielfache von drei deutlich lieber.
Wichtig ist hier, dass die RGB Kanäle auf drei hinereinanderfolgenden DMX Adresse liegen.
Wie würde ich es lösen: Der Scheinwerfer bekommt DMX Adresse 3, d.h.
CH1 = DMX Adresse 3: Gesamthelligkeit
CH2 = DMX Adresse 4: Helligkeit rot
CH3 = DMX Adresse 5: Helligkeit grün
CH4 = DMX Adresse 6: Helligkeit blau
CH5 = DMX Adresse 7: Stroboskop
CH6 = DMX Adresse 8: Betriebsmodus\
CH7 = DMX Adresse 9: Geschwindigkeit
Wir brauchen CH6 Betriebsmodus auf einen Wert von 0-10 = „Bedienung über CH1-CH5“. So ist es möglich, Gesamthelligkeit (CH1) und Helligkeit der einzelen Farben (CH2-CH4) zu setzten. CH5 muss 0 sein, weil wir kein Stroboskop brauchen, und CH7 ist egal.
In diesem Fall müssen wir die DMX Kanäle CH1, CH5 und CH6 einzeln ansprechen.
Die DMX Adresse errechnet sich aus den Excel Spalten „Start-LedNr und „Leds“
Die Formel ist Start-LedNr * 3 + X, wobei X von CX aus Spalte LEDS kommt, bzw. X=1 wenn kein Cx in LEDS Spalte.
Zeile 4 | Start-Led 0 (auf Led Kanal 2) und C3 → 0*3+3 = DMX Adresse 3 | Das Const-Makro hat sowohl für Helligkeit aus wie ein den Wert 255, somit immer 255. |
Zeile 5 | Start-Led 1, kein Cx → 1*3+1 = DMX Adresse 4 | Weil RGB LEDs immer drei Kanäle haben, gilt dies somit auch DMX Adresse 5 und 6. |
Zeile 6 | Start-Led 2 und C1 → 2*3+1 = DMX Adresse 7 | Das Const-Makro hat sowohl für Helligkeit aus wie ein den Wert 0, somit immer 0. |
Zeile 7 | Start-Led 2 und C2 → 2*3+2 = DMX Adresse 8 | Das Const-Makro hat sowohl für Helligkeit aus wie ein den Wert 0, somit immer 0. |
Zeile 8 | Start-Led 2 und C3 → 2*3+3 = DMX Adresse 9 | Das Const-Makro hat sowohl für Helligkeit aus wie ein den Wert 0, somit immer 0. |
Damit lässt sich dieses Modell steuern. Das Beispiel kann noch vereinfacht werden, indem die Zeilen 6-8 zusammengefasst werden.
Zeile 6 | Start-Led 2 und C1 → 2*3+1 = DMX Adresse 7 | Das ConstRGB Makro verwendet drei Kanäle, welche sowohl für Helligkeit aus wie ein für alle Werte Wert 0 haben, somit immer alles 0. |
Am schönsten wäre natürlich ein RGB Scheinwerfer ohne jegliche Schnicht-Schnack Funktionen wie Strobe, Fade, Musiksteuerung…, welcher nur drei DMX Kanäle für rot/grün/blau hat. So ein Modell habe ich bisher noch nicht gefunden.
Beispiel für Fortgeschrittene:
Dieser DMX Bar kann laut Handbuch mit 6/9/16/30 oder 58 DMX Adressen gesteuert werden, je mehr Kanäle desto gezielter können einzelne LEDs des Bars angesprochen werden.
Sehen wir uns die Variante 30 Adressen genauer an:
Hier können 4 LED Segment einzeln gesteuert werden, pro Segment werden 7 DMX Kanäle verwendet, vier für die RGBW Helligkeit, zusätzlich noch Kanäle für Master-Helligkeit und Strobe-Effekt. Dann kommt noch ein Channel für Sondereffekte, der aber in der Konfiguration nicht berücksichtig wurde.
Das sieht im Excel dann so aus. Man sieht auch gut die Verschiebung wegen der 7 Channels, Segment 1 startet mit C1-1, Segment 2 mit C2-2, Segment 3 mit C3-3.
Die Master Helligkeit wird hier mit DCC Adresse 1 für alle Segment geschaltet, die RGBW pro Segment jeweils einzeln.
Soundsteuerung mit der 8xMP3-Multi-Soundplatine.
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:
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% |
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.
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
Track # auf einem angegeben Soundkanal starten (Rootverzeichnis). Sound Kanal 0 – 7 (entspricht Soundmodul 1 – 8) Tracknummer 1 – 256
Im Makro wird ein Bereich von Track x bis Track y angegeben. Aus diesem Bereich wird ein zufälliger Track abgespielt.
Setzt die Sound Wiedergabe fort, nach dem sie mit dem Pause-befehl unterbrochen wurde.
Hält die Sound Wiedergabe an.
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
Lautstärke erhöhen.
Lautstärke reduzieren.
Der angegebene Prozentwert wird je nach Soundmodul in einen passenden Lautstärkenwert umgewandelt, welches das Soundmodul unterstützt.
Die Sound_Prev Funktion spielt die vorherige Sounddatei ab.
Mit der Sound_Next Funktion wird die nächste Sound Datei abgespielt.
Mit dem Befehl Sound_PausePlay wird die Sound- Wiedergabe angehalten oder wieder fortgesetzt.
Mit diesem Makro wird die Sound Datei 1 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 2 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 3 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 4 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 5 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 6 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 7 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 8 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 9 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 10 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 11 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 12 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 13 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird die Sound Datei 1 auf einem MP3-TF-16P Soundmodul wiedergegeben.
Mit diesem Makro wird eine zufällige Sound Datei abgespielt.
Mit diesem Makro wird die vorherige Sounddatei abgespielt.
Mit diesem Makro wird die nächste Sound Datei abgespielt.
Mit diesem Makro wird die Sound Datei 1 auf einem JQ6500 Soundmodul abgespielt.
Mit diesem Makro wird die Sound Datei 2 auf einem JQ6500 Soundmodul abgespielt.
Mit diesem Makro wird die Sound Datei 3 auf einem JQ6500 Soundmodul abgespielt.
Mit diesem Makro wird die Sound Datei 4 auf einem JQ6500 Soundmodul abgespielt.
Mit diesem Makro wird die Sound Datei 5 auf einem JQ6500 Soundmodul abgespielt.