<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.mobaledlib.de/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>MobaLedLib Wiki - anleitungen:prog_gen</title>
        <description></description>
        <link>https://wiki.mobaledlib.de/</link>
        <lastBuildDate>Fri, 10 Apr 2026 05:31:44 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wiki.mobaledlib.de/_media/logo.png</url>
            <title>MobaLedLib Wiki</title>
            <link>https://wiki.mobaledlib.de/</link>
        </image>
        <item>
            <title>datenuebernahme_formatierungen</title>
            <link>https://wiki.mobaledlib.de/anleitungen/prog_gen/datenuebernahme_formatierungen</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;formatierung_aus_alter_mll_datei_uebertragen&quot;&gt;Formatierung aus alter MLL Datei übertragen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Formatierung aus alter MLL Datei \u00fcbertragen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;formatierung_aus_alter_mll_datei_uebertragen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-57&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;problemstellung&quot;&gt;Problemstellung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Bei einem Update auf eine neue MLL Version bzw. einem Import einer MLL_PGF-Datei werden die eigenen Formatierungen nicht in die neue
Version übertragen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Problemstellung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;problemstellung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;58-237&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;die_loesung&quot;&gt;Die Lösung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Es werden zwei Excel Dateien geöffnet. &lt;br/&gt;

Das erste File mit der neusten Version mit den unformatierten Zeilen. &lt;br/&gt;

Das zweite File ist die neuste *.old Datei. Diese ist im MobaLedLib Ordner mit letzten Versionsnummer &lt;br/&gt;
(hier die aktuelle Ver 3.10) in &lt;span class=&quot;wrap_hi &quot;&gt;Dokumente &amp;gt; Arduino &amp;gt; MobaLedLib &amp;gt; Ver_3.1.0&lt;/span&gt;, &lt;br/&gt;
in diesem Beispiel ist es die Datei &lt;span class=&quot;wrap_em &quot;&gt;„Prog_Generator_MobaLedLib_Old_9.xlsm“&lt;/span&gt;, geöffnet. &lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/hilfestellungen/prog-gen-format/dateiauswahl.jpg?id=anleitungen%3Aprog_gen%3Adatenuebernahme_formatierungen&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:hilfestellungen:prog-gen-format:dateiauswahl.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/hilfestellungen/prog-gen-format/dateiauswahl.jpg?w=600&amp;amp;tok=5476cf&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;dateiauswahl.jpg&quot; alt=&quot;dateiauswahl.jpg&quot; width=&quot;600&quot; /&gt;&lt;/a&gt; &lt;br/&gt;

Jetzt können die Formate aus der “OLD Datei “ in die neue Datei übertragen werden.
&lt;br/&gt;

Dazu wird in der “Old Datei“ mit dem kleinen Pfeil links oben vor der Spaltenbezeichnung „A“ &lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/hilfestellungen/prog-gen-format/eckpfeil.jpg?id=anleitungen%3Aprog_gen%3Adatenuebernahme_formatierungen&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:hilfestellungen:prog-gen-format:eckpfeil.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/hilfestellungen/prog-gen-format/eckpfeil.jpg?w=160&amp;amp;tok=dbc31f&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;eckpfeil.jpg&quot; alt=&quot;eckpfeil.jpg&quot; width=&quot;160&quot; /&gt;&lt;/a&gt; &lt;br/&gt;

das gewünschte Excel Blatt mit der linken Maustaste aktiviert. &lt;br/&gt;

Das ganze Blatt ist dann grau hinterlegt. &lt;br/&gt;

Unter dem Menüpunkt Start wird mit dem Pinsel &lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/hilfestellungen/prog-gen-format/pinsel.jpg?id=anleitungen%3Aprog_gen%3Adatenuebernahme_formatierungen&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:hilfestellungen:prog-gen-format:pinsel.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/hilfestellungen/prog-gen-format/pinsel.jpg?w=160&amp;amp;tok=bd9541&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;pinsel.jpg&quot; alt=&quot;pinsel.jpg&quot; width=&quot;160&quot; /&gt;&lt;/a&gt; &lt;br/&gt;

das Format des ganzen Blattes mit der linken Maustaste übernommen. &lt;br/&gt;

Die Spalten und Zeilen sind dann mit einer grünen umlaufenden Linie umrandet. &lt;br/&gt;

Jetzt in dem neuen File das gleichnamige Excelblatt auswählen und mit dem Mauszeiger &lt;br/&gt;
den kleinen
Pfeil wieder mit der linken Maustaste aktivieren und mit dem nochmaligen Drücken das Format
übertragen. &lt;br/&gt;

Diese Prozedur wird dann mit jedem Excelblatt wiederholt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Die L\u00f6sung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;die_loesung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;238-1691&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;vorteile_dieser_loesung&quot;&gt;Vorteile dieser Lösung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Mit dem Übertragen der Formatierung werden nicht nur die Farben der Felder und Schriften übernommen, sondern auch bedingte Formatierungen. Diese sind im Programm Generator sehr hilfreich. Nutzt man ausschließlich die bedingte Formatierung, so kann man die Formatierung auf jede Arbeitsmappe übertragen und nicht nur auf das jeweils gleichnamige Excelblatt.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Für die Spalte „G“ beispielsweise sind folgende Regeln sinnvoll:&lt;br/&gt;

Neue Regel &amp;gt; Nur Zellen formatieren, die enthalten &amp;gt; Textinhalt &amp;gt; beginnt mit &amp;gt; …&lt;br/&gt;

