Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Allgemeine Info zu BiDiB:


Treiberinstallation:


Programme für BiDiB:


Das BiDiB-System:

One-Serie:

Addon-Module:

Ready-Line:

Beispielkonfigurationen:

Konfigurationsvorlagen:


Das OpenCarSystem:


Anwendungsunterstützung:


Kompatibilität:


Codehilfe für eigene BiDiBOne Entwicklungen:


Nützliches für den Modellbahner:

onews:examples_onewsi

NeoControl EWS - Beispiele

Gruppeneffekte

Hausbeleuchtung

Es soll ein Haus mit 11 Zimmern beleuchtet werden. Wenn die Beleuchtung eingeschaltet ist sollen mindestens 4, aber maximal 8 Zimmer beleuchtet werden.

Es wird Gruppe 3 sowie die Light Engine Elemente 40 bis 50 verwendet.

Die CVs für die Gruppeneffekte der Gruppe 3 fangen an bei: 782 + 3*6 = 800.

CV Wert Bedeutung
800 131 = 128+3 Bit 7 gesetzt für kontinuierlichen Ablauf, Bit 1+0 für Modus Hausbeleuchtung
801 40 Erstes Light Engine Element der Gruppe
802 50 Letztes Light Engine Element der Gruppe
803 19 Änderung der Beleuchtung minimal alle 200msec
804 16 = 16+0 Direktes ein- bzw. ausschalten der LEDs
805 52 = 0x34 Mindestens 3 sollen aus bleiben (11-8) und mindestens 4 sollen an sein
(Erlaubter Bereich jeweils 0..15 bzw. 0..F)

Dazu muß noch das LED Mapping gesetzt werden, zum Beispiel wie folgt:

Pos 10 11 12 13 14 15 16 17 18 19 20 21 22 23
CV 888 889 890 891 892 893 894 895 896 897 898 899 890 891
Wert/LEE 40 41 42 43 44 45 46 47 48 49 50 42 44 46

Die Positionen 10 bis 20 werden entsprechend den 11 Elementen des Effektes belegt. Zusätzlich werden die Positionen 21, 22 und 23 mit dem 3., 5. und 7. Element des Effektes belegt (Und somit werden jeweils 2 LEDs eingeschaltet).

Eingeschaltet wird der Gruppeneffekt über das Einschalten von SPORT 3. Danach werden durch die Baugruppe einzelne LEDs zufällig (im Raster von 200msec) eingeschaltet bis die Mindestanzahl überschritten ist. Ab diesem Zeitpunkt können einzelne LEDs auch wieder ausgeschaltet werden. Zudem wird überprüft das die Mindestzahl der ausgeschalteten LEDs eingehalten wird. Beim Ausschalten werden nach und nach mit einer zufälligen Abfolge alle noch eingeschalteten LEDs ausgeschaltet.

Benutzung des NodeScripting Wizard

Mit dem Script „NeoEWS: Konfiguration einer Lichtgruppe für Modus 3: Hausbeleuchtung“ können die Werte wie folgt gesetzt werden:

Einzig die zusätzlichen Einträge im LED Mapping müssen nachträglich über den CV-Editor gesetzt werden:

Pos 18 19 20 21 22 23
CV 896 897 898 899 890 891
Wert/LEE 48 49 50 42 44 46

Als Vorteil werden die Namen der einzelnen Elemente passend gesetzt.


TV-Simulation

Die TV-Simulation soll das Flackern eines TV-Gerätes simulieren. Es basiert auf der Implementierung die hier vorgestellt wurde. Insgesamt werden 4 LEDs angesteuert die durch verschiedene LED-Bausteine aufgebaut werden können:

WS2811

Hier werden 4 LEDs der folgenden Farben an die einzelnen Ausgänge angeschlossen: Rot, Grün, Blau und Weiß. Die 4 Light Engine Elemente werden in dieser Reihenfolge den LEDs zugeordnet.

WS2812 im Farbmodus

