Umzug des Forums zu einem neuen Anbieter

Der Umzug des Forums zu einem neuen Anbieter rückt näher, beachtet daher die fortlaufenden Informationen in den Forennews zu dem Thema:
Ausführliche Infos (Stand 11.5.2021)

Wir weisen ausdrücklich darauf hin, dass eine Nutzung Eures Benutzerkontos im neuen Forum nur möglich ist, wenn eine gültige E-Mail-Adresse (d.h. eine E-Mail-Adresse, auf der ihr Mails empfangen und lesen könnte) hier im Forum für Euer Benutzerkonto hinterlegt ist!
Eine nachträgliche Korrektur im neuen Forum ist nicht mehr möglich und alle Mitglieder ohne gültige E-Mail-Adresse haben dann keinen Zugriff mehr auf ihr Benutzerkonto.


Der gesamte Kleinanzeigen-Bereich (Kleinanzeigen / Suche) ist vorübergehend gesperrt für neue Angebote und Gesuche, damit es über die Foren-Downtime keine offenen Angebote gibt. Alte Angebote können noch zu Ende abgewickelt werden. Die Kleinanzeigen werden dann im neuen Forum wieder freigegeben.

ACHTUNG: Sperre des Forums ab Sonntag, 16.5.2021 abends zum Datenexport. Datenimport vom neuen Anbieter startet am Montag, 17.5.2021. Dauer der Arbeiten: ca. 1 Woche (genauer Infos, wenn verfügbar), in der Zeit steht das Forum nur lesend zur Verfügung, Neuregistrierungen sind in der Zeit nicht möglich. Wir bitten um Verständnis.

MobaLedLib: 768 LEDs, Servos, Sound, …………… Neu: Version 3.0.0

Bereich für alle Themen rund um Modellbahn-Software, sowie der nötigen Hardware (PCs, Bildschirme, etc.).
Benutzeravatar

Threadersteller
Hardi
EuroCity (EC)
Beiträge: 1346
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#936

Beitrag von Hardi »

Hallo Uwe, Hallo Martin,

das Umgreifen zu implementieren ist mit dem Pattern_Configurator kein Problem.

Hier ein erster Entwurf:
Bild
Wenn ich mich recht erinnere ändert sich die Periode der Schwingung nicht, nur die Amplitude.

Das Umlegen des Signalhebels geht in der ersten Hälfte schneller als in der Zweiten weil dem Stellwerker die Kraft ausgeht.

Die Zeiten sind einfach mal so angenommen.

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

AlexM
S-Bahn (S)
Beiträge: 23
Registriert: So 29. Dez 2019, 00:56
Stromart: digital
Steuerung: BiDiB
Gleise: Fleischmann
Wohnort: Villach
Österreich

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#937

Beitrag von AlexM »

Hallo!

Kann ich dies alles auch mit der BiDiB Zentrale ansteuern? Ist ja auch eine DCC Zentrale

Gruß Alex
Benutzeravatar

Threadersteller
Hardi
EuroCity (EC)
Beiträge: 1346
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#938

Beitrag von Hardi »

Hallo Misha,