a) „Verteiler“ &amp;gt; Formatieren… &amp;gt; Ausfüllen mit Hex-Wert (#666666), Schriftfarbe weiß, Schriftschnitt fett&lt;br/&gt;

b) „Objekt“ &amp;gt; Formatieren… &amp;gt; Ausfüllen mit Hex-Wert (#007554), Schriftfarbe weiß, Schriftschnitt fett&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/formatierungsregel_01.png?id=anleitungen%3Aprog_gen%3Adatenuebernahme_formatierungen&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:formatierungsregel_01.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/formatierungsregel_01.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Nun erscheinen alle Zellen mit dem Text „Verteiler Nr. X“ im dunklen Microsoft Office grau und alle Zellen mit dem Text: „Objekt: Musterhaus“ in Microsoft Excel grün. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Diese beiden Formatierungen führen dazu, dass alle Zellen in Spalte G, bei denen am Anfang das Wort „Verteiler“ oder „Objekt“ steht, automatisch farblich unterlegt werden. Das macht die Suche nach einem bestimmten Objekt sehr viel einfacher, ohne Filter oder die Suchfunktion zu nutzen.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/formatierung_pg.png?id=anleitungen%3Aprog_gen%3Adatenuebernahme_formatierungen&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:formatierung_pg.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/formatierung_pg.png?w=800&amp;amp;tok=1a9f26&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Im oben gezeigten Bild wurden zusätzlich die Spalten A und R bis Z sowie die Felder A1 bis Z1 im Microsoft Hellgrau eingefärbt (Hex-Wert #b1b1b1) und die Zeile 2 mit einer bedingten Formatierung im Microsoft dunkelgrau mit weißer, fetter Schrift gefärbt (Neue Regel &amp;gt; Nur Zellen formatieren, die enthalten &amp;gt; Zellwerte &amp;gt; größer als &amp;gt; 0“).&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Die so formatierte Tabelle macht aus der reinen Excel Arbeitsmappe optisch fast ein eigenständiges Programm. Die bedingten Formatierungen lassen sich auch auf alle anderen Blätter übertragen, da Zellen nur dann eingefärbt werden, wenn sie mit dem entsprechenden Wort beginnen. &lt;br/&gt;

Selbstverständlich können Zellen unabhängig von der bedingten Formatierung händisch eingefärbt werden. Hier muss man aber aufpassen, da sich händische Formatierungen nur auf die identische Arbeitsmappe einer anderen Version übertragen lassen. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Hier nochmal die drei verwendeten Farben:&lt;br/&gt;

&lt;strong&gt;&lt;span style=&#039;color:#b1b1b1; &#039;&gt;Microsoft Hellgrau:&lt;/span&gt;&lt;/strong&gt; #b1b1b1&lt;br/&gt;

&lt;strong&gt;&lt;span style=&#039;color:#666666; &#039;&gt;Microsoft Dunkelgrau:&lt;/span&gt;&lt;/strong&gt; #666666&lt;br/&gt;

&lt;strong&gt;&lt;span style=&#039;color:#007554; &#039;&gt;Microsoft Grün:&lt;/span&gt;&lt;/strong&gt; #007554&lt;br/&gt;

&lt;strong&gt;&lt;span style=&#039;color:#00979d; &#039;&gt;Arduino Türkis:&lt;/span&gt;&lt;/strong&gt; #00979d&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;ersteller_der_anleitung&quot;&gt;Ersteller der Anleitung&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Die Anleitung zum Übertragen des Formats wurde von Armin H. und die zur bedingten Formatierung von Michael (raily74) erstellt und mit seiner freundlichen Genehmigung in die Wiki übernommen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Vorteile dieser L\u00f6sung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vorteile_dieser_loesung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1692-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 05 May 2025 06:51:57 +0000</pubDate>
        </item>
        <item>
            <title>farbtabelle</title>
            <link>https://wiki.mobaledlib.de/anleitungen/prog_gen/farbtabelle</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;eigene_farbeinstellungen&quot;&gt;Eigene Farbeinstellungen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Manchmal ist es hilfreich, wenn man die Farben, welche von den WS2812B erzeugt werden abändert, &lt;br/&gt;

um z.B.: Qualitätsschwanken der LED-Charge oder auch die Gardinen der Modellbauhäuser zu kompensieren. &lt;br/&gt;

Es lassen sich aber auch die Helligkeitsstufen dreier Einzel-LEDs justieren, die an einem WS2811 angeschlossen sind. &lt;br/&gt;

Dazu steht im Programm-Generator das „Farbtestprogramm“ von Harold, sowie mehrere Makros für die Speicherung der Änderungen, zur Verfügung.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Eigene Farbeinstellungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;eigene_farbeinstellungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-511&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;anleitung&quot;&gt;Anleitung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Anleitung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;anleitung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;512-533&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;eigene_farbeinstellungen1&quot;&gt;Eigene Farbeinstellungen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_info plugin_wrap&quot;&gt;
&lt;p&gt;
Die Änderungen für die Farben betrifft alle RGB-LEDs, welche nach dem Eintrag „&lt;strong&gt;Set_ColTab&lt;/strong&gt;“ im Programm-Generator kommen und über eine veränderbare Farbe verfügen. &lt;br/&gt;
Die LEDs vor dem Eintrag werden durch die Änderungen nicht beeinflusst. &lt;br/&gt;
Die Änderungen wirken sich auch nur auf die änderbaren Licht-Makros aus.
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;p&gt;
&lt;span class=&quot;wrap_em &quot;&gt;Es können nur LEDs angesteuert werden, die dem Arduino bekannt sind. Wenn man 20 LEDs angeschlossen hat und nicht alle auswählen kann, bitte im Programm-Generator als letzte Zeile das Makro „RESERVE_LED(20)“ eintragen und zum Arduino hochladen. Danach sind die neuen LEDs auch verfügbar.&lt;/span&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Eigene Farbeinstellungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;eigene_farbeinstellungen1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;534-1221&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit6&quot; id=&quot;liste_der_veraenderbaren_farbmakros&quot;&gt;Liste der veränderbaren Farbmakros&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ROOM_COL0&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ROOM_COL1&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ROOM_COL2&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ROOM_COL3&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ROOM_COL4&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ROOM_COL5&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GAS_LIGHT D&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; GAS LIGHT&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; NEON_LIGHT D&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; NEON_LIGHT M&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; NEON_LIGHT&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ROOM_TV0 A&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ROOM_TV0 B&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ROOM_TV1 A&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ROOM_TV1 B&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SINGLE_LED&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; SINGLE_LED D&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;

&lt;p&gt;
Um die Farbeinstellungen aus der Farbtabelle zu verändern muss wie folgt vorgegangen werden. 
&lt;/p&gt;

&lt;p&gt;
Das Makro &lt;strong&gt;„Farbe und Helligkeit einstellen“&lt;/strong&gt; (ehem. Set_ColTab) im Programm-Generator aufrufen. Dieses startet automatisch den Farbtest. &lt;br/&gt;

&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbe_und_helligkeit_einstellen.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt; &lt;br/&gt;

&lt;br/&gt;

Bei dem Dialogfenster ob die letzte oder die Standardfarbtabelle geladen werden soll, kann man ohne Probleme auf „nein“ klicken. &lt;br/&gt;

Sollte die Farbtabelle bereits Änderungen enthalten, kann man diese einfach noch mal schließen und neu starten.&lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/farb1/farbtabelle_dialog4.jpg?id=anleitungen%3Aprog_gen%3Afarbtabelle&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:farb1:farbtabelle_dialog4.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbtabelle_dialog4.jpg?w=400&amp;amp;tok=9b92d7&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;farbtabelle_dialog4.jpg&quot; alt=&quot;farbtabelle_dialog4.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br/&gt;

&lt;br/&gt;

Dort dann die gewünschten Farben einstellen. &lt;br/&gt;

Jede geänderte Farbe muss dem jeweiligen Makro zugeordnet werden. &lt;br/&gt;

Dies erfolgt mir einem Rechtsklick auf das Farbfeld des gewünschten Makros und dem Eintrag &lt;br/&gt;

„aktuelle Farbe in Palette übernehmen“ &lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/farb1/farbtest_mit_farbe_uerjky1.png?id=anleitungen%3Aprog_gen%3Afarbtabelle&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:farb1:farbtest_mit_farbe_uerjky1.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbtest_mit_farbe_uerjky1.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Wenn man fertig ist auf den Button „Palette an Excel übergeben“ klicken. &lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/farb1/farbtabelle_speichern.jpg?id=anleitungen%3Aprog_gen%3Afarbtabelle&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:farb1:farbtabelle_speichern.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbtabelle_speichern.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;farbtabelle_speichern.jpg&quot; alt=&quot;farbtabelle_speichern.jpg&quot; /&gt;&lt;/a&gt; &lt;br/&gt;

&lt;br/&gt;

Die beiden Dialogfenster jeweils mit einem Klick auf „ja bestätigen. &lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/farb1/farbtabelle_dialog1.jpg?id=anleitungen%3Aprog_gen%3Afarbtabelle&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:farb1:farbtabelle_dialog1.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbtabelle_dialog1.jpg?w=400&amp;amp;tok=61eca0&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;speichert die aktuelle Farbtabelle im Farbtest&quot; alt=&quot;speichert die aktuelle Farbtabelle im Farbtest&quot; width=&quot;400&quot; /&gt;&lt;/a&gt; &lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/farb1/farbtabelle_dialog2.jpg?id=anleitungen%3Aprog_gen%3Afarbtabelle&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:farb1:farbtabelle_dialog2.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbtabelle_dialog2.jpg?w=400&amp;amp;tok=d08f85&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;Beendet das Farbtestprogramm und kopiert die Daten nach zum Programm-Generator&quot; alt=&quot;Beendet das Farbtestprogramm und kopiert die Daten nach zum Programm-Generator&quot; width=&quot;400&quot; /&gt;&lt;/a&gt; &lt;br/&gt;

&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Nun erscheint eine lange Tabelle in dem Excelfenster des Programm-Generators, &lt;br/&gt;

welche alle geänderten Farben enthält und ab sofort für alle nachfolgenden Zeilen gilt, &lt;br/&gt;

bis eine neue Tabelle übergeben wird. &lt;br/&gt;

Die veränderten Werte sind an dem &lt;strong&gt; Sternchen &lt;/strong&gt; vor dem Namen erkennbar.
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/farb1/farbtabelle_proggen_aenderungen.jpg?id=anleitungen%3Aprog_gen%3Afarbtabelle&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:farb1:farbtabelle_proggen_aenderungen.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbtabelle_proggen_aenderungen.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;farbtabelle_proggen_aenderungen.jpg&quot; alt=&quot;farbtabelle_proggen_aenderungen.jpg&quot; /&gt;&lt;/a&gt; &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Sollte die Farben noch nicht passen, oder man weitere Änderungen machen möchte, &lt;br/&gt;

kann man die angepasste Tabelle jederzeit wieder ändern. &lt;br/&gt;

Dazu einfach einen Doppelklick auf die Farbtabelle machen und das Makro neu aufrufen. &lt;br/&gt;

Bei dem Dialogfenster bitte auf „nein“ klicken, um die veränderte Farbtabelle zu nehmen. &lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/farb1/farbtabelle_dialog4.jpg?id=anleitungen%3Aprog_gen%3Afarbtabelle&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:farb1:farbtabelle_dialog4.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbtabelle_dialog4.jpg?w=400&amp;amp;tok=9b92d7&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;farbtabelle_dialog4.jpg&quot; alt=&quot;farbtabelle_dialog4.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Liste der ver\u00e4nderbaren Farbmakros&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;liste_der_veraenderbaren_farbmakros&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1222-3761&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;standardfarbtabelle_wiederherstellen&quot;&gt;Standardfarbtabelle wiederherstellen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn man für vorherige Beleuchtungen die Farben neu gemischt hatte und nun wieder die Standardfarben benötigt, kann man diese wieder herstellen.
&lt;br/&gt;

Das Makro &lt;strong&gt;„Farbe und Helligkeit einstellen“&lt;/strong&gt; (ehem. Set_ColTab) im Programm-Generator aufrufen. Dieses startet automatisch den Farbtest. &lt;br/&gt;

&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbe_und_helligkeit_einstellen.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt; &lt;br/&gt;

&lt;br/&gt;

Bei dem aufgehenden Dialogfenster die Option „Ja“ auswählen, um die Standardfarben zu laden. &lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/farb1/farbtabelle_dialog3.jpg?id=anleitungen%3Aprog_gen%3Afarbtabelle&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:farb1:farbtabelle_dialog3.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbtabelle_dialog3.jpg?w=400&amp;amp;tok=9bba12&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;farbtabelle_dialog3.jpg&quot; alt=&quot;farbtabelle_dialog3.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt; &lt;br/&gt;

&lt;br/&gt;

Im dem Farbtestprogramm, keine Änderungen vornehmen, sondern direkt auf den Button „Palette an Excel übergeben“ klicken. &lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/farb1/farbtabelle_speichern.jpg?id=anleitungen%3Aprog_gen%3Afarbtabelle&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:farb1:farbtabelle_speichern.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbtabelle_speichern.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;farbtabelle_speichern.jpg&quot; alt=&quot;farbtabelle_speichern.jpg&quot; /&gt;&lt;/a&gt; &lt;br/&gt;

&lt;br/&gt;

Das Dialogfenster mit einem Klick auf „ja bestätigen. &lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/farb1/farbtabelle_dialog2.jpg?id=anleitungen%3Aprog_gen%3Afarbtabelle&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:farb1:farbtabelle_dialog2.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbtabelle_dialog2.jpg?w=400&amp;amp;tok=d08f85&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;farbtabelle_dialog2.jpg&quot; alt=&quot;farbtabelle_dialog2.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt; &lt;br/&gt;

&lt;br/&gt;

Nun wurde im Excel eine weitere Farbtabelle eingetragen, welche für alle nachfolgenden Zeilen gilt und die Standardfarben definiert.
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/farb1/farbtabelle_proggen_normal.jpg?id=anleitungen%3Aprog_gen%3Afarbtabelle&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:farb1:farbtabelle_proggen_normal.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/farb1/farbtabelle_proggen_normal.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;farbtabelle_proggen_normal.jpg&quot; alt=&quot;farbtabelle_proggen_normal.jpg&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Standardfarbtabelle wiederherstellen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;standardfarbtabelle_wiederherstellen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3762-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 24 Jan 2022 08:28:30 +0000</pubDate>
        </item>
        <item>
            <title>schedule</title>
            <link>https://wiki.mobaledlib.de/anleitungen/prog_gen/schedule</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;schedule-funktion&quot;&gt;Schedule-Funktion&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Mit der „Schedule“ Funktion werden mehrere Variablen definiert, welche innerhalb eines Zeitbereichs zufällig angehen.
&lt;/p&gt;

&lt;p&gt;
Die Variable SI_1 kann dafür nicht verwendet werden. Sie ist eine spezielle Variable, die immer an ist (Special Input 1).
&lt;/p&gt;

&lt;p&gt;
Wenn mehrere LEDs gleichzeitig eingeschaltet werden sollen, dann werden diese über die gleiche Variable angesteuert.
Es ist nicht nötig, dass Du eine zweite „Schedule“ Funktion verwendest. Das gleichzeitige Einschalten würde auch nur dann funktionieren, wenn Du bei Start und Endwert den gleichen Wert eingibst. Andernfalls wird die Variable ja zufällig innerhalb des Bereichs geschaltet.
&lt;/p&gt;

&lt;p&gt;
Eine zweite „Schedule“ Funktion benötigt man, wenn man unterschiedliche Zeiten definieren will. So sieht die Konfiguration für das zufällige schalten von bis zu 7 Häusern aus:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/schedule/parameter_eingabe.jpg?id=anleitungen%3Aprog_gen%3Aschedule&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:schedule:parameter_eingabe.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/schedule/parameter_eingabe.jpg&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Die „Schedule“ Funktion schaltet immer nur eine oder mehrere Variablen ein und morgens wieder aus. Diese Variablen werden dann von beliebig vielen anderen Zeilen benutzt. Das kann eine „House“ Funktion sein welche mehrere Zimmer zufällig schaltet oder genauso die „Const“ Funktion.
&lt;/p&gt;

&lt;p&gt;
Das könnte so aussehen:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/schedule/scheduel_prog_gen.jpg?id=anleitungen%3Aprog_gen%3Aschedule&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:schedule:scheduel_prog_gen.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/schedule/scheduel_prog_gen.jpg&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Damit werden momentan zwei Läden und zwei Häuser angesteuert. Die Läden schalten Ihr Licht um genau 17:10 (110) an, die Häuser wachen zwischen 18:35 (140) und 20:28 (180) auf.
&lt;/p&gt;

&lt;p&gt;
Zu Testzwecken kann man sich die Zeiten auf dem seriellen Monitor der Arduino IDE anzeigen lassen:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/schedule/monitor.jpg?id=anleitungen%3Aprog_gen%3Aschedule&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:schedule:monitor.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/schedule/monitor.jpg&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Mehr dazu gibt es hier: 
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://github.com/Hardi-St/MobaLedLib_Docu/blob/master/Details/Tag%20und%20Nacht%20Timer.pdf&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/Hardi-St/MobaLedLib_Docu/blob/master/Details/Tag%20und%20Nacht%20Timer.pdf&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/Hardi-St/MobaLedLib_Docu/blob/master/Details/Tag%20und%20Nacht%20Timer.pdf&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Schedule-Funktion&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schedule-funktion&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;2-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 01 Dec 2021 12:28:20 +0000</pubDate>
        </item>
        <item>
            <title>simulator</title>
            <link>https://wiki.mobaledlib.de/anleitungen/prog_gen/simulator</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;der_simulator_des_programm_generators&quot;&gt;Der Simulator des Programm Generators&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Trotz intensivem Studium des Wikis folgt man oft dem „Trial and error“-Prinzip beim Erlernen neuer Programmierungen. Dabei können die Upload-Zeiten zum Arduino nervenzehrend werden, wenn es mal nicht auf Anhieb klappt.&lt;br/&gt;

Hinzu kommt, dass der Arduino die Daten nicht unendlich oft speichern kann. Der Flash-Speicher hat eine begrenzte Anzahl von Schreibzyklen, typischerweise 100.000. Das zu erreichen, liegt in weiter Ferne, aber es ist unnötig.&lt;br/&gt;

Mit dem im &lt;a href=&quot;https://wiki.mobaledlib.de/stammtische/videos/maerz_2022&quot; class=&quot;wikilink1&quot; title=&quot;stammtische:videos:maerz_2022&quot; data-wiki-id=&quot;stammtische:videos:maerz_2022&quot;&gt;März 2022&lt;/a&gt; von Jürgen vorgestellten Simulator kann man die Programmierung nämlich schon vorab testen, indem man die Programmierung mit gedrückter Shift-Taste zum Arduino überträgt.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/simulator/simulator.gif?id=anleitungen%3Aprog_gen%3Asimulator&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:simulator:simulator.gif&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/simulator/simulator.gif&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_round wrap_info plugin_wrap&quot; style=&quot;width: 100%;&quot;&gt;
&lt;p&gt;
Der Simulator setzt aktuell einen Arduino voraus, den er simulieren soll. Von daher muss in der entsprechenden Excel-Mappe auch ein Arduino als Empfänger eingetragen sein. Ist in den Einstellungen ein ESP32 oder ein Raspi ausgewählt, funktioniert der Simulator nicht. &lt;br/&gt;

Es empfiehlt sich daher, neue Programmierungen in einer separaten Excel-Mappe aufzubauen und zu testen. Bei erfolgreichem Ablauf lassen sich die Zeilen ganz leicht in die Hauptprogrammierung kopieren oder per Include-Befehl einbinden. Alternativ kann man das selbstverständlich auch vor und nach dem Testen in den Einstellungen anpassen. 
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_start&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_round wrap_info plugin_wrap&quot; style=&quot;width: 100%;&quot;&gt;
&lt;p&gt;
Achtung: Der Simulator unterstützt keine MobaLedLib Extensions.
&lt;/p&gt;
&lt;/div&gt;&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;plugin_wrap_end&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Der Simulator des Programm Generators&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;der_simulator_des_programm_generators&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1541&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;die_konfiguration&quot;&gt;Die Konfiguration&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Über die Konfiguration (Excel-Mappe „Config“) lässt sich das Aussehen und das Verhalten des Simulators beeinflussen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/simulator/simulator_config.png?id=anleitungen%3Aprog_gen%3Asimulator&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:simulator:simulator_config.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/simulator/simulator_config.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Die Konfiguration&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;die_konfiguration&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1542-1757&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;anzahl_der_leds_horizontalvertikal&quot;&gt;Anzahl der LEDs horizontal/vertikal&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Hier lässt sich die Größe der virtuellen Matrix einstellen.
Ab Werk ist hier die gängige 64er-Matrix mit 8 x 8 LEDs dargestellt.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Anzahl der LEDs horizontal\/vertikal&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;anzahl_der_leds_horizontalvertikal&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1758-1937&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;led-groesse_in_pixel_4-64&quot;&gt;LED-Größe in Pixel (4-64)&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Je nach Größe des Monitors, der Menge der dargestellten Pixel oder den persönlichen Vorlieben, lassen sich die LEDs der virtuellen Matrix in ihrer Größe variieren. Ab Werk ist hier eine Größe von 24 x 24 Pixeln eingestellt. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;LED-Gr\u00f6\u00dfe in Pixel (4-64)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;led-groesse_in_pixel_4-64&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;1938-2208&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;fensterposition_horizontalvertikal&quot;&gt;Fensterposition horizontal/vertikal&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Mit diesen beiden Werten kann die exakte Position vorgegeben werden, in der der Simulator beim Starten erscheinen soll.
Praktisch ist beispielsweise die Ecke unten rechts, damit man Schalter und Programmierung im Hintergrund noch erkennen kann.
Will man ausschließlich Screencasts aufnehmen, eignet sich eher ein Bereich in der Nähe der Programmierung.
Die Fensterposition bezieht sich immer auf die Ecke oben links des Fensters.
Ändert man die Anzahl der dargestellten LEDs, sieht man diese unter Umständen nicht alle.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Fensterposition horizontal\/vertikal&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;fensterposition_horizontalvertikal&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;2209-2779&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;start_led&quot;&gt;Start LED&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Gerade bei umfangreichen Programmierungen reicht die virtuelle 64er Matrix nicht mehr aus. Um beim Test der LED Nr. 200 nicht alle 199 vorangegangen LEDs simulieren zu müssen, kann man vor dem Aufrufen des Simulators die Start-LED definieren. Diese Funktion eignet sich auch, wenn man beispielsweise die Heartbeat-LED nicht mit simulieren möchte.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Start LED&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;start_led&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;2780-3149&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;autostart&quot;&gt;Autostart&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wer den Simulator bei jedem Start automatisch aktivieren möchte, kann das hier einstellen. Folgende Optionen stehen zur Verfügung &lt;br/&gt;

0 = Simulator beim Start ausgeschaltet &lt;br/&gt;

1 = Simulator wird beim Programm-Start geöffnet &lt;br/&gt;

2 = Simulator und Hauptplatine gemeinsam (die Programmierung des Arduinos wird parallel gestartet) &lt;br/&gt;

3 = Nur Simulator &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Autostart&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;autostart&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;3150-3522&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;immer_im_vordergrund&quot;&gt;Immer im Vordergrund&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Gerade wenn DCC-Schalter zum Test benötigt werden, empfiehlt es sich, das Fenster des Simulators im Vordergrund zu behalten, weil es sonst beim Klick auf die Excel-Tabelle dahinter verschwinden würde.&lt;br/&gt;

Diese Einstellung ist ab Werk aktiviert und lässt sich bei Bedarf deaktivieren.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Immer im Vordergrund&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;immer_im_vordergrund&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;3523-3840&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit13&quot; id=&quot;die_ansicht&quot;&gt;Die Ansicht&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Die Ansicht&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;die_ansicht&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;3841-3865&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;darstellung_der_mischfarben&quot;&gt;Darstellung der Mischfarben&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nicht immer will man RGB LEDs simulieren. Wer beispielsweise Relais schalten will, muss wissen, wann ein bestimmter Kanal (RGB) aktiviert wird.&lt;br/&gt;

Per Doppelklick auf eine der dargestellten virtuellen LEDs kann zwischen drei Ansichten gewechselt werden. &lt;br/&gt;

&lt;strong&gt;Ansicht 1:&lt;/strong&gt; RGB LED stellt die Mischfarbe dar&lt;br/&gt;

&lt;strong&gt;Ansicht 2:&lt;/strong&gt; Drei Einzel-LEDs stellen die Kanäle Rot, Grün und Blau dar&lt;br/&gt;

&lt;strong&gt;Ansicht 3:&lt;/strong&gt; Kombiniert die Ansicht 1 &amp;amp; 2&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/simulator/simulator_darstellung.gif?id=anleitungen%3Aprog_gen%3Asimulator&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:simulator:simulator_darstellung.gif&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/simulator/simulator_darstellung.gif&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Darstellung der Mischfarben&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;darstellung_der_mischfarben&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;3866-4406&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;adresse_der_einzelnen_led&quot;&gt;Adresse der einzelnen LED&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Manchmal kann es hilfreich sein, die Nummer der dargestellten LED zu kennen, wenn man beispielsweise das korrekte Schalten einer gezielten LED überprüfen möchte.&lt;br/&gt;

Je nach gewählter Start-Nummer, zeigt der Simulator die fortlaufende Nummer der LEDs an. Im gezeigten Beispiel ist die Start LED die Nummer 0.&lt;br/&gt;

Die Anzeige der Nummerierung lässt sich mit der Taste „N“ aktivieren und deaktivieren.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/simulator/simulator_adresse.png?id=anleitungen%3Aprog_gen%3Asimulator&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:simulator:simulator_adresse.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/simulator/simulator_adresse.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Adresse der einzelnen LED&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;adresse_der_einzelnen_led&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;4407-4911&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;reihenfolge_der_leds&quot;&gt;Reihenfolge der LEDs&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Bei der echten 64er Matrix gibt es unterschiedliche Varianten. Bei einer sind die LEDs in Form eins „S“ miteinander verbunden, sodass das Datensignal in der ersten Zeile von links nach rechts und in der zweiten Zeile von rechts nach links läuft (S-Anordnung). Bei der anderen läuft das Signal immer von links nach rechts und wird zwischen den Zeilen mit einer langen Drahtbrücke wieder nach vorn geführt (Z-Anordnung).&lt;br/&gt;

Wer ein Projekt auf einer Matrix umsetzen will und dieses vorher simulieren will, muss die richtige Reihenfolge darstellen.&lt;br/&gt;

Mit den Tasten „S“ und „Z“ wird zwischen den Verkabelungs-Varianten gewechselt.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/simulator/simulator_richtung.gif?id=anleitungen%3Aprog_gen%3Asimulator&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:simulator:simulator_richtung.gif&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/simulator/simulator_richtung.gif&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Reihenfolge der LEDs&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;reihenfolge_der_leds&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;4912-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 20 Jun 2025 10:09:26 +0000</pubDate>
        </item>
        <item>
            <title>tag_und_nachtsteuerung</title>
            <link>https://wiki.mobaledlib.de/anleitungen/prog_gen/tag_und_nachtsteuerung</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;tag_und_nachtsteuerung&quot;&gt;Tag und Nachtsteuerung&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Tag und Nachtsteuerung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tag_und_nachtsteuerung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-37&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;varianten_zur_ansteuerung&quot;&gt;Varianten zur Ansteuerung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Zur Tag- und Nachtsteuerung mit der MobaLedLib gibt es zwei verschiedene Möglichkeiten: &lt;br/&gt;

&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Variante 1:&lt;/em&gt;&lt;/strong&gt; Steuerung über einen Helligkeitssensor &lt;br/&gt;

Der Helligkeitssensor misst die Umgebungshelligkeit. Die Lichter gehen automatisch  an, wenn es dunkel im Raum wird. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;&lt;em class=&quot;u&quot;&gt;Variante 2:&lt;/em&gt;&lt;/strong&gt; Steuerung über eine Modellbahnzeit &lt;br/&gt;

Dabei erzeugt der Arduino eine Modellbahnzeit. Das kann entweder automatisch oder in Synchronisation mit der Digitalzentrale/ dem Steuerungsprogramm erfolgen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Varianten zur Ansteuerung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;varianten_zur_ansteuerung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;38-574&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;variante_1&quot;&gt;Variante 1&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
An die Hauptplatine wird ein Helligkeitssensor (LDR) angeschlossen. Dazu ist eine zweipolige Stiftleiste oben links auf der Hauptplatine vorgesehen. Stattdessen kann auch ein Schalter angeschlossen werden, mit dem zwischen Tag und Nacht umgeschaltet werden kann. Ist der Schalter geöffnet, ist es Nacht. Wenn der Schaltet geschlossen ist, dann ist es Tag. Man kann auch einen dreipoligen Schalter verwenden. Dabei ist die mittlere Stellung dann der Automatikmodus per Helligkeitssensor. &lt;br/&gt;
 Der Arduino erkennt, wenn es dunkler wird und schaltet die Lichter abhängig von den gemessenen Helligkeitswerten ein oder aus.
&lt;br/&gt;

Konfiguration im Programm- Generator:
Zunächst wählt man im Programm Generator die Funktion Read LDR, danach die Funktion Read_LDR_Debug. Die Funktion Read LDR sorgt dafür, dass die Helligkeitswerte ausgelesen werden. Durch die Funktion Read_LDR_Debug werden die Helligkeitswerte im seriellen Monitor der Arduino IDE angezeigt.
Das sieht dann so aus: 
&lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_serieller_monitor.png&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:tag-nacht:tag_und_nacht_serieller_monitor.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_serieller_monitor.png?w=600&amp;amp;tok=0d2113&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Im Bild zeigen die steigenden Zahlen, dass es dunkler wird. Man kann zum Testen den Helligkeitssensor abdecken und wird sehen, dass die Zahlen langsam steigen. Im Beispiel ist es bei Werten von 70-80 hell und bei Werten über 150 dunkel.
Nun muss man den Helligkeitswert bestimmen, bei dem die Lichter angehen sollen. &lt;br/&gt;

Danach ruft man im Programm Generator die Funktion Schedule auf. Dann erscheint dieses Fenster:  
&lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_schedule.png?id=anleitungen%3Aprog_gen%3Atag_und_nachtsteuerung&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:tag-nacht:tag_und_nacht_schedule.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_schedule.png?w=600&amp;amp;tok=e85eab&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Unter Zielvariable 1 gibt man den Namen der ersten Variable, unter letzte Zielvariable den Namen der letzten Variable ein. Diese Namen müssen mit einer Zahl enden. Im Beispiel werden die Variablen Haus1 bis Haus2 verwendet. Diese Variablen werden dann eingeschaltet, wenn es dunkel wird. Bei den Eingabefeldern Startwert und Endwert gibt man die Helligkeitswerte ein. Im Feld Startwert wird die Helligkeit eingegeben, bei der die ersten Häuser eingeschaltet werden sollen. Unter Endwert wird der Helligkeitswert eingegeben, bei dem alle Häuser eingeschaltet sein sollen. Im Beispiel werden dazu die Werte 120 und 150 verwendet. Diese Werte sind aber abhängig vom verwendeten Helligkeitssensor.&lt;br/&gt;

Im Feld Enable_Pin muss SI_1 eingetragen bleiben. Dort wird &lt;strong&gt;nicht&lt;/strong&gt; der Pin eingetragen, an dem der Helligkeitssensor angeschlossen ist. &lt;br/&gt;

&lt;br/&gt;

Es ist auch denkbar, mehrere Schedule Funktionen gleichzeitig zu verwenden. Dadurch können unterschiedliche Beleuchtungen bei unterschiedlichen Helligkeitswerten  angehen. Man kann z. B. eine Schedule Funktion für Häuser und eine eigene Schedule Funktion für Straßenlaternen verwenden. So können dann z. B. die Straßenlaternen vor den Häusern angehen. Es sind beliebige Kombinationen möglich. Man kann damit z.B. auch erreichen, dass Ampeln gelb blinken, wenn es ganz dunkel ist.
&lt;br/&gt;

Nun trägt man im Programm Generator noch die Häuser ein. Für das Beispiel habe ich zwei Häuser mit je drei RGB Leds verwendet. In der Spalte Adresse oder Name trägt man nun bei den beiden Häusern die Variablen Haus1 und Haus2 ein. 
Nun sollte die Konfiguration so aussehen: 
&lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_konfiguration1.png?id=anleitungen%3Aprog_gen%3Atag_und_nachtsteuerung&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:tag-nacht:tag_und_nacht_konfiguration1.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_konfiguration1.png?w=400&amp;amp;tok=5be9ad&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Variante 1&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;variante_1&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;575-3882&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;variante_2&quot;&gt;Variante 2&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Bei Variante 2 wird vom Arduino eine Modellbahnzeit generiert. Diese kann entweder automatisch ablaufen oder mit der Modellbahnzeit einer Digitalzentrale oder eines Steuerungsprogramms synchronisiert werden. Diese Modellzeit wird von einer Variable mit einem Wertebereich von 0 bis 255 repräsentiert. Zwischen 12 Uhr mittags und Mitternacht steigen die Werte an, danach sinken sie wieder. Es kann festgelegt werden, wie lange ein Tag/ Nacht Zyklus dauern soll.
Dazu wählt man im Programm Generator die Funktion DayAndNightTimer aus. Daraufhin erscheint dieses Fenster:
&lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_dayandnighttimer.png?id=anleitungen%3Aprog_gen%3Atag_und_nachtsteuerung&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:tag-nacht:tag_und_nacht_dayandnighttimer.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_dayandnighttimer.png?w=400&amp;amp;tok=0860e4&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Im Feld Dauer eines Tag/ Nacht Zyklus trägt man die Zeit in Minuten ein, die ein Tag dauern soll. Zum Testen habe ich hier 1 eingegeben.&lt;br/&gt;

Nun ruft man die Schedule Funktion auf. 
&lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_schedule.png?id=anleitungen%3Aprog_gen%3Atag_und_nachtsteuerung&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:tag-nacht:tag_und_nacht_schedule.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_schedule.png?w=400&amp;amp;tok=169305&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Unter Zielvariable 1 gibt man den Namen der ersten Variable, unter letzte Zielvariable den Namen der letzten Variable ein. Diese Namen müssen mit einer Zahl enden. Im Beispiel werden die Variablen Haus1 bis Haus2 verwendet. Diese Variablen werden dann eingeschaltet, wenn es dunkel wird. &lt;br/&gt;

Im Feld Enable_Pin muss SI_1 eingetragen bleiben. Dort wird &lt;strong&gt;nicht&lt;/strong&gt; der Pin eingetragen, an dem der Helligkeitssensor angeschlossen ist. &lt;br/&gt;

Bei den Eingabefeldern Startwert und Endwert gibt man die Helligkeitswerte ein. Im Feld Startwert wird die Uhrzeit eingegeben, bei der die ersten Häuser eingeschaltet werden sollen. Unter Endwert wird die Uhrzeit eingegeben, bei der alle Häuser eingeschaltet sein sollen. Im Beispiel werden dazu die Werte 140 und 150 verwendet. Es wird nicht die reale Uhrzeit eingetragen. Die Zahlen von 0 bis  255 stehen jeweils für eine bestimmte Uhrzeit. Diese Werte kann man über den seriellen Monitor herausfinden. Die Uhrzeit ist zunächst 12:00 Uhr mittags. Das entspricht einem Wert von 0. Bis 24:00 Uhr steigen die Werte. Um Mitternacht ist es dann ein Wert von 255. Danach sinken die Werte wieder, bis sie um 12:00 mittags wieder bei 0 sind.
&lt;/p&gt;

&lt;p&gt;
Nun trägt man noch die Häuser ein. Für das Beispiel habe ich zwei Häuser mit je drei Leds verwendet. In die Spalte Adresse oder Name werden nun die Variablen eingetragen (Hier Haus1 und Haus2).
Nun sollte die Konfiguration etwa so aussehen:
&lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_konfiguration2.png?id=anleitungen%3Aprog_gen%3Atag_und_nachtsteuerung&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:tag-nacht:tag_und_nacht_konfiguration2.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_konfiguration2.png?w=600&amp;amp;tok=fdfd80&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

Es ist auch denkbar, mehrere Schedule Funktionen gleichzeitig zu verwenden. Dadurch können unterschiedliche Beleuchtungen zu unterschiedlichen Zeiten angehen. Man kann z. B. eine Schedule Funktion für Häuser und eine eigene Schedule Funktion für Straßenlaternen verwenden. So können dann z. B. die Straßenlaternen vor den Häusern angehen. Es sind beliebige Kombinationen möglich. Man kann damit z.B. auch erreichen, dass Ampeln spät in der Nacht gelb blinken usw.
&lt;br/&gt;

&lt;br/&gt;

Die fertige Konfiguration kann man dann auf den Arduino laden. 
&lt;br/&gt;

&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Variante 2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;variante_2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3883-6884&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit5&quot; id=&quot;synchronisation_der_modellzeit&quot;&gt;Synchronisation der Modellzeit&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Will man die Modellzeit mit der Modellzeit eines Steuerungsprogramms synchronisieren, muss man in der Zeile mit der Funktion DayAndNightTimer() in der Spalte Adresse oder Name eine DCC Adresse eintragen. Wichtig: Die Dauer eines Tag/ Nacht Zyklus muss in der MobaLedLib Konfiguration den gleichen Wert wie im Steuerungsprogramm haben.
Nun muss das Steuerungsprogramm um 12:00 Uhr mittags die DCC Adresse ein- und um Mitternacht wieder ausschalten. Die Modellzeit des Arduinos bleibt bei diesen Zeiten dann so lange stehen, bis die DCC Adresse umgeschaltet wird. 
&lt;br/&gt;

&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_konfiguration3.png?id=anleitungen%3Aprog_gen%3Atag_und_nachtsteuerung&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:tag-nacht:tag_und_nacht_konfiguration3.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/tag-nacht/tag_und_nacht_konfiguration3.png?w=800&amp;amp;tok=0d0b25&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;800&quot; /&gt;&lt;/a&gt;
&lt;br/&gt;

&lt;/p&gt;
&lt;hr /&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Synchronisation der Modellzeit&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;synchronisation_der_modellzeit&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;6885-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 09 Jan 2021 11:59:04 +0000</pubDate>
        </item>
        <item>
            <title>virtual</title>
            <link>https://wiki.mobaledlib.de/anleitungen/prog_gen/virtual</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;virtuelle_led_kanaele&quot;&gt;Virtuelle LED Kanäle&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Virtuelle Kanäle eignen sich, um versteckte Operationen auszuführen, die man für andere Funktionen wieder abfragen kann. &lt;br/&gt;

So können beispielsweise eigene Zeitabläufe auf einem virtuellen LED-Kanal erfolgen, ohne dafür einen echten WS2811 in der LED-Kette zu belegen.&lt;br/&gt;

Den Zeitablauf kann man wiederum mit einer Variable abrufen und zum Schalten echter WS2811/12 auf jedem anderen Kanal verwenden.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Virtuelle LED Kan\u00e4le&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;virtuelle_led_kanaele&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-444&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;einleitung&quot;&gt;Einleitung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Einleitung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;einleitung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;445-467&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;was_kann_man_damit_machen&quot;&gt;Was kann man damit machen?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Das Thema hört sich im ersten Moment hochkomplex an und ohne Beispiel fehlt oft der Bezug zur Verwendbarkeit. &lt;br/&gt;

Daher startet dieser Beitrag mit einem Beispiel: &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Im konkreten Fall sollten drei Abschnitte à acht Neonlampen eines Bahnsteigs mit kurzer Zeitverzögerung nacheinander angehen, so als hätte jemand im Bahnhofsgebäude drei Schalter nacheinander eingeschaltet.&lt;br/&gt;

Starten wir mit dem Ergebnis: &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/virtual/bahnsteig_zuenden.gif?id=anleitungen%3Aprog_gen%3Avirtual&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:virtual:bahnsteig_zuenden.gif&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/virtual/bahnsteig_zuenden.gif&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Hier werden zwei Funktionen der MobaLedLib miteinander vereint.
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der &lt;strong&gt;Pattern Configurator&lt;/strong&gt; gibt den zeitlichen Ablauf vor, indem er mit jeweils einer Sekunde Verzögerung die Kanäle Rot, Grün und Blau an einem virtuellen WS2811 einschaltet. &lt;br/&gt;
Dieser Ablauf wird bewusst auf einen virtuellen Kanal ausgelagert, damit man diesen WS2811 nicht wirklich einlöten muss. Er existiert nur in der virtuellen Welt. &lt;br/&gt;
Die MobaLedLib kann im Programm jederzeit die Schaltzustände dieses virtuellen WS2811 abrufen, obwohl er physisch gar nicht existiert.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Das &lt;strong&gt;belebte Haus&lt;/strong&gt; zündet innerhalb weniger Millisekunden die jeweils acht LEDs eines Bahnsteigdachs.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Vereint werden diese beiden Funktionen später mit dem Befehl &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/effekte_mll#led-werte_als_variable&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:effekte_mll&quot; data-wiki-id=&quot;anleitungen:effekte_mll&quot;&gt;LED-Werte als Variable&lt;/a&gt;. &lt;br/&gt;

Mit dieser Funktion kann man die Zustände anderer LEDs abfragen (auch die virtueller LEDs) und bei bestimmten Zuständen Aktionen auslösen. Dazu später mehr.&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Was kann man damit machen?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;was_kann_man_damit_machen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;468-1955&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;wie_aktiviert_man_virtuelle_kanaele&quot;&gt;Wie aktiviert man virtuelle Kanäle?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Virtuelle Kanäle kann man ganz einfach zusätzlich zu den echten Kanälen definieren. Das geht mit der Funktion &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/effekte_mll#pins_led_bus_definieren&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:effekte_mll&quot; data-wiki-id=&quot;anleitungen:effekte_mll&quot;&gt;Pins LED Bus definieren&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Zunächst wählt man die erste Zeile im aktuellen Excel-Sheet. Dort sollte der Befehl &lt;strong&gt;Pins LED Bus definieren&lt;/strong&gt; stehen.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Beim &lt;strong&gt;&lt;span style=&#039;color:#22b14c; &#039;&gt;Arduino&lt;/span&gt;&lt;/strong&gt; sollte in der Spalte rechts daneben folgender Eintrag stehen: &lt;strong&gt;Set_LED_OutpPinLst(6 A4)&lt;/strong&gt; &lt;br/&gt;

Die 6 steht für den digitalen Pin D6, A4 steht für den analogen Pin A4. Das sind die beiden Arduino Pins, an denen die Kanäle LED #0 und Push Button #1 der LichtMaschine Classic hängen.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Beim &lt;strong&gt;&lt;span style=&#039;color:#22b14c; &#039;&gt;ESP32/Pico&lt;/span&gt;&lt;/strong&gt; sollte in der Spalte rechts daneben folgender Eintrag stehen: &lt;strong&gt;Set_LED_OutpPinLst(27 32 16 14 18 19 23 0)&lt;/strong&gt;&lt;br/&gt;

Hier handelt es sich um die acht digitalen Pins, an denen die Kanäle LED #0 bis #7 der LichtMaschine Pro hängen. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Diese Zeile bitte per Doppelklick öffnen.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Bei aktiviertem Expertenmodus&lt;/strong&gt; findet man unter Konfiguration &amp;gt; Pin-Nummern nun den Eintrag &lt;strong&gt;Pins LED-Bus definieren&lt;/strong&gt;. 
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/virtual/led-bus-pins_define.png?id=anleitungen%3Aprog_gen%3Avirtual&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:virtual:led-bus-pins_define.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/virtual/led-bus-pins_define.png?w=600&amp;amp;tok=d0b1bc&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
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/ESPs definieren und zusätzlich den virtuellen Kanal mit einem V bezeichnen.&lt;br/&gt;

Schauen wir uns das am besten am Beispiel eines Arduinos an. Im folgenden Bild wurden der LED-Kanal 0 (Arduino-Pin: 6), der PushButtonKanal 1 (Arduino-Pin: A4), der LED-Kanal2 (Arduino-Pin: 2) und der virtuelle Kanal V extra definiert.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/pins-definieren.jpeg?id=anleitungen%3Aprog_gen%3Avirtual&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:pins-definieren.jpeg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/pins-definieren.jpeg?w=480&amp;amp;tok=77c43f&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;&lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wie aktiviert man virtuelle Kan\u00e4le?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wie_aktiviert_man_virtuelle_kanaele&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1956-3705&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;welcher_kanal_ist_der_virtuelle_kanal&quot;&gt;Welcher Kanal ist der virtuelle Kanal?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Herleitung ist ganz einfach. Wie oben bereits beschrieben, liegt der LED-Kanal 0 am Arduino-Pin 6. &lt;br/&gt;

Wenn wir im Programm Generator nach dem LED-Kanal gefragt werden, tragen wir dort standardmäßig die „0“ ein. &lt;br/&gt;

Für den Push-Button Kanal am Arduino-Pin A4 tragen wir die „1“ ein. &lt;br/&gt;

Für den zweiten LED-Kanal am Arduino-Pin 2 tragen wir die „2“ ein. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Der Programm Generator erwartet beim LED-Kanal also einfach die Nummer des Kanals, &lt;strong&gt;NICHT&lt;/strong&gt; den Namen. &lt;br/&gt;

Wenn also wie in unserem Beispiel alle physischen Kanäle des Arduinos verwendet werden (LED #0, PushButton #1 &amp;amp; LED #2), dann ist der virtuelle Kanal eben Nummer #3. &lt;br/&gt;

Wird der LED-Kanal 2 des Arduinos nicht als echter Ausgang genutzt, dann wäre der virtuelle Kanal Nummer #2. Die Liste der Arduino Pins wäre dann „6 A4 V“. Ganz einfach. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Welcher Kanal ist der virtuelle Kanal?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;welcher_kanal_ist_der_virtuelle_kanal&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3706-4570&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;wie_verwendet_man_den_virtuellen_kanal&quot;&gt;Wie verwendet man den virtuellen Kanal?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Einrichtung liegt nun hinter uns. Jetzt kommt der virtuelle Kanal in einem sehr einfachen Beispiel als versteckter Schalter zum Einsatz. Es eignet sich sehr gut zum Üben, weil es zunächst auf den oben beschriebenen Zeitablauf über den Pattern Configurator verzichtet. Das Beispiel zeigt lediglich die Anwendung des virtuellen Kanals und die Verknüpfung mit dem reellen Kanal. 
&lt;/p&gt;

&lt;p&gt;
In der Programmierung ist der virtuelle Kanal wie oben genannt Kanal 3.&lt;br/&gt;

Ablauf: Mit der DCC Adresse 1 wird lediglich die virtuelle LED auf  Kanal 3 eingeschaltet. Sobald der Helligkeitswert größer als 1 ist, wird die Variable „virtuell“ aktiv und die RGB-LED auf dem LED-Kanal 0 beginnt zu leuchten.
&lt;/p&gt;

&lt;p&gt;
Es empfiehlt sich, dieses Beispiel einmal nachzubauen, bevor wir in den Ablauf des eingangs erwähnten Bahnsteig einsteigen. 
&lt;/p&gt;

&lt;p&gt;
Für den ESP gilt übrigens das Gleiche, hier müssen auch die verwendeten Kanäle und der zusätzliche V-Kanal extra definiert werden.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/virtuell_verwenden.jpeg?id=anleitungen%3Aprog_gen%3Avirtual&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:virtuell_verwenden.jpeg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/virtuell_verwenden.jpeg?w=600&amp;amp;tok=da71ec&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wie verwendet man den virtuellen Kanal?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wie_verwendet_man_den_virtuellen_kanal&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;4571-5639&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;funktionen_schrittweise_ein-_und_ausschalten&quot;&gt;Funktionen schrittweise ein- und ausschalten?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die ganze Macht dieser Funktion wird erst sichtbar, wenn man ein Pattern mit den bekannten Effekten der MobaLedLib kombiniert, so wie beim eingangs erwähnten Bahnsteig. &lt;br/&gt;

Dabei ist selbst der Bahnsteig ein sehr einfaches Beispiel. 
&lt;/p&gt;

&lt;p&gt;
Ziel soll es sein, verschiedene Effekte (hier die Neonlampen eines belebten Hauses) in zeitlicher Abfolge (hier hintereinander) zu schalten. &lt;br/&gt;

Also bauen wir uns erstmal die zeitliche Abfolge: &lt;br/&gt;

&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Funktionen schrittweise ein- und ausschalten?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;funktionen_schrittweise_ein-_und_ausschalten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;5640-6129&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit8&quot; id=&quot;schritt_1das_schrittschaltwerk_im_pattern_configurator&quot;&gt;Schritt 1: Das Schrittschaltwerk im Pattern Configurator&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Für den Bahnsteig benötigen wir drei Zustände, die ich hier zunächst in logischer Reihenfolge definiere. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Zustand 0: Der Bahnsteig ist aus. Diesen Zustand benötigen wir nur einmalig bei jedem Einschalten der Eisenbahnanlage. &lt;br/&gt;

&lt;span style=&#039;color:#F5F7FA; &#039;&gt;Zustand 0: &lt;/span&gt;Ohne diesen Zustand würde der Bahnsteig bei jedem Start kurz komplett angehen und dann stufenweise ausgehen. &lt;br/&gt;

Zustand 1: Der Bahnsteig geht stufenweise an. &lt;br/&gt;

Zustand 2: Der Bahnsteig geht stufenweise aus. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;A)&lt;/strong&gt;
Die Anzahl der Ausgabekanäle setzen wir auf „3“, da wir drei Bahnsteigdächer schalten wollen. Dafür brauchen wir drei virtuelle Einzel-LEDs. &lt;br/&gt;

Bei Bits pro Wert reicht eine „1“. Das spart Speicher und wir wollen nur die Zustände „an“ und „aus“ erkennen.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;B)&lt;/strong&gt;
Der Goto-Mode wird aktiviert, damit wir die drei oben beschriebenen Zustände per DCC-Adresse schalten können.
Die Aktivierung ist Binary1. Diese unterscheidet sich von Binary dadurch, dass der Zustand 0 beim Schalten mit DCC ignoriert wird. Die DCC-Adresse schaltet mit ihren beiden Zuständen Rot und Grün nur zwischen Zustand 1 und Zustand 2 hin und her. 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;C)&lt;/strong&gt;
Wenn die DCC-Adresse auf Grün (an) geschaltet wird, wollen wir den Zustand 1 erreichen: Der Bahnsteig geht stufenweise an. &lt;br/&gt;