Hier werden 4 WS2812 LEDs benötigt, dazu müssen die Farben entsprechend den 4 WS2812 zugeordnet werden: Rot (32), Grün (107) und Blau (181). Für Weiß muß eine selbstdefinierte Farbe verwendet werden.

SK6812 im Farbmodus

Im Prinzip genau wie bei den WS2812 im Farbmodus, nur kann hier für Weiß der 4. Farbkanal verwendet werden.

WS2812 mit Einzel-LED-Ansteuerung

In diesem Fall sind zwei WS2812 ausreichend, die Rot, Grün und Blau-Elemente werden einfach auf die 3 Farbkanäle einer WS2812 LED gemappt. Für den weißen Anteil wird die 2. WS2812-LED verwendet und dort werden alle 3 Farbkanäle einfach dem vierten Light Engine Element zugeordnet

SK6812 mit Einzel-LED-Ansteuerung

Entsprechend der WS2812-Einzel-Ansteuerung, nur das nur eine SK6812-LED benötigt wird und Weiß auf das 4. LEE gemappt wird.

Somit kann mit jeder Konfiguration die man für einen Strang benötigt eine entsprechende Ansteuerung für die TV-Simulation gefunden werden.

CV-Werte

Es wird Gruppe 4 sowie die Light Engine Elemente 36 bis 39 verwendet.

Die CVs für die Gruppeneffekte der Gruppe 4 fangen an bei: 782 + 4*6 = 806.

CV Wert Bedeutung
806 131 = 128+11 Bit 7 gesetzt für kontinuierlichen Ablauf, Bit 3,1,0 für Modus TV
807 36 Erstes Light Engine Element der Gruppe
808 39 Letztes Light Engine Element der Gruppe
809 0 Schrittfrequenz für den TV-Effekt: 10msec
810 16 = 16+0 Direktes ein- bzw. ausschalten der LEDs
811 0 Nicht benötigt

Dazu muß noch das LED Mapping gesetzt werden, zum Beispiel wie folgt:

Pos 24 25 26 27
CV 892 893 894 895
Wert/LEE 36 37 38 39

Die Positionen 24 bis 25 werden entsprechend den 4 Elementen des Effektes belegt.

Mit dem Nodescripting Wizard und dem Script „NeoEWS: Konfiguration einer Lichtgruppe für Modus 11: TV-Simulation“ geht dies ganz einfach:

Mit der Checkbox „Benutze RGB-LEDs“ werden in diesem Fall auch gleich die Farben richtig gesetzt.


TV-Simulation mit einzelner RGB(W)-LED

Die vorher beschriebene TV-Simulation benötigt im Farbmodus 4 Lightports und 4 LEDs. Um dies auf einen Lightport und 1 LED zu reduzieren wurde der Modus 15 hinzugefügt. Dieser erfordert einen aktivierten Farbmodus für den gewählten Stripe. Falls dies nicht der Fall ist, wird eine Fehlermeldung generiert (Erst ab Version 1.12 Build 4066 des Wizard wird diese unterstützt).

Für diese TV-Simulation sind nur wenige Parameter zu setzen: Vorbedingung: Aktiver Farbmodus (Bit 1 bzw. Bit 4 in CV 1135). CVs der gewählten Lichtgruppe:

  • Modus: 15
  • Erste LED/Farbe der Gruppe: <Lightport> Hier einen Lightport auswählen der für diesen Effekt verwendet werden soll
  • Letzte LED/Farbe der Gruppe: 0 (nicht benutzt)
  • Geschwindigkeitsfaktor: 0
  • An/Aus-Verhalten: 16 Direktes Ein- und Ausschalten des Lightports
  • Option: 0 (nicht benutzt)

Beim gewählten Lightport die Helligkeit und eine dynamische Farbe auswählen.

  • Farbe: <Dynamische Farbe> Um verschiedene Farben im Effekt zu haben muss eine dynamische Farbe verwendet werden, Bereich 32-51
  • Helligkeit für Zustand 'an': 255
  • Helligkeit für Zustand 'aus': 0

Und abschließend muss der Lightport noch einer LED zugeordnet werden:

  • Siehe CVs für die LED Zuordnung

