Der Einstieg in die MobaLedLib:
Stammtische
Die wichtigsten Seiten & Links:
aktuell verwendete Versionen
- offizieller Release
- aktuelle Betaversion
Dies ist eine alte Version des Dokuments!
Nicht alles was in der MobaLedLib möglich ist, lässt sich auch im Dialogfeld unterbringen. Auch sind die Wünsche der einzelnen Anwender doch sehr unterschiedlich. In diesem Kapitel sollen Abläufe/Sketches vorgestellt werden, die funktionieren und selbst in den Prog_Generator zu erfassen sind. Positiver Nebeneffekt, durch die Erfassung wird eine gewisse Lernkurve erzielt, die im Idealfall dazu führt, dass man durch Änderung oder Verwendung einzelner Befehle eigene Abläufe generiert, die dann gerne wieder hier veröffentlicht werden können.
- Beispiel einer Discobeleuchtung:
https://www.youtube.com/embed/UjEwNN2QuH8
Mit einer oder mehreren RGB-LED kann der Discobetrieb sowie das „Arbeitslicht“ bei Partyende dargestellt werden. Für die Discobeleuchtung wird das Flashlight benutzt und bei jeder LED die 3 Kanäle mit verschiedenen Zeiten einzeln angesteuert. Die LED ist doppelt zugewiesen, es ist entweder nur Disco oder Tagesmodus aktiviert. Die Umschaltung wurde über einen einfachen Schalter gelöst, ist aber auch über DCC-Ansteuerung möglich. Damit Ihr das gleiche Ergebnis wie in dem Video bekommt, sind im Prog_Generator folgende Zeilen zu erfassen:
Das Umschalten funktioniert auch ohne DCC. Der Trick ist die erste Zeile. Der Befehl „#define TEST_TOGGLE_BUTTONS“ aktiviert die drei Taster der Hauptplatine zum Simulieren der ersten drei DCC Befehlen. (funktioniert nicht, bei Minimalbelegung der Hauptplatine!) Das geht auch wenn kein zweiter (DCC) Arduino vorhanden ist.
Die Vorgaben für den Flash-Befehl werden über den Button Dialog in den Prog_Generator gezogen. Pro RGB-LED ist es notwendig drei Zeilen zu generieren (Rot / Grün / Blau). Je nach Größe der Disco können mehrere RGB-LED eingesetzt werden. Die Zeilen mit Flash… C1, C2, C3 sooft kopieren wie RGB-LED´s angesteuert werden sollen Für das Arbeitslicht kann man auf den Dialog „House“ zurückgreifen. Wichtig ist hier, dass der Eingang invertiert wird. Dann ist entweder die Disko oder das normale Licht an.
Dadurch dass die „Minimale und Maximale Anzahl der zufällig aktiven Beleuchtungen“ gleich der Anzahl der LEDs ist werden alle LEDs angeschaltet. Durch die Verwendung der „Individuellen Zeiten“ von 0 werden die Lichter sofort aktiviert. Mit dem Schalter „Eingang invertieren“ ist die Beleuchtung an, wenn die Disco aus ist. Hier wurde als Beispiel der Effekt „Neon_LIGHTL“ verwendet, mit dem mehrere Neonlichter in einem größeren Raum simuliert werden. (Hier können auch andere Effekte ausgewählt werden-einfach mal ausprobieren!)
Wenn man auch einen „Tag“ Modus haben will bei dem weder Neonlichter noch Disco aktiv ist, dann kann man zwei DCC Adressen vergeben. Das sieht dann so aus:
Man könnte die Disco noch weiter perfektionieren. Es könnten verschiedene Beleuchtungsvarianten erstellt werden welche zu verschiedenen Musikstücken passen (Langsam, Schnell, …). Man könnte eine Spiegelkugel einbauen und, und, und …
Tipp für eine Variante: Nutzt statt „Flash“ den Dialog „Blinker“ oder „Blinker-HD“, dann habt Ihr auch eine Variante für Schmuse-Songs!
Dieses Beispiel haben Dominik (Moba_Nicki) und Hardi zur Verfügung gestellt.
Beispiel Schweißlicht von Holger
Mit diesem Beispiel soll die Erzeugung eines schweißlichtähnlichen Lichteffekts mit einer RGB-LED und das zeitgleiche Abspielen der entsprechenden MP3-Sounddatei gezeigt werden. Der Sound liegt als MP3-Datei mit einer Dauer von ca. 3 Sekunden auf ein JQ6500 Modul vor. Details zum JQ6500 Modul im WIKI-Link. Entsprechend wird das Schweißlicht ebenfalls eine Dauer von ca. 3 Sekunden haben. Längere Sounddateien können über entsprechende MP3-Bearbeitungsprogramme gekürzt und an eigene Vorstellungen angepasst werden. Harte Schnitte sollten im Fall des Schweißgeräuschs kein Problem sein.
Zunächst den Pattern_Configurator öffnen und ein neues Blatt anlegen, die Einstellungen nicht übernehmen und einen Namen nach eigener Wahl vergeben, hier Welding_2. (Bild Neues Blatt)
In dem neuen Blatt sind im gelb unterlegten Teil die Einstellungen wie im folgenden Bild gezeigt vorzunehmen.
(Bild Einstellungen)
Anmerkungen dazu:
Nun können wir die Tabellen befüllen.
(Bild Pattern_Conf)
Die von mir eingetragenen Werte für die Zeiten und die Werte sind nur ein Beispiel und können natürlich nach eigenen Vorstellungen fast beliebig angepasst werden.
Anhaltswerte für den JQ6500
* SOUND 5 37 * SOUND 4 49 * SOUND 3 70 * SOUND 2 134 * SOUND 1 255
Nun können wir die Konfiguration mit einem Klick auf die entsprechende Taste an den Progarmm_Generator schicken.
(Bild Prog_Gen_1)
Wir wollen jetzt das Programm nicht direkt zum Arduino schicken und auch nicht direkt zurück zum Pattern_Configurator zurückkehren. Also im Text aufgefordert nur eine Zeile im ProgGen anklicken, in die das Muster geschrieben werden soll. Im nächsten Fenster übernehmen wir den vorgegebenen Wert „0“, Standard LEDs. Nach der Bestätigung mit „OK“ sollte das Ergebnis wie in Zeile 47 aussehen:
(Bild Pg_Gen_3)
Nach der Eingabe einer Adresse und Auswahl eines Tasters können wir unser Ergebnis wie gewohnt zum Arduino schicken und testen.
(Bild Prog_Gen_4)
Mit jedem Aufruf wird die Funktion einmal ausgeführt. Ich habe die Funktion noch mit der Random-Funktion verknüpft, die über einen Ein/Aus-Befehl aktiviert wird und Schweißlicht und Geräusch in unregelmäßigen Abständen aufruft.
(Bild Prog_Gen_5)
In der Random-Funktion habe ich folgende Werte eingegebe:
(Bild Pro_Gen_5_random)
Über die Zielvariable WL1 wird unsere Schweißlichtfunktion aufgerufen. In meinem Beispiel kann über die DCC-Befehle 50 bis 56 weiterhin das JQ6500-Modul wie gewohnt gesteuert werden. Dazu muss über dir NEXT_LED-Funktion der Sprung zur nächsten LED in der Kette rückgängig gemacht werden – NEXT_LED -1! Wie anfangs erwähnt können die beiden verbleibenden Ausgänge auf dem Sound-Modul für LEDs, zum Beispiel Außenbeleuchtung des Lokschuppens, unter Verwendung von „NEXT_LED -1“ genutzt werden, Beispiel in der Programmzeile 41 bis 44.