Wenn die DCC-Adresse auf Rot (aus) geschaltet wird, wollen wir den Zustand 2 erreichen: Der Bahnsteig geht stufenweise wieder aus. &lt;br/&gt;

Deswegen muss die Reihenfolge im Pattern Configurator wie folgt aussehen: Zustand 0 - Zustand 2 - Zustand 1 (An und Aus werden an das Verhalten von DCC angepasst).&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Wenn alles richtig gemacht wurde, kann man jetzt mit dem Button „Test Pattern“ überprüfen, ob die LEDs Rot, Grün und Blau nacheinander angehen, wenn man auf die Taste „2“ klickt und ob sie nacheinander ausgehen, wenn man auf die Taste „1“ klickt. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;span class=&quot;wrap_em &quot;&gt;WICHTIG&lt;/span&gt; ist jetzt beim Übertragen zum Programm Generator, dass man als LED-Kanal den virtuellen Kanal angibt. In unserem Beispiel also Kanal 3.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/virtual/pattern_bahnsteig.png?id=anleitungen%3Aprog_gen%3Avirtual&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:virtual:pattern_bahnsteig.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/virtual/pattern_bahnsteig.png?w=600&amp;amp;tok=ac62cb&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
An der Stelle sind wir mit dem Pattern fertig. Das ist nun unser „Schrittschaltwerk“, dass die belebten Häuser steuert.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Schritt 1: Das Schrittschaltwerk im Pattern Configurator&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schritt_1das_schrittschaltwerk_im_pattern_configurator&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;6130-8356&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit9&quot; id=&quot;schritt_2die_verknuepfung_zwischen_virtuellem_und_reelem_kanal&quot;&gt;Schritt 2: Die Verknüpfung zwischen virtuellem und reelem Kanal&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Nun ist es an der Zeit, den Zustand der virtuellen LEDs abzufragen. Dazu bedienen wir uns der Funktion &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/effekte_mll#led-werte_als_variable&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:effekte_mll&quot; data-wiki-id=&quot;anleitungen:effekte_mll&quot;&gt;LED-Werte als Variable&lt;/a&gt;. &lt;br/&gt;