Wenn dann der Effekt über den Switchport #<Lichtgruppe> eingeschaltet wird, läuft der Effekt entsprechend ab.

Es gibt auch ein Knotenscript mit dem die Konfiguration noch weiter vereinfacht wird. Dort ist nur ein Teil der Parameter einzugeben, die übrigen werden automatisch gesetzt:

Der Effekt sucht sich aus der Konfiguration (an welchem Kanal wird er angezeigt, ist der Kanal auf RGB oder RGBW konfiguriert) selbständig heraus ob die LED als RGB oder RGBW angesteuert wird.


Ampel

Eine Ampel mit Fußgängersignalen soll konfiguriert werden (Gruppe 2):

CV Wert Bedeutung
794 135=128+7 Bit 7 gesetzt für endlosen Ablauf, Bit 2+1+0 für Modus Ampel+Fußgänger
795 0 Erstes Light Engine Element der Gruppe
796 9 Letztes Light Engine Element der Gruppe
797 49 Grundschritt 0,5sec (zum Beispiel Dauer Gelbphase)
798 50=48+2 Gedimmtes ein- bzw. ausschalten der LEDs
799 20 Grünphase 20*Grundschritt = 10sec

Die ersten 3 Light Engine Elemente sind für die erste Fahrtrichtung, danach folgen die 3 Elemente für die Querrichtung. Und dahinter dann 2 * 2 Elemente für die Fußgänger. Um alle Ampeln mit eigenen LED-Ausgängen zu versorgen kann das LED-Mapping wie folgt gesetzt werden.:

Pos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
CV 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897
Wert/LEE 0 1 2 0 1 2 3 4 5 3 4 5 6 7 6 7 8 9 8 9

Mit dem Nodescripting Wizard und dem Script „NeoEWS: Konfiguration einer Lichtgruppe für Modus 5ff: Ampel“ ist dies auch möglich:


Regenbogen

Mit den WS2812 RGB-LEDs (oder auch den RGBW-LEDs SK6812) kann man den Regenbogen-Effekt verwenden. Bei diesem durchlaufen die zur Gruppe gehörenden Lightports den in der NeoEWS verfügbaren Farbkreis. In dem folgenden Beispiel sind 256 LEDs (in einer 32*8-Matrix) mit dem Regenbogen-Effekt beaufschlagt. Die ersten 56 LEDs sind 56 Lightports zugeordnet, jeweils mit einem Farbabstand von 4 (somit wird der gesamte Umfang des Farbkreises in der Gruppe zu Anzeige gebracht). Dadurch können die nächsten 56 LEDs ebenso den ersten 56 Lightports zugeordnet werden, usw. Bis schließlich alle 256 LEDs dieser Gruppe angehören.

Hier das Ergebnis:

Und hier ein kleines Tutorial das die Erstellung des Effektes Regenbogen für die ersten 56 LEDs des Stripes zeigt:


Tag/Nacht Ablauf

Ab Version 2.0.0 ist es möglich dynamische Farben zu verwenden (bis 1.x.x sind nur Farben möglich die vorher per CV einzustellen sind). Mit Hilfe des neuen Gruppeneffekt 65 kann nun zum Beispiel ein Sonnenaufgang bzw. Sonnenuntergang erzeugt werden (siehe Nodescript NeoControlEWS_groups_daynight.nodescript).

Hintergrund

Der Effekt 65 bietet einen gleichmäßigen Farbwechsel über einen langen Zeitraum. Dazu wird ein Farbbereich definiert (in diesem Fall werden drei Farben definiert: Blau, Rot, Weiß) die in den Gruppeneffekten nacheinander durchlaufen werden.

Es werden 4 Makros erstellt mit denen die einzelnen Tag/Nacht-Zustände bzw. Übergänge gesteuert werden können. Dies basiert auf diesem Thread im Forum

Prinzipiell wird nur ein Lightport benötigt, für einen besonderen Effekt (siehe unten „örtlicher Effekt“) können auch mehr verwendet werden. Die nachfolgende Beschreibung bezieht sich auf die Verwendung von einem Lightport. Wenn mehere LEDs leuchten sollen, dann kann dies über die Zuordnungstabelle eingestellt werden.

