Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
anleitungen:effekte_mll [2022/03/20 12:37] – [Belebtes Haus] raily74 | anleitungen:effekte_mll [2025/06/21 22:28] (aktuell) – [LED-Werte als Variable] raily74 | ||
---|---|---|---|
Zeile 10: | Zeile 10: | ||
<WRAP round tip 60%> | <WRAP round tip 60%> | ||
- | Die in einem belebten Haus verbauten WS2812B RGB-LEDs lassen sich auch als [[anleitungen: | + | Die in einem belebten Haus verbauten WS2812B RGB-LEDs lassen sich auch temporär |
</ | </ | ||
Zeile 111: | 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 435: | Zeile 437: | ||
====== Dynamik ====== | ====== Dynamik ====== | ||
===== Servo ===== | ===== Servo ===== | ||
- | Nach erfolgreichem **[[anleitungen/bauanleitungen: | + | Nach erfolgreichem **[[anleitungen:bauanleitungen: |
==== Servo mit 2 Positonen ==== | ==== Servo mit 2 Positonen ==== | ||
{{: | {{: | ||
Zeile 505: | 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 | + | {{bilder: |
+ | |||
+ | Mit dieser Funktion | ||
+ | === 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 541: | Zeile 594: | ||
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 706: | Zeile 772: | ||
Eine monostabile Kippstufe, auch monostabiler Multivibrator, | Eine monostabile Kippstufe, auch monostabiler Multivibrator, | ||
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. | 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. | ||
- | /==== Mono-Flop ==== | + | / |
+ | ==== Mono-Flop ==== | ||
{{: | {{: | ||
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, | 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, | ||
- | <WRAP round tip 60%> | + | <WRAP round tip 100%> |
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.\\ | 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 " | Ein weiteres Beispiel könnte ein Rauchgenerator sein. Um zu vermeiden, dass dieser " | ||
Zeile 743: | Zeile 810: | ||
Der Mono Flop wird zurückgesetzt wenn der Reset Eingang 1 ist. | Der Mono Flop wird zurückgesetzt wenn der Reset Eingang 1 ist. | ||
Dieses Monoflop hat zwei Ausgangsvariablen welche abwechselnd aktiv sind. | Dieses Monoflop hat zwei Ausgangsvariablen welche abwechselnd aktiv sind. | ||
- | ===== Taster beleuchtet ===== | ||
- | ==== Taster beleuchtet, 1 Funktion ==== | ||
- | {{: | ||
- | |||
- | Die "Knopf Druck Aktion" | ||
- | ==== Taster beleuchtet, 2 Funktionen ==== | ||
- | {{: | ||
- | Die "Knopf Druck Aktion" | + | ====== Taster ====== |
- | ==== Taster beleuchtet, 3 Funktionen | + | <WRAP center round tip 100%> |
- | {{: | + | Der Bereich |
- | + | Die Seite ist ab sofort hier zu finden: [[anleitungen: | |
- | Die "Knopf Druck Aktion" | + | </WRAP> |
- | ==== Taster beleuchtet, 4 Funktionen | + | |
- | {{: | + | |
- | + | ||
- | Die "Knopf Druck Aktion" | + | |
- | ==== Taster | + | |
- | {{: | + | |
- | + | ||
- | Die "Knopf Druck Aktion" | + | |
- | ===== 2 Taster beleuchtet ===== | + | |
- | ===== RGB-Taster beleuchtet ===== | + | |
- | ==== RGB-Taster beleuchtet, 1 Funktion ==== | + | |
- | {{: | + | |
- | + | ||
- | Die "Knopf Druck Aktion" | + | |
- | ==== RGB-Taster beleuchtet, 2 Funktionen ==== | + | |
- | {{: | + | |
- | + | ||
- | Die "Knopf Druck Aktion" | + | |
- | ==== RGB-Taster beleuchtet, 3 Funktionen ==== | + | |
- | {{: | + | |
- | + | ||
- | Die "Knopf Druck Aktion" | + | |
- | ==== RGB-Taster beleuchtet, 4 Funktionen ==== | + | |
- | {{:bilder: | + | |
- | + | ||
- | Die "Knopf Druck Aktion" | + | |
- | ==== RGB-Taster beleuchtet, 5 Funktionen ==== | + | |
- | {{: | + | |
- | + | ||
- | Die "Knopf Druck Aktion" | + | |
- | ===== 2 RGB-Taster beleuchtet ===== | + | |
- | ===== Taster unbeleuchtet ===== | + | |
- | ===== 2 Taster unbeleuchtet ===== | + | |
===== Status-LED ===== | ===== Status-LED ===== | ||
====== Konfiguration ====== | ====== Konfiguration ====== | ||
Zeile 800: | Zeile 827: | ||
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. | 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. | ||
===== Pinnummern ===== | ===== Pinnummern ===== | ||
+ | ==== Pins Schalter Gruppe A definieren ==== | ||
+ | Definiert die verwendeten Eingangs-Pins für die analogen Schalter (Gruppe A)\\ | ||
+ | Die Liste enthält einen oder mehrere analoge Pins das Arduinos welche per Komma getrennte sind. Pro Eingangs Pin können 10 analoge Schalter eingelesen werden (Standard: A6) | ||
+ | ==== Pins Schalter Gruppe B definieren ==== | ||
+ | Definiert die verwendeten Eingangs-Pins für die Gruppe B (Border)\\ | ||
+ | Die Gruppe B ist für Taster (oder Schalter) am Anlagenrand (Border) gedacht. Hier wird normalerweise nur ein Eingangs Pin benutzt. (Standard: A2). | ||
+ | Mit einer PushButon_4017 Platine können 10 Taste eingelesen werden. Durch Kaskadierung mehrerer Platinen kann die Anzahl der Eingänge erhöht werden. | ||
+ | ==== Pins Schalter Gruppe C definieren ==== | ||
+ | Definiert die verwendeten Eingangs-Pins für die Gruppe C (Console)\\ | ||
+ | Mit der Gruppe C können sehr viele Schalter eingelesen werden. 80 Schalter können mit einer PushButton_4017 Platine erfasst werden. Durch Kaskadierung mehrerer Platinen kann die Anzahl der Eingänge erhöht werden. (Standard: 2 10 11 12 A5) | ||
+ | ==== Pins Schalter Gruppe D definieren ==== | ||
+ | Definiert die verwendeten Eingangs-Pins für die Gruppe D (Direct) - direkt auf der Hauptplatine\\ | ||
+ | Auf der Hauptplatine befinden sich 3 Taster. Diese können direkt verwendet werden. Die verwendeten Anschlüsse und einige Weiter sind auch auf den Stecker " | ||
+ | ==== Pins LED Bus definieren ==== | ||
+ | Definiert die Ausgangs-Pins zur Ansteuerung der LEDs\\ | ||
+ | |||
+ | Mit der MobaLedLib können mehrere LED Kanäle angesteuert werden. Der erste Kanal wird für die normalen LEDs benutzt. Kanal 2 ist für die Taster gedacht.\\ | ||
+ | **Arduino: | ||
+ | **ESP32:** Es können bis zu 8 Kanäle benutzt werden. (Standard: 27 32 16 14 18 19 23 0 17)\\ | ||
+ | |||
+ | **DMX:** Bei Verwendung von DMX erhöht sich die Anzahl der Kanäle um 1.\\ | ||
+ | **Virtuelle Pins:** Bei Verwendung des virtueller Pins ' | ||
+ | |||
+ | Virtuelle Pins eignen sich perfekt für die Funktion [[effekte_mll# | ||
+ | |||
+ | Im Prinzip kann man jeden LED-Kanal, den man nicht benötigt, als " | ||
+ | |||
+ | Für den Fall, dass alle vorhandenen LED-Kanäle verwendet werden sollen, muss man zunächst alle verwendeten oder einfach alle möglichen LED-Kanäle des jeweiligen Arduinos/ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Das gezeigte Beispiel zeigt die Definition für den Arduino Nano. Hier wurden der LED-Kanal 0 (6), der PushButtonKanal 1 (A4), der LED-Kanal2 (2) und der virtuelle Kanal V extra definiert. Bei den Zahlen in den Klammern handelt es sich um die Anschluss-Pins am Arduino.\\ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | In der Programmierung ist der virtuelle Kanal also Kanal 3.\\ | ||
+ | Ablauf: Es wird mit der DCC Adresse 1 die LED auf dem virtuellen Kanal 3 eingeschaltet und sobald der Helligkeitswert größer als 1 ist dann wird die Variable " | ||
+ | |||
+ | Für den ESP gilt das Gleiche, hier müssen auch die verwendeten Kanäle plus dem V-Kanal extra definiert werden. | ||
===== Tag/Nacht ===== | ===== Tag/Nacht ===== | ||
==== Fotowiderstand aktivieren ==== | ==== Fotowiderstand aktivieren ==== | ||
Zeile 826: | Zeile 892: | ||
{{: | {{: | ||
- | 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: | + | Dieses Makro aktiviert die Erweiterungen für den Esp32. Diese Erweiterungen befinden sich aber noch in der Entwicklungsphase. |
- | [[anleitungen: | + | Um den Esp32 mit der Lichtmaschine (100 oder 101) zu verwenden, muss diese Adapterplatine auf die Hauptplatine aufgesteckt werden: [[anleitungen: |
+ | Mit der Lichtmaschine Pro ist der ESP32 ja schon vorhanden. | ||
Mit dem Esp32 können deutlich mehr Leds und Effekte als mit dem normalen Arduino Nano angesteuert werden. | Mit dem Esp32 können deutlich mehr Leds und Effekte als mit dem normalen Arduino Nano angesteuert werden. | ||
+ | |||
+ | Um die erweiterten Möglichkeiten zu nutzen muss im Programm-Generator ein Eintrag gemacht werden: | ||
+ | {{: | ||
+ | |||
+ | Damit wird im Programm-Manager folgendes eingetragen: | ||
+ | |||
+ | #ifdef ESP32 | ||
+ | #define USE_ESP32_EXTENSIONS | ||
+ | #endif | ||
+ | |||
+ | Um das Display der Lichtmaschine Pro zu aktivieren ist ein weiterer Eintrag notwendig: | ||
+ | #ifdef ESP32 | ||
+ | #define USE_ESP32_EXTENSIONS | ||
+ | #define USE_UI | ||
+ | #endif | ||
+ | | ||
+ | {{: | ||
+ | |||
+ | **Ab der Software 3.3.2G bzw. 3.4.0 gibt es noch weitere Möglichkeiten.** | ||
+ | |||
+ | Je nach verwendeten Display (0,96" oder 1.3" Display) kann es zu Pixelfehlern am rechten Rand des Display' | ||
+ | {{: | ||
+ | Da gibt es einen Parameter, der die Displaygröße einstellt: | ||
+ | |||
+ | OLED_TYP 1 ist das 0,96" Display | ||
+ | OLED_TYP 2 ist das 1,3" Display und ist der Standard (auch wenn nicht eingetragen) | ||
+ | Eingetragen wird\\ | ||
+ | #ifdef ESP32 | ||
+ | #define USE_ESP32_EXTENSIONS | ||
+ | #define USE_UI | ||
+ | #define OLED_TYP 2 | ||
+ | #endif | ||
+ | \\ | ||
+ | \\ | ||
+ | Des weiteren kann auch die **MobaLedLib-Uhrzeit** angezeigt werden. Voraussetzung ist allerdings die Zeile " | ||
+ | Mit dem Eintrag | ||
+ | UI_MLLTIME 1 | ||
+ | Das kann dann so im Excelblatt stehen: | ||
+ | # | ||
+ | #define USE_ESP32_EXTENSIONS | ||
+ | #define USE_UI | ||
+ | #define UI_MLLTime 1 | ||
+ | #endif | ||
+ | |||
+ | Das ergibt dann die Anzeige: | ||
+ | {{: | ||
+ | \\ | ||
+ | \\ | ||
+ | Für Nutzer des **Fotowiderstandes (LDR)** gibt es die Möglichkeit, | ||
+ | |||
+ | UI_MLLTime 2 | ||
+ | oder | ||
+ | UI_MLLTime 3 | ||
+ | |||
+ | Bei " | ||
+ | {{: | ||
+ | |||
+ | Bei " | ||
+ | {{: | ||
+ | \\ | ||
+ | Die angezeigten Werte sind wie die LDR-Werte, die über die serielle Schnittstelle ausgegeben werden. " | ||
+ | \\ | ||
+ | \\ | ||
+ | **Wie kann ich das ins Excel-Blatt eintragen? | ||
+ | Ich ziehe mir das Eingabefeld in Excel (oben über unseren Buttons) groß (also nach unten) und dann kann man die Werte problemlos eingeben. | ||
+ | Oder in einem externen Texteditor eintragen, alles kopieren und in das Excel-Feld einfügen. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
==== DMX512 Protokoll verwenden ==== | ==== DMX512 Protokoll verwenden ==== | ||
{{: | {{: | ||
- | Auf diesem | + | Auf diesem |
+ | |||
+ | <WRAP round info 70%> | ||
+ | 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, | ||
+ | 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 [[https:// | ||
+ | |||
+ | 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/ | ||
+ | DMX Adresse 1-3 rot/ | ||
+ | DMX Adresse 4-6 rot/ | ||
+ | DMX Adresse 7-9 rot/ | ||
+ | DMX Adresse 10-12 rot/ | ||
+ | |||
+ | Im ProgGenerator entspricht das 4 RGB Leds.\\ | ||
+ | Die DMX Adresse errechnet sich aus der Excel Spalte " | ||
+ | |||
+ | 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: [[https:// | ||
+ | Gemäß[[https:// | ||
+ | {{: | ||
+ | |||
+ | 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 = " | ||
+ | |||
+ | 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 " | ||
+ | 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..., | ||
+ | |||
+ | **Beispiel für Fortgeschrittene: | ||
+ | Dieser [[https:// | ||
+ | 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, | ||
+ | |||
+ | 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. \\ | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ====== 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. | ||
Zeile 915: | Zeile 1209: | ||
==== Sound_JQ6500_BG_Next_of_N_Reset ==== | ==== Sound_JQ6500_BG_Next_of_N_Reset ==== | ||
==== Sound_JQ6500_BG_Next_of_N ==== | ==== Sound_JQ6500_BG_Next_of_N ==== | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
==== Sound_ADKey ==== | ==== Sound_ADKey ==== | ||
==== Sound_JQ6500_ADKey ==== | ==== Sound_JQ6500_ADKey ==== |