Wichtig ist, dass die Funktion direkt unter das Pattern des Bahnsteigs gesetzt wird. Die Bedienung ist dann echt einfach. &lt;br/&gt;

Mit dem Offset „0“ fragen wir den ersten Ausgang des vorangegangenen WS281x ab, also Rot. Mit dem Offset „1“ fragen wir den grünen Kanal ab und mit Offset „2“ den blauen. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
Man kann alle möglichen Zustände abfragen (ist der Wert größer als null, ist der Wert gleich 255, ist der Wert ungleich null usw.).&lt;br/&gt;

Da wir im Pattern mit vollen Werten (x) gearbeitet haben, wurde in diesem Fall die Abfrage „ist gleich 255“ gewählt (größer null wäre auch gegangen). &lt;br/&gt;

Der Variablen-Name ist frei wählbar, er dient uns später als Ersatz für eine DCC-Adresse. Mit ihm wird das erste belebte Haus gezündet. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/virtual/led-to-var_platform1.png?id=anleitungen%3Aprog_gen%3Avirtual&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:virtual:led-to-var_platform1.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/virtual/led-to-var_platform1.png?w=480&amp;amp;tok=20e6da&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Die Funktion &lt;strong&gt;LED-Werte als Variable&lt;/strong&gt; wird jetzt dreimal untereinander ausgeführt, weil alle drei Kanäle des vorangegangen (virtuellen) WS2811 ausgewertet werden sollen. &lt;br/&gt;