Makro 0: Tag

Mit diesem Makro wird die dynamische Farbe auf weiß gestellt. Dazu wird ein Gruppeneffekt benötigt der nur eine Farbe zugewiesen bekommt und somit einfach nur die Farbe stellt. Das Makro startet dann den Gruppeneffekt und schaltet anschließend die LED ein.

Makro 1: Tag/Nacht Übergang

Dieses Makro schaltet zunächst einen Gruppeneffekt aus um den gegebenen Farbbereich (Blau, Rot, Weiß) rückwärts zu durchlaufen. Damit dies auch sichtbar ist, wird direkt im Anschluß die LED eingeschaltet. Anschließend wird 3 Minuten gewartet um dann den Übergang von Blau nach Schwarz mit einem weiteren Gruppeneffekt zu starten (auch dieser wird ausgeschaltet). Damit die Rückmeldung per Accessory erst kommt wenn dieser Gruppeneffekt beendet ist, wird darauf noch gewartet.

Makro 2: Nacht/Tag Übergang

Der Ablauf entspricht Makro 1, nur das die Reihenfolge der Gruppeneffekte umgedreht wird und diese eingeschaltet werden.

Makro 3: Nacht

Im letzten Makro wird zunächst der Lichtausgang abgeschaltet und dann werden alle anderen Makros angehalten.

Mit dem Nodescript können auch passende Accessories erstellt werden.

Anzahl Accessories = 0

Es werden keine Accessories durch das Nodescript erstellt.

Anzahl Accessories = 1

Es wird ein Accessory mit 4 Begriffen erstellt.

Anzahl Accessories = 2

Es werden 2 Accessories mit je 2 Begriffen erstellt. Das erste Accessory ermöglicht die Ansteuerung der Tag/Nacht-Übergänge. Mit dem zweiten Accessory werden die Zustände Tag bzw. Nacht eingestellt.

Nodescript für Tag/Nacht Ablauf

Die oben beschriebenen Makros, Accessories und weitere notwendige Einstellungen können mit diesem Nodescript erstellt werden:

Mit den Default-Einstellungen kann nun ein Tag/Nacht Ablauf programmiert werden. Wenn die vorgeschlagenen Ressourcen schon benutzt werden, kann eine entsprechende Anpassung erfolgen. Falls Werte außerhalb des sinnvollen/erwarteten Bereichs verwendet werden, wird anschließend eine Fehlermeldung angezeigt. Mit „Zurück“ kommt man wieder auf die Eingabemaske, muss dann aber leider alle Eingaben erneut vornehmen.

Örtlicher Effekt

Über den Parameter „Anzahl der Lightports“ kann der Tag/Nacht Ablauf auf mehreren Lightports zeitlich verteilt werden. Wenn die zugehörigen LEDs dann von „West“ nach „Ost“ angeordnet werden, gehen zunächst die LEDs im Westen auf und werden dort früher heller als die LEDs die sich weiter östlich befinden. Aber mit der Verwendung dieser Funktion werden die benötigten Ressourcen für Gruppeneffekte, dynamische Farben und Lightports entsprechend vervielfacht.

Makros

Hausbeleuchtung mit Fernseheffekt

Weiter oben wurde die Konfiguration der Hausbeleuchtung beschrieben. Weiterhin gibt es den Gruppeneffekt für eine TV-Simulation. Wenn nun ein Haus beleuchtet werden soll bei dem nicht nur die Zimmerbeleuchtung sondern zusätzlich auch eine TV-Simulation mit einem Befehl eingeschaltet werden soll, so kann man dies über zwei Makros erreichen. Das erste Makro schaltet in zwei aufeinanderfolgenden Schritten die beiden Gruppeneffekte ein:

Das zweite Makro schaltet dann beide Gruppeneffekte wieder aus:

Diese beiden Makros können mit einem Accessory verknüpft werden.