Leider kann ich Dir heute noch keine Lösung zu Deinem Problem präsentieren. Was ich bis jetzt herausgefunden habe ist, dass das Einfügen der „Counter()“ Funktion vom „Pattern_Configurator“ in den Prog_Generator nicht funktioniert. Das habe ich leider auch noch nie getestet ;-(
Jetzt muss ich erst mal ein bisschen schlafen. Vielleicht komme ich Morgen Nacht dazu mich noch mal näher mit der Sache zu beschäftigen.

Was möchtest Du den damit machen?

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

4fangnix
InterRegio (IR)
Beiträge: 157
Registriert: So 18. Okt 2015, 12:26
Nenngröße: H0
Stromart: digital
Steuerung: Rocrail / DCC BiDiB
Gleise: C-Gleis
Wohnort: Weiterstadt
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#939

Beitrag von 4fangnix »

Hallo Alex,

bisher konnte ich sowohl meine Beleuchtung (WS2811/WS2812) als auch meinen Sound (JQ6500) via MobaLedLib-Platinen abspielen.
Das Ganze mit dem GBMBoost Master von Fichtelbahn (BiDiB) via DCC als Accessory Decoder. Steuerung ist Rocrail.
Daher müsste grundsätzlich auch die Steuerung von Servos gehen, was ich aber noch nicht getestet habe.

Die DCC-Adressen habe ich im Prog-Generator vergeben und in Rocrail die Adresse + 4 eingeben.
Also aus der Adresse 900 im Prog-Generator wurde Adresse 904 in Rocrail etc. Im BiDiB-Wizard geht es noch einfacher.
Eine Beschreibung findest Du auf Thread #1 unter Dokumentationen.
https://github.com/Hardi-St/MobaLedLib_ ... usgang.pdf

Schöne Grüße
Armin
Rocrail, 1x OpenDCC GBMboost, 1x BiDiB RF-Basis (OpenCar), 5x GBM16T, 2x LightControl, 2x OneControl, 5x Mobalist, DMX-RGB-Dimmer, MobaLedLib mit 768 LED über WS2811 oder 256 WS2812 RGB-LED, Intellibox - Märklin C- und K-Gleis, Bahn im Aufbau.
Benutzeravatar

Worldworms
EuroCity (EC)
Beiträge: 1415
Registriert: Mi 4. Feb 2015, 13:22
Nenngröße: H0
Stromart: DC
Steuerung: Traincontroller, MobaLedLib
Gleise: Piko A
Wohnort: Höslwang
Alter: 46
Kontaktdaten:
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#940

Beitrag von Worldworms »

Hallo Hardi,

heute hab ich auch mal wieder eine Frage bezüglich des Helligkeitssensors.
Bezug nehmend auf die Antwort: viewtopic.php?f=7&t=165060&start=775#p2038679

Ich hätte gern in einigen Geschäften "Neonröhren" verbaut, gibt es bei diesen auch den "umgekehrten" Effekt, also Abends aus und Morgens wieder an?
Oder geht das nur mit der Const Variante?

Vielleicht bin ich auch schon wieder betriebsblind :oops:

Gruß
Ronny
Hier gehts von Bad Endorf nach Obing
Bild
Benutzeravatar

Threadersteller
Hardi
EuroCity (EC)
Beiträge: 1346
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#941

Beitrag von Hardi »

Hallo Misha,

Ich finde es ganz toll, dass Du Dich so intensiv mit der MobaLedLib beschäftigst.

Sehr schön!

Vielleicht hilft Dir meine Erklärung dabei, dass Du in Zukunft den Kollegen ähnliche Fragen beantworten kannst…

Es ist für mich schwierig zu verstehen was Du genau brauchst ohne zu wissen was Du damit erreichen willst.
Misha hat geschrieben: Mo 6. Jan 2020, 15:52 Ich möchte, dass ein Makro zufällig gestartet wird.
Zufällige Aktionen kann man mit der „Random()“ Funktion erzeugen. Damit kann man z.B. das Blitzlicht eines Fotografens simulieren. Mit den folgenden Zeilen kann man das machen:
Bild

Eine weiße LED wird zufällig zwischen 5 Sek und 10 Sek für 100 ms aufblitzen.
Die 100 ms sind für einen Fotoblitz zu lang, aber sie werden im Folgenden verwendet und darum sollen sie nicht zu kurz sein.
Misha hat geschrieben: Mo 6. Jan 2020, 15:52 Ich möchte, dass ein Makro zufällig gestartet wird. In diesem Makro gibt es zwei Phasen. Ich möchte auch, dass die Dauer von Phase 1 zufällig endet und Phase zwei die letzte Phase ist.
Wenn Du verschiedene Phasen zufällig aktivieren willst, dann kann die Zufallsfunktion dazu verwendet werden einen Zähler zu Triggern. Immer dann wenn die LED Blitzt wird der Zähler um einen Schritt weiter gezählt.
Damit man das leichter nachvollziehen kann habe ich zunächst einen Zähler mit drei Zuständen verwendet der am Ende wieder von vorne beginnt. Dadurch kann man die Geschichte längere Zeit studieren.
Dieser Zähler steuert drei verschiedene LEDs an. Im Zustand 1 blinkt die erste LED abwechselnd Rot und Grün. Im zweiten Zustand wechselt die zweite LED Grün zwischen und Blau. Dir dritte LED verhält sich entsprechend. Sie verwendet die Farben Lila und Hellblau.
Hier die Pattern_Configurator Konfiguration:
Bild

Die Zeilen im Prog_Generator sehen so aus:
Bild

Mit der ersten Zeile wird ein Zwischenspeicher angelegt. Dieser wird zum Speichern des Zählerstandes benötigt.
Der Zähler ist in der zweiten Zeile definiert. Das Flag CF_ONLY_LOCALVAR bestimmt, dass der Zähler keine Digitalen Ausgänge besitzt. Mit CF_ROTATE wird angegeben dass der Zähler am Ende wieder von vorne beginnt. Das ist für die Tests hilfreich. Der Timeout Wert von 0 Sek gibt an, das der Zähler nicht automatisch auf 0 gesetzt wird. Über die 3 am Ende teilt man dem Programm mit, dass es drei verschiedene Zustände geben soll.
Die letzte Zeile ist für das Blinkmuster zuständig.
Eigentlich sollten die drei Zeilen automatisch vom Pattern_Configurator erstellt werden. Leider Funktioniert das noch nicht richtig ;-(

Wenn diese und die vorangegangenen Zeilen zum Arduino geschickt werden, dann wird mit jedem Blitzen der weißen LED die Blinkende LED weitergeschaltet. Die Umschaltzeiten variieren zwischen 5 und 10 Sekunden. Das kann man sehr schön am Blinken der LEDs abzählen.

Du hast Dir aber gewünscht, dass die zweite Phase die letzte Phase ist.
Misha hat geschrieben: Mo 6. Jan 2020, 15:52 … Phase zwei die letzte Phase ist.
Dazu muss das Flag CF_ROTATE gelöscht werden und die Anzahl der Zählerzustände auf 2 gesetzt werden:
Bild

Jetzt blinkt zu Beginn die erste LED und nach einer zufälligen Zeit blinkt die Zweite. Dieser Zustand bleibt erhalten bis der Arduino neu gestartet wird.

Das kann man natürlich auch auf Dein Muster anwenden. Dann flackert die LED erst in verschiedenen Farben bis der Zähler Impuls kommt. Danach erhöht sich die Helligkeit des roten und grünen Kanals in drei Schritten. Anschließend geht die LED aus.
Das sieht dann so aus:
Bild


Die Beispielzeilen habe ich in diese Excel Datei gepackt. Ihr Inhalt kann über die Zwischenablage in den Prog_Generator kopiert werden damit man nicht alles abtippen muss.
Beispiel_Misha.zip


Aber jetzt verrate uns doch bitte was das ganze macht.


Misha hat geschrieben: Mo 6. Jan 2020, 15:52 Ich kann nicht verstehen, wie zufällig ein Makro gestartet werden kann. Dies ist möglicherweise auf den Sprachunterschied zurückzuführen.
Du kannst Deine Fragen auch gerne in Englisch per Mail an mich schicken. Dann beantworte ich sie gerne auch in Englisch.
Misha hat geschrieben: Mo 6. Jan 2020, 15:52 Wie funktioniert DstVar, Dstvar1, DstVarN? Habe ich das oben gut umgesetzt?

Wie funktioniert #InCh?
Die von Dir verwendeten Funktionen sind noch nicht richtig im Prog_Generator integriert. Später muss man sich nicht mehr um diese Details kümmern.
Die Bezeichnungen „DstVar“, „Dstvar1“ und „DstVarN“ stammen direkt aus der Bibliothek welche in c++ verwendet wird. Im Prog_Generator müssen diese Variablen durch Zahlen ersetzt werden.
„DstVar“ wird z.B. Bei der „Random()“ Funktion benutzt. Damit wird die Nummer der Zielvariable beschrieben. Diese Variable kann entweder 0 oder 1 sein.
„DstVar1“ und „DstVarN“ werden bei Funktionen benutzt welche mehrere Ziel Variablen beschreiben. Das „Counter()“ Makro kann mehrere Ausgänge verändern. In dem Beispiel wird das aber nicht genutzt weil der Schalter „CF_ONLY_LOCALVAR“ aktiviert ist.

„#InCh“ ist ein Symbol welches im Prog_Generator benutzt wird. Es wird automatisch mit der nächsten Variable belegt bevor das Programm zum Arduino geschickt wird. Dadurch muss sich der Anwender keine Gedanken um die Nummern der Variablen machen. Wenn man so wie Du ganz tief in die Trickkiste greifen will, dann kann man die Variablen über „#define …“ erstellen.

Vielleicht hilft es Dir, wenn Du in die Automatisch generierte Datei „LEDs_AutoProg.h“ schaust. Mit Strg+“Z.Arduino schicken“ wird ein Dialog geöffnet mit dem man die Datei anschauen kann.

Hardi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“
Benutzeravatar

Threadersteller
Hardi
EuroCity (EC)
Beiträge: 1346
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#942

Beitrag von Hardi »

Hallo Ronny,
Worldworms hat geschrieben: Di 7. Jan 2020, 12:44 heute hab ich auch mal wieder eine Frage bezüglich des Helligkeitssensors.
:
Bezug nehmend auf die Antwort: https://www.stummiforum.de/viewtopic.ph ... 5#p2038679
Ich hätte gern in einigen Geschäften "Neonröhren" verbaut, gibt es bei diesen auch den "umgekehrten" Effekt, also Abends aus und Morgens wieder an?
das geht „ganz einfach“. Dazu musst Du „Nur“ die Variable invertieren.
Ich habe mal auf die Schnelle das Beispiel von Misha um drei Zeilen (Gelb Hinterlegt) erweitert. Damit wird eine zweite gelbe Test LED erzeugt welche invers zu der weißen LED leuchtet.
Bild
Die Variable INCH_RND_INV könntest Du aber auch zur Steuerung einer House Funktion mit dem Neonlicht verwenden. Dabei müsste dann die Eingangsvariable aus der Schedule() Funktion kommen.

Leider ist auch das noch nicht komfortabel im Excel auszuwählen ;-(

Edit: 8.2.20: Inzwischen (MobaLedLib Ver. 1.0.1) gibt es einen „Eingang invertieren“ Schalter im Haus Dialog mit dem man das ganz einfach machen kann.

Hardi
Zuletzt geändert von Hardi am Di 12. Mai 2020, 14:04, insgesamt 2-mal geändert.
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

Misha
RegionalExpress (RE)
Beiträge: 56
Registriert: So 22. Dez 2019, 07:26
Nenngröße: H0
Stromart: digital
Steuerung: Koploper
Gleise: Marklin K-Rail
Wohnort: Utrecht / Nederland
Alter: 63
Niederlande

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#943

Beitrag von Misha »

Guten Abend, Hardi,

Nochmals vielen Dank für Ihre schnelle Antwort und detaillierte Beschreibung und Tipps. :gfm: :gfm: :gfm:
Davon habe ich sehr profitiert und mein Ziel erreicht.

Ich fand Ihr Schweißlicht zu weiß und daher weniger realistisch. Ich wollte mehr Blau und Rot darin.
Außerdem wollte ich, dass das Schweißen (Erste Phase) in einer zufälligen variablen Zeit stattfindet und es dann gelb/rot abkühlt (Zweite Phase).
Ich wollte auch, dass das Schweißen zufällig beginnt.
Unterhalb meiner endgültigen Lösung.

Bild

Code: Alles auswählen

#define INCH_RND 100
Random(INCH_RND, SI_1, P_RANDOM_DSTVAR, 1 Sec, 10 Sec, 1 sec, 15 sec)
New_Local_Var()
Counter(CF_ONLY_LOCALVAR | CF_ROTATE, INCH_RND, SI_1, 0 Sec, 2)
APatternT27(#LED,168,SI_LocalVar,3,0,255,1,0,25,35,45,50,35,45,75,25,35,45,25,50,35,45,25,35,45,75,25,35,45,50,200,200,200,150,3 sec,143,114,70,63,144,51,58,224,71,57,163,63,2,158,51,250,163,156,201,1,63,202,25,61,9,135,6,14,0,0,0  ,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,63)
Aus Ihrem Beispiel habe ich Tst3 und Tst4 nicht funktioniert. Es war nicht wirklich wichtig. Ich habe es mir genau angesehen und mit all den Beispielen zusammen kann ich daraus ein funktionierendes Makro machen. Mein erstes !!! :lol: :lol: :lol:

Ich habe vor dem Debuggen regelmäßig die "LEDs_AutoProg.h" Dateien überprüft. Danke fur die tipp mit Ctrl + "Send Z.Arduino! :lol:

Ich halte es für bequemer, mit dem Übersetzer auf Deutsch zu schreiben. Das ist an sich in Ordnung. Nur die Grammatik ist möglicherweise nicht immer korrekt. das wäre auch bei meinem englisch der fall.

Ich verstehe, dass nicht alles in Ihrem prog_Gen-Tool implementiert werden kann. Es spielt keine Rolle. Es ist nur schwierig, wenn Sie etwas zum Laufen bringen wollen und es nicht funktioniert, weil es nicht da ist. Glücklicherweise besuchen Sie regelmäßig das Forum und finden schnell Hilfe und Lösungen.

Fahren Sie hauptsächlich damit fort und ich bin zuversichtlich, dass es ein fantastisches Werkzeug bleiben wird. :lol: :lol: :lol:

Ich werde dieses Forum weiter verfolgen!


Grüße Misha
Benutzeravatar

rolfha
InterRegioExpress (IRE)
Beiträge: 350
Registriert: Do 14. Feb 2019, 22:20
Nenngröße: N
Stromart: digital
Steuerung: Lenz
Gleise: Fleischmann
Wohnort: Kronberg
Alter: 71
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#944

Beitrag von rolfha »

Hallo,
das nächste Level bei der Schweißsimulation habe ich in der Modellbahnwelt in Fürth Odenwald gesehen. Schau mal die erste Minute dieses Videos:

[youtu-be]https://www.youtube.com/watch?v=baJtM16 ... RrP0i&t=76[/youtu-be]

Viele Grüße
Rolf
Benutzeravatar

Domapi
EuroCity (EC)
Beiträge: 1082
Registriert: Di 22. Sep 2015, 07:12
Nenngröße: H0
Stromart: digital
Steuerung: DCC & ECOS & TC9 Gold
Gleise: Roco/Tillig/Weinert
Wohnort: Nämberch
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#945

Beitrag von Domapi »

kalaharix hat geschrieben: Mo 6. Jan 2020, 20:55 Moin,

das Nachwippen sieht schon sehr gut aus, jetzt fehlt noch das Umgreifen :D

In einem mechanischen Stellwerk, also bei über Seilzüge bewegte Signale, ist der Ablauf meist so:

Der Stellwerke zieht den Signalhebel zu sich und etwa bei halbem Stellweg greift er um und drückt den Hebel nach unten. Der Signalflügel verharrt also kurz im 45° Winkel. Das aber nur bei in Fahrtstellung beim Haltfall "fällt" der Flügel in einem auf HP0.

Das wäre doch noch eine nette Erweiterung.
Habe hier einen Versuch gewagt, das „Umgreifen“ abzubilden.

viewtopic.php?f=64&t=152275&p=2059321#p2059321
Viele Grüße
Martin

Der Weg ist das Ziel !

Mein noch namenloser Trennungsbahnhof: https://www.stummiforum.de/viewtopic.php?f=64&t=152275

DHC500blau
InterRegioExpress (IRE)
Beiträge: 309
Registriert: Sa 18. Okt 2014, 23:24
Nenngröße: H0
Stromart: digital
Steuerung: CS3/CS2
Gleise: C-Gleis
Wohnort: z. Zt. weit im Norden
Deutschland

Re: W a r n u n g : Wer lesen kann ist klar im Vorteil !

#946

Beitrag von DHC500blau »

Hallo Hardi,

ich beziehe mich auf nachfolgenden Beitrag von Martin. Hast Du schon einmal darüber nachgedacht, MobaLedLib so zu erweitern, dass man auch RGBW- und RGBWW-LED ansteuern könnte? Wäre es sehr aufwändig, dies in die Programmierung einzubauen? Vielleicht gibt es ja in Zukunft häufiger spezielle Module oder Baugruppen, die nur mit 3+X Kanälen funktionieren.

LG
Lorenz
Domapi hat geschrieben: Fr 3. Jan 2020, 19:12 Anbei ein kleiner Bericht, wie man es nicht machen sollte!

Bei Amazon gibt es die WS2812-Schokoladentafeln in schwarz und in weiß.
Ich hatte mir die Weiße bestellt, da hier im Forum auch immer weiße Platinen abgebildet sind. Weiß = Farbe der Platine, so dachte ich mir, ohne großartig weiterzulesen ...
https://www.amazon.de/Kuman-100pcs-WS28 ... HGA50&th=1

Die weiße Version ist aber eine RGB + white Version :oops:

Wer lesen kann ist klar im Vorteil.

Habe heute die schwarze Version geliefert bekommen, das ist die reine RGB-Version, damit funktioniert alles gleich viel besser, nämlich so, wie es soll !!!
https://www.amazon.de/dp/B07B7GVFRG/ref ... UTF8&psc=1

Bei Verwendung der RGBW-Version passt natürlich die Ansteuerung der Folge-LEDs nicht mehr. Die Farben kommen dann komplett durcheinander!

Misha
RegionalExpress (RE)
Beiträge: 56
Registriert: So 22. Dez 2019, 07:26
Nenngröße: H0
Stromart: digital
Steuerung: Koploper
Gleise: Marklin K-Rail
Wohnort: Utrecht / Nederland
Alter: 63
Niederlande

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#947

Beitrag von Misha »

rolfha hat geschrieben: Mi 8. Jan 2020, 15:41 Hallo,
das nächste Level bei der Schweißsimulation habe ich in der Modellbahnwelt in Fürth Odenwald gesehen. Schau mal die erste Minute dieses Videos:

[youtu-be]https://www.youtube.com/watch?v=baJtM16 ... RrP0i&t=76[/youtu-be]

Viele Grüße
Rolf
Hallo Rolf,

Was für eine sehr schöne Herausforderung. Die Funken fallen! :lol:

Schön, das später in meinem Modellbahn layout umzusetzen.

Guter Fund !!! :gfm:


Grüße Misha.
Benutzeravatar

Threadersteller
Hardi
EuroCity (EC)
Beiträge: 1346
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

Re: W a r n u n g : Wer lesen kann ist klar im Vorteil !

#948

Beitrag von Hardi »

Hallo Lorenz,
DHC500blau hat geschrieben: Mi 8. Jan 2020, 17:39 ... Hast Du schon einmal darüber nachgedacht, MobaLedLib so zu erweitern, dass man auch RGBW- und RGBWW-LED ansteuern könnte? Wäre es sehr aufwendig, dies in die Programmierung einzubauen? Vielleicht gibt es ja in Zukunft häufiger spezielle Module oder Baugruppen, die nur mit 3+X Kanälen funktionieren.
das ist nicht Möglich solange die FastLED Bibliothek die RGBW LEDs nicht unterstützt. Laut einer Aussage des Entwicklers wird das auch nicht sobald kommen.
Ich denke auch, dass es die WS281x LEDs noch lange geben wird. Vielleicht nicht unbedingt von diesem Hersteller. Es gibt ja jetzt schon Nachbauten mit besseren Daten.

Hardi
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

Misha
RegionalExpress (RE)
Beiträge: 56
Registriert: So 22. Dez 2019, 07:26
Nenngröße: H0
Stromart: digital
Steuerung: Koploper
Gleise: Marklin K-Rail
Wohnort: Utrecht / Nederland
Alter: 63
Niederlande

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#949

Beitrag von Misha »

WolfHo hat geschrieben: Di 31. Dez 2019, 11:35 Hallo Hardi,

danke für die exzellente "Bedienungsanleitung", genau das braucht man. Fragen habe ich noch einige, ich muß sie aber erst vernünftig zusammenstellen.
Aber vorweg doch meine Standardfrage: wo steckt denn jetzt die ständig flackernde defekte Neonröhre?

Grüße Wolf

Hallo wolf

Ich wollte auch eine permanent blinkende Neonröhre. In meinem früheren Beitrag hatte ich bereits etwas davon gezeigt.

Jetzt, da ich weiß, wie die Random-Funktion funktioniert, habe ich meine Neonröhren-Blitzlösung angepasst. Es sieht jetzt so aus:

Bild

Code: Alles auswählen

Random(INCH_RND1, SI_1, P_RANDOM_DSTVAR, 1 Sec, 3 Sec, 500 ms, 2000 ms)
PatternT8(#LED,8,INCH_RND1,3,1,128,0,0,300 ms,100 ms,300 ms,100 ms,4 sec,400 ms,100 ms,100 ms,0,254,3,248,191,136,17,128,100)

Die Neonröhre blinkt nun unregelmäßig und mit einer zufälligen Blinkfrequenz.

Ich hoffe das hilft dir.

Grüße Mischa.
Benutzeravatar

Threadersteller
Hardi
EuroCity (EC)
Beiträge: 1346
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Kaputte Röhre

#950

Beitrag von Hardi »

Hallo Mischa,


es gefällt mir extrem gut was Du mit dem Pattern_Generator zauberst.

Ich währe nie auf die Idee gekommen, dass man damit ein Schweißlicht oder eine kaputte Neonröhre generieren kann.

=> Du gehörst ab sofort zum MobaLedLib Entwickler-Team.

Die Doku zu den Funktionen der MobaLedLib ist leider nicht umfangreich genug. Darum schreibe ich mal auf was man an dem Makro noch verbessern kann.
  • Der dritte Parameter des „Random()“ Makros ist der „Mode“. Dieser kann folgende Werte annehmen (Ausschnitt aus MobaLedLib.h):

    Code: Alles auswählen

    // Flags and modes for the Random() and RandMux() function
    #define  RM_NORMAL               B00000000
    #define  RF_SLOW                 B00000001      // Time base is divided by 16 This Flag is set automatically if the time is > 65535 ms
    #define  RF_SEQ                  B00000010      // Switch the outputs of the RandMux() function sequential and not random
    #define  RF_STAY_ON              RF_SEQ         // Flag for the Ranom() function. The Output stays on until the input is turned off. MinOn, MaxOn define how long it stays on.
    
    Du hast als Mode die Konstante „P_RANDOM_DSTVAR“ verwendet. Sie ist auch 0, hat aber eine ganz andere Funktion. Das „P“ steht hier für „Parameter“. Die Konstante beschreibt die Nummer des Parameters der Zielvariable.
    => Anstelle von „P_RANDOM_DSTVAR“ muss „RM_NORMAL“
  • Der Symbolname „#LocInCh“ ist ein Platzhalter für eine lokale Zwischenvariable. Wenn man diesen Ausdruck anstelle der von Dir verwendeten globalen Konstante „INCH_RND1“ verwendet, dann kümmert sich Excel darum, dass eine freie Variable verwendet wird. Wichtig dabei ist, dass in der Spalte „InCnt“ die Anzahl der lokalen Variablen steht. Da die „#LocInCh“ vom Excel für jede Zeile neu berechnet wird müssen alle verweise auf die gleiche lokale Variable innerhalb einer Excel Zelle stehen.
  • Die „Random()“ Funktion kann über eine Variable Ein- und Ausgeschaltet werden. Dazu wird der dritte Parameter verwendet. Wenn man hier „#InCh“ einträgt, dann trägt Excel hier, wenn ein DCC Signal zum Schalten der Funktion verwendet werden soll, die entsprechende Variable ein. Wenn kein DCC Kanal definiert ist dann ist die Funktion immer an. Excel trägt dazu die „SI_1“ ein.
    Damit das Funktioniert muss in der Spalte „InCnt“ eine 1 eingetragen werden.
    Die Spalten „LEDs“ – „Loc InCnt“ werden von einem kleinen Trick gegen unbeabsichtigte Änderungen geschützt: Wenn man in die Zellen springen will hüpft der Cursor wieder raus. Das kann man umgehen indem man sich von rechts „anschleicht“ => Man klick in das Feld rechts neben der Tabelle und dann in die gewünschte Zelle. Natürlich hätte man das versehentliche Ändern auch verhindern können indem man die Zelle gesperrt hätte. Dann hätte man für Änderungen den Blattschutz deaktivieren müssen. Das hat aber den Nachteil, dass man anschließend vergisst diesen wieder zu aktivieren.
  • Die 128 in der Pattern Zeile ist die maximale Helligkeit der LED. Diese Zahl kann man beliebig Ändern. Hier gibt es nicht die Einschränkung, dass die Helligkeit kleiner 11 sein muss.
  • Ich finde, dass das Flackern des Neonlichts auch varrieren sollte. Das Flackern ist momentan in einer Pattern_Configurator Zeile definiert. Du könntest innerhalb dieser Zeile mehrere Muster ablegen und diese über eine weitere Zufallsfunktion auswählen. Vielleicht hast Du Lust Dich daran zu versuchen.
    Was dann noch fehlt ist ein Video welches die alte und die neue Variante der kaputten Röhre im Vergleich zeigt.
Hier der geänderte Eintrag:
Bild

Und hier nochmal zum Einfügen in den Prog_Generator:

Code: Alles auswählen

Random(#LocInCh, #InCh, RM_NORMAL, 1 Sek, 3 Sek, 500 ms, 2000 ms)
PatternT8(#LED,8,#LocInCh,3,1,128,0,0,300 ms,100 ms,300 ms,100 ms,4 sec,400 ms,100 ms,100 ms,0,254,3,248,191,136,17,128,100)
Achtung die letzten drei Spalten müssen von Hand eingegeben werden (Trick: „Anschleichen“ von rechts)

Ganz Vielen Dank

Edit: 8.2.20: Das Makro zum ansteuern kaputter Neonröhren von Misha ist ab Version 1.0.1 der MobaLedLib im Auswahldialog der Makros verfügbar

Hardi
Zuletzt geändert von Hardi am Sa 8. Feb 2020, 10:01, insgesamt 1-mal geändert.
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“
Benutzeravatar

rolfha
InterRegioExpress (IRE)
Beiträge: 350
Registriert: Do 14. Feb 2019, 22:20
Nenngröße: N
Stromart: digital
Steuerung: Lenz
Gleise: Fleischmann
Wohnort: Kronberg
Alter: 71
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#951

Beitrag von rolfha »

Hallo Mischa,
ich hatte die Modellbahnwelt in Fürth angeschrieben um nach mehr Details zu fragen. Leider habe ich keine Antwort bekommen, was verständlich aber schade ist. Meine Vermutung ist ein TFT Display im Gasometer. Da aber die LED und die Funken gut synchronisiert sind, ist es wohl kein MobaLedLib Thema. Oder die Funken werden von LEDs hinter einer Lochmaske erzeugt, dann könnte man schön pattern.
Viele Grüße
Rolf
Benutzeravatar

rolfha
InterRegioExpress (IRE)
Beiträge: 350
Registriert: Do 14. Feb 2019, 22:20
Nenngröße: N
Stromart: digital
Steuerung: Lenz
Gleise: Fleischmann
Wohnort: Kronberg
Alter: 71
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#952

Beitrag von rolfha »

Die Geräuschkulisse und Sound_MP3-TF-16P,

ich habe das Soundmodul Sound_MP3-TF-16P gelötet und habe Freude damit. Es ist bei mir betriebssicherer als mein Modul mit dem verdrehten WS2811. Durch das DIP WS2811 ist die Löterei für mich auch einfacher, da das über Kreuz löten der Beinchen wegfällt. Leider waren die vorhandenen Widerstände etwas zu groß.

Hier die Bilder:

Bild


Bild

Rolf

WolfHo
InterRegio (IR)
Beiträge: 125
Registriert: Do 10. Okt 2019, 18:41
Nenngröße: N
Stromart: digital
Steuerung: Intellibox, Railware, Arduino
Gleise: Arnold
Wohnort: Dietzenbach
Alter: 75
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#953

Beitrag von WolfHo »

Hallo Hardi und Misha,

danke für das neue "Neon-kaputt-Programm". Zuerst die gute Nachricht: Es funktioniert sagar bei mir als "Nichtkönner" ohne Probleme.
Und jetzt die Einwände: die Ein- und Ausschaltzeiten müssen nach meinem Gefühl noch mehr an die Realität angeglichen werden. Die Dunkelpausen sollten kürzer sein, die Leuchtzeiten z. T. deutlich länger, das alles natürlich zufällig und unregelmäßig. Habe mal etwas probiert, konnte aber nicht alle sieben Siegel der Sache lösen : Random(#LocInCh, #InCh, RM_NORMAL, 1 Sek, 3 Sek, 500 ms, 2000 ms) PatternT8(#LED,8,#LocInCh,3,1,50,0,0,300 ms,500 ms,500 ms,1000 ms,2 Sec,400 ms,100 ms,100 ms,0,254,3,248,191,136,17,128,100)

Ich bin sicher, ihr bekommt das hin; gut wäre es zu wissen, wo die effektivsten "Stellschrauben" sind, dann kann man es nach eigenem Geschmack konfigurieren.

Grüße Wolf
SpurN Arnold Gleis 60 m, Anlage 2,50x0,70 m, Sbhf 16 Gl., Bhf 7 Gl., BW mit Drehscheibe, 50 Loks, Epoche 3, Fahren IBox I Com2, Booster LDT DB-4; Schalten S-DEC-4, WDECN-TN; Melden HSI-88 (Com3), RM-GB-8(-N). Steuerung Railware 7.34, PC: Core i5 750 , 8 GB RAM, Win10 pro 64Bit

Misha
RegionalExpress (RE)
Beiträge: 56
Registriert: So 22. Dez 2019, 07:26
Nenngröße: H0
Stromart: digital
Steuerung: Koploper
Gleise: Marklin K-Rail
Wohnort: Utrecht / Nederland
Alter: 63
Niederlande

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Kaputte Röhre

#954

Beitrag von Misha »

Hardi hat geschrieben: Do 9. Jan 2020, 00:18 Hallo Mischa,


es gefällt mir extrem gut was Du mit dem Pattern_Generator zauberst.
:D
Ich währe nie auf die Idee gekommen, dass man damit ein Schweißlicht oder eine kaputte Neonröhre generieren kann.

=> Du gehörst ab sofort zum MobaLedLib Entwickler-Team.
:oops:
Die Doku zu den Funktionen der MobaLedLib ist leider nicht umfangreich genug. Darum schreibe ich mal auf was man an dem Makro noch verbessern kann.

Hardi
Hallo Hardi

Wie besonders, dass ich nach zweiwöchigem Rätseln mit MLL bereits zum Mitglied des Entwicklungsteams ernannt wurde.

Ich versuche nur herauszufinden, was mit MLL möglich ist. Ja, und dann stoßen Sie natürlich an die Grenzen dessen, was derzeit mit MLL möglich ist. Glücklicherweise befindet sich MLL noch in der Entwicklung und die Dinge werden wahrscheinlich in Zukunft verbessert. Zumindest glaube ich daran.
Zunächst erklären Sie, wie Sie MLL besser nutzen können.

Vielleicht kann jemand ein gutes Handbuch aus allen Parametern, Befehlen und der Verwendung von Makros usw. zusammenstellen.

Entschuldigung, mein Deutsch ist nicht genug!

Ich kann mich derzeit nicht mit MLL befassen. Wahrscheinlich wieder am Sonntag. Dann werde ich Ihre Empfehlungen studieren und ausprobieren.

Grüße Misha.

Misha
RegionalExpress (RE)
Beiträge: 56
Registriert: So 22. Dez 2019, 07:26
Nenngröße: H0
Stromart: digital
Steuerung: Koploper
Gleise: Marklin K-Rail
Wohnort: Utrecht / Nederland
Alter: 63
Niederlande

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#955

Beitrag von Misha »

rolfha hat geschrieben: Do 9. Jan 2020, 09:28 Hallo Mischa,
ich hatte die Modellbahnwelt in Fürth angeschrieben um nach mehr Details zu fragen. Leider habe ich keine Antwort bekommen, was verständlich aber schade ist. Meine Vermutung ist ein TFT Display im Gasometer. Da aber die LED und die Funken gut synchronisiert sind, ist es wohl kein MobaLedLib Thema. Oder die Funken werden von LEDs hinter einer Lochmaske erzeugt, dann könnte man schön pattern.
Viele Grüße
Rolf
Hallo rolf

Ich denke, es sollte gut mit MLL sein. Tatsächlich blinken nur wenige warmweiße oder gelbe LEDs in Verbindung mit dem Schweißmuster.

Ich möchte eine Weile darüber nachdenken, Ich glaube sie brauchen dazu eine Kombination aus zwei zufälligen Befehlen, damit zum einen das Schweißmuster sichtbar ist und zum anderen ein zufälliges Funkenmuster.
Ich lasse diese Idee eine Weile reifen, bis ich mehr über MLL verstehe.

Wer probiert es aus?


Grüße Misha.

Misha
RegionalExpress (RE)
Beiträge: 56
Registriert: So 22. Dez 2019, 07:26
Nenngröße: H0
Stromart: digital
Steuerung: Koploper
Gleise: Marklin K-Rail
Wohnort: Utrecht / Nederland
Alter: 63
Niederlande

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#956

Beitrag von Misha »

WolfHo hat geschrieben: Do 9. Jan 2020, 19:44 Hallo Hardi und Misha,

danke für das neue "Neon-kaputt-Programm". Zuerst die gute Nachricht: Es funktioniert sagar bei mir als "Nichtkönner" ohne Probleme.
Und jetzt die Einwände: die Ein- und Ausschaltzeiten müssen nach meinem Gefühl noch mehr an die Realität angeglichen werden. Die Dunkelpausen sollten kürzer sein, die Leuchtzeiten z. T. deutlich länger, das alles natürlich zufällig und unregelmäßig. Habe mal etwas probiert, konnte aber nicht alle sieben Siegel der Sache lösen : Random(#LocInCh, #InCh, RM_NORMAL, 1 Sek, 3 Sek, 500 ms, 2000 ms) PatternT8(#LED,8,#LocInCh,3,1,50,0,0,300 ms,500 ms,500 ms,1000 ms,2 Sec,400 ms,100 ms,100 ms,0,254,3,248,191,136,17,128,100)

Ich bin sicher, ihr bekommt das hin; gut wäre es zu wissen, wo die effektivsten "Stellschrauben" sind, dann kann man es nach eigenem Geschmack konfigurieren.

Grüße Wolf
Wolf,

Versuchen Sie, mit den Werten von 500 ms und 2000 ms des Zufallsbefehls zu spielen.

Random(#LocInCh, #InCh, RM_NORMAL, 1 Sek, 3 Sek, 500 ms, 2000 ms)

Ich weiß es auch (noch) nicht genau!


Grüße Misha.

Misha
RegionalExpress (RE)
Beiträge: 56
Registriert: So 22. Dez 2019, 07:26
Nenngröße: H0
Stromart: digital
Steuerung: Koploper
Gleise: Marklin K-Rail
Wohnort: Utrecht / Nederland
Alter: 63
Niederlande

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#957

Beitrag von Misha »

Guten Abend, Hardi,

Ich denke gerade darüber nach, wie man eine Beleuchtung für das Vergnügungspark herstellen kann. Das sieht ein bisschen nach Disco-Beleuchtung aus. Ich brauche RandMux dafür. Wenn ich es richtig verstanden habe, können Sie damit mehrere Eingänge steuern und so mehrere Muster sichtbar machen.

Ich bin einfach nicht gut in DestVar1 und DestVarN. Hier müssen noch die Eingabewerte der auszuführenden Muster eingegeben werden!

Können Sie das etwas näher erläutern?

Das habe ich jetzt:

Bild

Code: Alles auswählen

#define INCH_RNDMUX1 301
#define INCH_RNDMUX2 302
#define INCH_RNDMUX3 303
#define INCH_RNDMUX4 304

RandMux(INCH_RNDMUX1, INCH_RNDMUX4, INCH0, RF_SEQ , 2 Sek, 5 Sek)
PatternT1(#LED,132,INCH_RNDMUX1,18,0,255,0,0,1 Sek,65,16,4,65,0)
// Next_LED(-6)
PatternT1(#LED,132,INCH_RNDMUX2,18,0,255,0,0,1 Sek,4,65,16,4,1)
// Next_LED(-6)
PatternT1(#LED,132,INCH_RNDMUX3,18,0,255,0,0,1 Sek,16,4,65,16,4)
// Next_LED(-6)
PatternT1(#LED,132,INCH_RNDMUX4,18,0,255,0,0,1 Sek,85,85,85,85,5)
Wenn INCH0 '1' wird, muss die Lichtshow beginnen.

Dann muss INCH_RNDMUX1 bis einschließlich INCH_RNDMUX4 durch den Befehl RandMux () sequentiell oder zufällig gesteuert werden.


Grüße Misha.
Benutzeravatar

Threadersteller
Hardi
EuroCity (EC)
Beiträge: 1346
Registriert: Mo 28. Dez 2015, 13:07
Nenngröße: H0
Stromart: digital
Steuerung: MS2 + IR, Eigenbau
Gleise: Märklin C-Gleis
Wohnort: Mainz
Alter: 57
Kontaktdaten:
Deutschland

MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... Kirmes

#958

Beitrag von Hardi »

Hallo Mis(c)ha,

ich finde es unglaublich wie tief Du gleich zu beginn in die Funktionen der MobaLedLib einsteigst.

Doch zunächst eine Frage:
Du schreibst Deinen Namen mal mit „c“ und mal ohne:
Misha hat geschrieben: Do 9. Jan 2020, 21:52 Grüße Misha.
Misha hat geschrieben: Mi 8. Jan 2020, 20:35 Grüße Mischa.
Was ist den Dein richtiger Name?

Du verwendest in Deinen Posts oft die förmliche Anrede „Sie“. Im Stummi Forum sind wir eine große Familie und „Duzen“ uns => „Du“ anstelle von „Sie“. Ich vermute, dass das ein Übersetzungsfehler von Google ist.

Doch jetzt zu Deinem neuen Projekt dem „Vergnügungspark“.

Mir fallen zwei Möglichkeiten ein wie man das mit der Bibliothek umsetzen kann.

1. Ein Muster mit mehreren Teilen
Man kann im Pattern_Configurator Muster erzeugen welche aus mehreren Abschnitten bestehen. Dazu wird der Schalter „Goto Mode:“ auf 1 gesetzt. Dadurch wird die „Goto Tabelle“ eingeblendet. Hier trägt man verschiedene Kürzel ein über die man dem Programm z.B. sagt wo ein Abschnitt beginnt. Über die eingeblendete Hilfe erfährt man welche Befehle es gibt:
In dieser Zeile werden die
- Startspalten (S)
- Positionen für die Goto Anweisung (P)
- Goto Anweisungen (G nr)
- GoEnd Anweisungen (E)
eingetragen wenn der Goto Mode aktiviert ist.
Die Startspalten werden angesprungen, wenn ein vorangegangener Befehl (z.B. Counter) einen neuen Wert ermittelt hat. Die erste Spalte wird angesprungen, wenn eine 0 ermittelt wurde. Die erste mit S markierte Spalte wird angesprungen, wenn eine 1 vom vorangegangenen Befehl generiert wurde.
Mit der Goto Anweisung wird die als nächste auszuführende Spalte bestimmt.
Wenn auf den Goto Befehl eine 1 folgt wird die erste mit einem P markierte Position angesprungen.
Bei dem GoEnd Befehl wird zum Ende des Musters gesprungen.
Start (S), Position (P), Goto (G) oder GoEnd (E) können gemeinsam in einer Zelle benutzt werden.
Beispiel:
S P G 3
In der Praxis sieht das so aus:
Bild
Für das Beispiel habe ich drei kleine Muster eingegeben. Ein „rotes“, „grünes“ und „blaues“ Lauflicht. Die Grafik mit den Pfeilen wird aktiviert indem man im Feld „Grafische Anzeige“ eine 1 einträgt. Die Pfeile mit den Nummern definieren die Startpunkte der Muster. Es gibt ein zusätzliches Muster 0 welches alle LEDs abschaltet. Dieses Muster wird verwendet, wenn der Eingang der Funktion 0 ist. Dieses Feld benötigt man, wenn man das Muster per DCC Ein- und Ausschalten will.
Die Einsprung Punkte werden über die im Feld „Goto Aktivierung“ angegebene Funktion bestimmt. Für das Beispiel werden die Punkte zufällig alle 10 – 20 Sekunden ermittelt: „RandomTime(10 Sek, 20 Sek)“.
Diese Methode ist einfach anzuwenden. Man definiert das gewünschte Muster und schickt es mit dem „Programm Generator“ Knopf zum Prog_Generator und von dort aus zum Arduino.
Das sieht dann so aus:
Bild
Der Nachteil dieser Methode ist allerdings die Limitierung der „Dauer“ Spalten auf 30 Einträge. Bei gleichen Zeiten oder immer wiederkehrenden Zeiten ist das kein Problem. Das Programm wiederholt die Einträge der Dauer Zeile, wenn keine weiteren Werte definiert sind.


2. Mehrere Muster

Wenn man die Zeilen von Hand bearbeiten will, dann kann man diese Beschränkung in gewisser Weise umgehen. Dazu legt man für jedes Muster eine eigne Konfiguration an. In der angehängten Datei sind das die Beispiele „Lauflicht_rechts“, „Lauflicht_links“ und „Lauflicht Breit“. Dazu habe ich jeden Abschnitt in eine eigne Konfiguration kopiert. Hier wird nur eine Zeit verwendet:
Bild
So werden drei Pattern Zeilen generiert welche „von Hand“ in den Prog_Generator kopiert und ergänzt (grün markierten Bereiche) werden müssen:
Bild
Ein Vorteil dieser Methode ist, dass man die Einzelnen Muster separat erstellen und Testen kann. Es stehen auch weitere Funktionen wie z.B. der „PM_PINGPONG“ zur verfügung.

Der Trick in dem Bild oben ist die Verwendung der symbolischen Variable „#LocInCh“. Sie enthält ein die Nummer der nächste freien Variable.
Die „RandMux()“ Funktion hat die folgenden Parameter (Siehe „MobaLedLib Ein kurzer Ueberblick.docx“ :
2.7.23 RandMux( DstVar1, DstVarN, InCh, Mode, MinTime, MaxTime)
Die „RandMux()“ Funktion aktiviert zufällig einen der Ausgänge, die über die Zahlen „DstVar1“ bis „DstVarN“ definiert werden. „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.
Den Satz „„DstVar1“ wird aktiviert, wenn …“ habe ich eben erst in der Dokumentation ergänzt, weil ich selber darüber gestolpert bin.
In Dem Beispiel wird diese Zeile benutzt:

Code: Alles auswählen

RandMux(#LocInCh, #LocInCh+3, #InCh, RM_NORMAL, 10 Sek, 20 Sek)
Damit werden 4 Zielvariablen definiert: #LocInCh+0 ... #LocInCh+3.
Die erste Variable wird nur aktiviert, wenn der Eingang der „RandMux“ Funktion 0 ist. Solange kein DCC Kanal für die Zeile spezifiziert ist wird der Eingang immer auf 1 gesetzt.
Die folgenden drei Variablen werden zum Aktivieren der Musterzeilen benutzt:

Code: Alles auswählen

APatternT1(#LED,128,#LocInCh+1,12,0,128,0,PF_NO_SWITCH_OFF,300 ms,1,128,0,64,0,32,0,0)
APatternT1(#LED,128,#LocInCh+2,12,0,128,0,PF_NO_SWITCH_OFF,500 ms,0,4,8,16,32,0,0,0)
APatternT1(#LED,128,#LocInCh+3,12,0,128,0,PF_NO_SWITCH_OFF,100 ms,4,64,2,36,65,146,32,9,144,0,8,0,0,0)
Eine Besonderheit ist der Schalter „PF_NO_SWITCH_OFF“. Damit wird dem Programm mitgeteilt, dass es die LEDs nicht ausschalten soll wenn der Eingang der Pattern Funktion 0 ist. Das ist wichtig, weil sonst jede nicht per Zufall aktivierte Zeile die LEDs ausschalten würde.
Die Einträge in den Spalten „LEDs“ und „Loc InCh“ müssen ebenfalls „per Hand“ gemacht werden.
=> Die zweite Methode kann mehrere Zeitabschnitte verwalten ist aber komplizierter zu handhaben.


Kirmes.zip
@Misha:
Reicht die Erklärung? Wenn nicht, dann frag nach.


@Alle:
Vielleicht findet sich mal einer der all den Mist den ich so verzapfe ordentlich zusammen schreiben will damit man die Beiträge nicht aus den vielen Forenseiten zusammensuchen muss.


Hardi
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Haltet Euch unbedingt von diesen Seiten fern:
͏͏͏ viewtopic.php?f=7&t=165060
͏͏͏ https://wiki.mobaledlib.de/
sonst wird Eure Anlage niemals fertig…

Unsere Anlage findet Ihr unter meinem Profil bei „Webseite“

WolfHo
InterRegio (IR)
Beiträge: 125
Registriert: Do 10. Okt 2019, 18:41
Nenngröße: N
Stromart: digital
Steuerung: Intellibox, Railware, Arduino
Gleise: Arnold
Wohnort: Dietzenbach
Alter: 75
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#959

Beitrag von WolfHo »

Hallo Ronny,

ich würde gerne die Platinenversion "4fach komplett mit Printklemmen" haben, wann sind die wieder lieferbar? Ich könnte die Klemmen auch selbst auflöten, müsste dafür aber das Rastermaß wissen. Überhaupt wäre es gut, auch die Abmessungen der Platinen zu kennen, vielleicht sogar eine Zeichnung.

Gruß Wolf
SpurN Arnold Gleis 60 m, Anlage 2,50x0,70 m, Sbhf 16 Gl., Bhf 7 Gl., BW mit Drehscheibe, 50 Loks, Epoche 3, Fahren IBox I Com2, Booster LDT DB-4; Schalten S-DEC-4, WDECN-TN; Melden HSI-88 (Com3), RM-GB-8(-N). Steuerung Railware 7.34, PC: Core i5 750 , 8 GB RAM, Win10 pro 64Bit
Benutzeravatar

Worldworms
EuroCity (EC)
Beiträge: 1415
Registriert: Mi 4. Feb 2015, 13:22
Nenngröße: H0
Stromart: DC
Steuerung: Traincontroller, MobaLedLib
Gleise: Piko A
Wohnort: Höslwang
Alter: 46
Kontaktdaten:
Deutschland

Re: MobaLedLib: Beginn einer neuen Ära mit Windows Konfigurationstool. Programmieren war Gestern ... ist ein Jahr alt

#960

Beitrag von Worldworms »

Hallo Wolf,

Aktuell ist alles im Zulauf, neue Platinen, WS2811, und die Printklemmen. Ich hoffe das alles im Laufe der Woche bei mir eintrifft.
Die Ausgänge haben ein Rastermaß von 2,54mm. Die 4er Platinen haben die Ausmaße 69,5x34,5mm die 2er Platinen 50,5x34,5mm.
Bei den letzten Platinen waren auch die Ausgänge R & G vertauscht, was laut Hardi dem verwendeten Treiber geschuldet ist. Man könnte das Softwareseitig drehen, aber dann passt das bei den 2812 nicht mehr. Bei den neuen Platinen habe ich das Hardwareseitig getauscht, so das das jetzt dann auch mit Hardis Treiber übereinstimmt.

Sag mir wie viele du brauchst, ich würde mich dann bei dir melden, sobald die Einzelteile bei mir sind.

Gruß
Ronny
Hier gehts von Bad Endorf nach Obing
Bild
Antworten

Zurück zu „Software und Hardware“