In der Tabelle kann man nun auch sehen, dass das Pattern auf Kanal 3 gelandet ist. Hier muss man aufpassen. Die Abfrage, auf welchen Kanal das Pattern programmiert werden soll , kommt nur einmal und zwar direkt beim ersten Übertragen an den Programm Generator.&lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/virtual/led-to-var_bahnsteig.png?id=anleitungen%3Aprog_gen%3Avirtual&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:virtual:led-to-var_bahnsteig.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/virtual/led-to-var_bahnsteig.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Schritt 2: Die Verkn\u00fcpfung zwischen virtuellem und reelem Kanal&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schritt_2die_verknuepfung_zwischen_virtuellem_und_reelem_kanal&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;8357-9933&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit10&quot; id=&quot;schritt_3mit_dem_virtuellen_kanal_schalten&quot;&gt;Schritt 3: Mit dem virtuellen Kanal schalten&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Der letzte Schritt ist nun der einfachste. Es werden drei belebte Häuser mit jeweils acht Neonröhren angelegt. &lt;br/&gt;

Geschaltet werden die drei Häuser mit den zuvor festgelegten Variablen platform1, platform2 und platform3. &lt;br/&gt;

Die belebten Häuser werden selbstverständlich wieder auf Kanal 0 programmiert, da diese nicht virtuell sondern real sind.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/virtual/led-to-var_variable.png?id=anleitungen%3Aprog_gen%3Avirtual&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:virtual:led-to-var_variable.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/virtual/led-to-var_variable.png&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Ich wünsche Euch viel Spaß und gutes Gelingen. Michael (raily74)
&lt;/p&gt;