Hinweis: Auch wenn die beiden Effekte nun zusammen ein- und ausgeschaltet werden, können die beiden Gruppen unabhängig voneinander direkt ein- bzw. aus geschaltet werden.


Accessory LEDmapped

Ampel

Wenn die Ampelphasen vom Host-Programm direkt gesteuert werden können/sollen, kann die Ampel-Steuerung dem Host-Programm überlassen werden. Die einzelnen Ampelphasen können dann über ein Accessory gesteuert werden. In diesem Beispiel werden die LEDs einer Ampel wie folgt an die WS2811 angeschlossen:

Die Ampeln A und D sowie B und C werden identisch geschaltet. Somit müssen 6 LEDs gesteuert werden, diese sind hier wie im Bild gezeigt an den Positionen 0 bis 5. Das Accessory 0 mit den Lightports 10 bis 15 soll verwendet werden. Zunächst wird die Grundkonfiguration für das Accessory festgelegt:

CV Wert Bedeutung
1139 0x26 = 32+6 = 38 Die oberen 4 Bit stehen für den Lichteffekt, die 2 (bzw. 32) bedeutet gedimmtes Ein- und Ausschalten
die unteren 4 Bit geben die Anzahl der betroffenen Light Engine Elements an, hier 6
1140 0x00 = 0 Das erste Light Engine Element. Da 6 benötigt werden, folgen noch 5 weitere
1141 0x14 = 20 200ms Pause zwischen den Übergängen

Die Bitmuster für jeden einzelnen Aspekt werden in den folgenden CVs festgelegt:

Phase A rot
Bit 0
A gelb
Bit 1
A grün
Bit 2
B rot
Bit 3
B gelb
Bit 4
B grün
Bit 5
CV Wert
1 - Alle rot 1 0 0 1 0 0 487 0x09 = 9
2 - RotGelb für AD 1 1 0 1 0 0 488 0x0B = 11
3 - Grün für AD 0 0 1 1 0 0 489 0x0C = 12
4 - Gelb für AD 0 1 0 1 0 0 490 0x0A = 10
5 - RotGelb für BC 1 0 0 1 1 0 491 0x19 = 25
6 - Grün für BC 1 0 0 0 0 1 492 0x21 = 33
7 - Gelb für BC 1 0 0 0 1 0 493 0x11 = 17
8 - Alle aus 0 0 0 0 0 0 494 0x00 = 0

Die Light Engine Elemente werden wie folgt auf die Ausgänge der WS2811-Bausteine gemapped:

Ausgang 0 1 2 3 4 5 6 7 8 9 10 11
WS-Baustein #1
G
#1
R
#1
B
#2
G
#2
R
#2
B
#3
G
#3
R
#3
B
#4
G
#4
R
#4
B
Ampel/Farbe A Rot A Gelb A Grün B Rot B Gelb B Grün C Rot C Gelb C Grün D Rot D Gelb D Grün
CV 878 879 880 881 882 883 884 885 886 887 888 889
Wert 10 11 12 13 14 15 13 14 15 10 11 12

Dazu muß der WS2811-Modus mit Einzelbitsteuerung gesetzt werden, dazu ist folgende Konfiguration notwendig (aus NeoControl EWS - Grundkonfiguration):

Anwendung CV 1135
Ein Strang mit WS2811 Bausteinen an einer NeoControl HW angeschlossen, die LEDs der WS2811 sollen einzeln angesteuert werden (nur max. 85 WS2811!)0b00000001 = 0x01

Mit dem Nodescripting Wizard und dem Script „NeoEWS: Konfiguration eines Accessories für direkte LED-Ansteuerung“ sieht das wie folgt aus:

Die restlichen Ausgänge der WS-Bausteine müssen noch angepasst werden:

Ausgang 8 9 10 11
WS-Baustein #3
B
#4
G
#4
R
#4
B
Ampel/Farbe C Grün D Rot D Gelb D Grün
CV 886 887 888 889
Wert 15 10 11 12

—-

onews/examples_onewsi.txt · Zuletzt geändert: 2020/05/20 14:36 von Higgins