Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
anleitungen:effekte_mll [2022/03/15 21:27] – [LED Nummer manipulieren] raily74 | anleitungen:effekte_mll [2024/04/09 16:39] (aktuell) – [LED-Werte als Variable] moba_nick | ||
---|---|---|---|
Zeile 8: | Zeile 8: | ||
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 [[anleitungen: | 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 [[anleitungen: | ||
+ | |||
+ | <WRAP round tip 60%> | ||
+ | Die in einem belebten Haus verbauten WS2812B RGB-LEDs lassen sich auch temporär als [[anleitungen: | ||
+ | </ | ||
+ | |||
+ | |||
=== Minimale Anzahl der zufällig aktiven Beleuchtungen === | === Minimale Anzahl der zufällig aktiven Beleuchtungen === | ||
Zeile 105: | Zeile 111: | ||
| SKIP_ROOM | | SKIP_ROOM | ||
- | === Beispiel | + | ==== Belebtes Haus mit individuellen Schaltzeiten ==== |
- | | + | |
+ | {{: | ||
+ | Das belebte Haus wie zuvor beschrieben mit der Möglichkeit abweichende Schaltzeiten anzugeben. Damit ist es auch möglich ein Haus immer " | ||
==== Straßenlaternen ==== | ==== Straßenlaternen ==== | ||
{{: | {{: | ||
Zeile 499: | Zeile 507: | ||
{{: | {{: | ||
- | Mit dem „CopyLED()“ Befehl wird die Helligkeit der drei Farben | + | Mit dem „CopyLED()“ Befehl wird die Helligkeit der drei Farben |
- | Wenn zwei RGB LEDs das gleiche zeigen sollen, dann kann man das auch durch die elektrische Verkabelung erreichen. | + | |
+ | Wenn zwei RGB LEDs das gleiche zeigen sollen, dann kann man das auch durch die [[hilfestellungen: | ||
==== LED-Werte als Variable ==== | ==== LED-Werte als Variable ==== | ||
{{: | {{: | ||
- | Mit dieser Funktion können LED Werte welche | + | {{bilder: |
+ | |||
+ | === Zielvariable === | ||
+ | Hier wird ein Variablen-Name angegeben, der im weiteren zur Steuerung | ||
+ | |||
+ | === LED-Nummer Offset === | ||
+ | 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 | ||
+ | |||
+ | {{: | ||
+ | \\ | ||
+ | |||
+ | 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. \\ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === Vergleichstyp === | ||
+ | Es gibt 6 Vergleichswerte \\ | ||
+ | ^ Operator | ||
+ | | = | 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, | ||
+ | | 0 0 1 1 | LED-Kanal (3) | | ||
+ | | 0 1 0 1 | Vergleich (5) | | ||
+ | | - - - - - - | | | ||
+ | | 0 0 0 1 | (operand1 & operand2) – Ergebnis ist wahr | | ||
+ | |||
+ | == Beispielcode== | ||
+ | | 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 | ||
+ | \\ | ||
+ | === Vergleichswert === | ||
+ | |||
+ | Hier wird der Wert eingetragen, | ||
==== Variable für 256 Zustände erstellen ==== | ==== Variable für 256 Zustände erstellen ==== | ||
{{: | {{: | ||
Zeile 535: | Zeile 593: | ||
INCH_< | INCH_< | ||
Bei Selectix < | Bei Selectix < | ||
+ | |||
+ | === Beispiel des Variablen-Namen (hier DCC) === | ||
+ | * INCH_DCC: | ||
+ | * INCH_DCC_13_RED | ||
+ | * INCH_DCC_13_GREEN | ||
+ | |||
+ | === Beispiel einer Programmierung === | ||
+ | |||
+ | Hier soll ein Andreaskreuz aktiviert werden durch 2 DCC-Adressen: | ||
+ | {{bilder: | ||
+ | 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. | ||
+ | |||
===== Automatisierung ===== | ===== Automatisierung ===== | ||
==== Zeitplan ==== | ==== Zeitplan ==== | ||
Zeile 611: | Zeile 682: | ||
<wrap em> | <wrap em> | ||
- | Will man vom ersten WS281x in der Kette den Rot-Kanal (1) und vom zweiten WS281x in der Kette den Blau-Kanal (3), muss " | + | Will man vom ersten WS281x in der Kette den Rot-Kanal (1) und vom zweiten WS281x in der Kette den Blau-Kanal (3), muss " |
{{: | {{: | ||
Zeile 827: | Zeile 898: | ||
Auf diesem Led Kanal wird das DMX512 Protokoll ausgegeben | Auf diesem Led Kanal wird das DMX512 Protokoll ausgegeben | ||
+ | ====== Effekte - Sound ====== | ||
+ | |||
====== Sound Funktionen für das MP3-TF-16P Modul ====== | ====== Sound Funktionen für das MP3-TF-16P Modul ====== | ||
+ | ===== Hauptplatine ===== | ||
+ | |||
+ | Soundsteuerung mit der 8xMP3-Multi-Soundplatine. \\ | ||
+ | {{bilder: | ||
+ | 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: | ||
+ | Beispiel einer Programmierung im Prog_Generator: | ||
+ | {{bilder: | ||
+ | |||
+ | Bezeichnung Beschreibung | ||
+ | | Soundmodul wählen | ||
+ | | 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% | | ||
+ | |||
+ | ===== Soundmodul wählen ===== | ||
+ | |||
+ | 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. | ||
+ | {{bilder: | ||
+ | Beispiel: KEY80_P1\\ | ||
+ | | Soundmodul | ||
+ | | #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, | ||
+ | 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: | ||
+ | ===== Titel # abspielen ===== | ||
+ | |||
+ | Track # auf einem angegeben Soundkanal starten (Rootverzeichnis). | ||
+ | Sound Kanal 0 – 7 (entspricht Soundmodul 1 – 8) | ||
+ | Tracknummer 1 – 256 | ||
+ | ===== Zufälligen Titel abspielen ===== | ||
+ | |||
+ | |||
+ | Im Makro wird ein Bereich von Track x bis Track y angegeben. Aus diesem Bereich wird ein zufälliger Track abgespielt. | ||
+ | |||
+ | ===== Wiedergabe ===== | ||
+ | Setzt die Sound Wiedergabe fort, nach dem sie mit dem Pause-befehl unterbrochen wurde. | ||
+ | ===== Pause ===== | ||
+ | |||
+ | Hält die Sound Wiedergabe an. | ||
+ | ===== Endloswiedergabe ===== | ||
+ | |||
+ | Stellt den Wiederholmodus ein | ||
+ | LOOP_ALL: | ||
+ | LOOP_FOLDER: | ||
+ | LOOP_ONE: | ||
+ | LOOP_OFF: | ||
+ | ===== Lauter ===== | ||
+ | |||
+ | Lautstärke erhöhen. | ||
+ | ===== Leiser ===== | ||
+ | |||
+ | Lautstärke reduzieren. | ||
+ | ===== Lautstärke definieren ===== | ||
+ | |||
+ | Der angegebene Prozentwert wird je nach Soundmodul in einen passenden Lautstärkenwert umgewandelt, | ||
+ | |||
==== Sound_Prev ==== | ==== Sound_Prev ==== | ||
Die Sound_Prev Funktion spielt die vorherige Sounddatei ab. | Die Sound_Prev Funktion spielt die vorherige Sounddatei ab. |