&lt;p&gt;
Wer nach diesem Tutorial jetzt richtig Spaß an den virtuellen LED Kanälen gefunden hat, dem empfehle ich einen Blick in die Programmierung des &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/videos/ed_ungewollt_belebtes_haus&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:videos:ed_ungewollt_belebtes_haus&quot; data-wiki-id=&quot;anleitungen:videos:ed_ungewollt_belebtes_haus&quot;&gt;ungewollt belebten Hauses&lt;/a&gt; von Gerald. 
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Schritt 3: Mit dem virtuellen Kanal schalten&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schritt_3mit_dem_virtuellen_kanal_schalten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;9934-10699&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;virtuelle_kanaele_zur_manipulation_der_kanal-nummer&quot;&gt;Virtuelle Kanäle zur Manipulation der Kanal-Nummer&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Virtuelle Kanäle lassen sich nicht nur hinter den physischen Kanälen platzieren sondern auch davor. Das ist eine hilfreiche Methode, wenn man beispielsweise in der Werkstatt eine Mini MLL Pro oder eine ausrangierte LichtMaschine ≤ 1.8.2 verwendet, um das aktuell gebaute Objekt direkt auf der Werkbank zu testen und an der Anlage eine LichtMaschine Pro mit acht Kanälen arbeitet. 
&lt;/p&gt;

&lt;p&gt;
An allen Arduino-basierten Hauptplatinen kann als Kanal nur #0 oder #2 verwendet werden, die LichtMaschine Pro hingegen beherrscht acht Kanäle. Spätestens wenn das fertige Objekt von der Werkbank auf die Anlage umzieht, muss nun jeder Effekt händisch auf den gewünschten Kanal der LichtMaschine Pro angepasst werden. 
&lt;/p&gt;

&lt;p&gt;
Wenn man aber vorher weiß, dass man ein Haus für Kanal 3 bauen will, kann man einfach die Kanäle 0, 1 und 2 an der Arduino-basierten Hauptplatine überspringen. Da diese Kanäle aber physisch nicht existieren, muss man vor dem eigentlichen Pin 6 (Das ist Kanal 0 an der Werkstatt-Platine) drei virtuelle Kanäle setzen. Klingt kompliziert, ist aber super easy.
&lt;/p&gt;

&lt;p&gt;
Wie oben beschrieben muss man nun zunächst die LED-Bus Pins einstellen. Dort gibt man jetzt für jeden Kanal, den man an der LichtMaschine Pro später überspringen will ein „V“ gefolgt von einem Leerzeichen ein, beginnend mit Kanal 0. Soll also Kanal 3 der LichtMaschine Pro verwendet werden, muss Kanal 0, 1 und 2 übersprungen werden. Das sind dann drei „V“irtuelle Kanäle. Erst dann folgen die Pins 6 (Kanal 3) und Pin A4 (Kanal 4). Die Push Buttons spricht man in dem Fall natürlich über Kanal 4 an. Baut man diese zeitgleich mit dem Haus, müsste man beim Umzug auf die Pro lediglich den Kanal des Buttons anpassen. 
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/virtual/led-bus-pins_virtual-first.png?id=anleitungen%3Aprog_gen%3Avirtual&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:virtual:led-bus-pins_virtual-first.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/virtual/led-bus-pins_virtual-first.png?w=480&amp;amp;tok=c39a33&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Die Werkbank-Platine belegt nun die Kanäle 0, 1 und 2 rein virtuell. Erst auf Kanal 3 lässt sie die Ausgabe am Pin D6 zu. Nun beginnt man mit der Programmierung des zu bauenden Objekts und definiert jeden Effekt auf Kanal 3, &lt;strong&gt;beginnend mit der Heartbeat-LED der Hauptplatine!&lt;/strong&gt; Es folgt zum Beispiel eine konstante LED in weiß.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/prog_gen/virtual/led-bus-pins_use_channel3.png?id=anleitungen%3Aprog_gen%3Avirtual&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:prog_gen:virtual:led-bus-pins_use_channel3.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/prog_gen/virtual/led-bus-pins_use_channel3.png?w=480&amp;amp;tok=7b877c&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;480&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Obwohl man jetzt per Definition Kanal 3 verwendet, kann man in der Werkstatt alle Effekte am normalen LED-Kanal der Hauptplatine nutzen und somit testen, denn diese denkt ja, dass der Wannenstecker Kanal 3 ist. Wenn man dann mit dem Bau des Häuschens und der Programmierung fertig ist, braucht man nur noch die entsprechenden Zeilen in das Programm der LichtMaschine Pro zu übertragen. Ohne Anpassungen, ohne Risiko und ohne zusätzliche Fehlerquellen.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Virtuelle Kan\u00e4le zur Manipulation der Kanal-Nummer&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;virtuelle_kanaele_zur_manipulation_der_kanal-nummer&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;10700-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 Feb 2026 15:57:20 +0000</pubDate>
        </item>
    </channel>
</rss>
