<?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:spezial:pyprogramgenerator</title>
        <description></description>
        <link>https://wiki.mobaledlib.de/</link>
        <lastBuildDate>Sat, 18 Apr 2026 16:58:46 +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>arduinoeinstellungen</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/arduinoeinstellungen</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pyprogramgenerator_-_arduino-einstellungen&quot;&gt;pyProgramGenerator - ARDUINO-Einstellungen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Hier können Sie die Einstellungen für den ARDUINO vornehmen.
&lt;/p&gt;

&lt;p&gt;
Schliessen Sie den ARDUINO an einen USB Port an. Der ARDUINO wird automatisch in der Liste der gefundenen Geräte angezeigt. Wenn nur ein ARDUINO gefunden wurde, wird er automatisch auch als Anschluss eingetragen. Sie könnnen dies aber auch von Hand ändern.
Der Boardtyp wird auch automatisch übernommen.
&lt;/p&gt;

&lt;p&gt;
Wenn mehrer ARDUINOs angeschlossen sind, können Sie den ausgewählten ARDUINO blinken lassen.
&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;pyProgramGenerator - ARDUINO-Einstellungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pyprogramgenerator_-_arduino-einstellungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-527&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;die_eingabefelder&quot;&gt;Die Eingabefelder&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;„Alle Anschlüße zeigen“&lt;/strong&gt;: Es werden in der Liste all Anschlüsse angezeigt, auch die an denen kein ARDUINO erkannt wurde. Wenn man viele belegte USB-Anschlüsse hat, kann man diese Option löschen, damit nur die erkannten ARDUINOs angezeigt werden.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;„Automatisch übernehmen“&lt;/strong&gt;: Ist diese Option eingeschaltet, wird der gefundene ARDUINO automatisch unter „Anschluss“ und „Board Typ“ eingetragen, wenn nur ein ARDUINO gefunden wurde.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;„Anschluss“&lt;/strong&gt;: Com-Anschluss des ARDUINOs auswählen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Board-Typ&lt;/strong&gt;: Typ des ARDUINO-Boards („Nano/Uno (alt)“,„Nano/Uno (Neu)“, „Typ von ARDUINO IDE“) - bei der letzten Option wird der Typ des ARDUINOs von den IDE Einstellungen übernommen (nur für Experten)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;„Verbinden mit LED ARDUINO&lt;/strong&gt;: Eine Verbindung zum LED ARDUINO wird aufgebaut.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Initialisiere LED ARDUINO&lt;/strong&gt;: Ein Basis MLL-Programm wird an den LED ARDUINO geschickt. Damit reagiert der LED-ARDUINO richtig auf den Kommandos vom ProgrammGenerator&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Digital System&lt;/strong&gt;: Welches DigitalSystem wird für die Steuerung verwendet. (CAN, DCC, Selectrix) Diese Einstellung ist wichtig für das Programm, dass zum DCC/Selectrix ARDUINO geschickt wird, und für die Einstellung des LED ARDUINOs, auf welche Kommandos er hören soll.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Init DCC/Selectrix ARDUINO&lt;/strong&gt;: Initialisiert den DCC/Selectrox ARDUINO mit dem notwendigen Programm. Der DCC/Selectrix ARDUINO (und nur dieser) muss dazu mit dem USB-Anschluss des PCs verbunden sein&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Individuelle Pfad zur ARDUINO IDE&lt;/strong&gt;: Diese Option ist für Spezialisten, die die ARDUINO IDE nicht am Standard-ort installiert haben, oder pyProgrammGenerator auf einem Mac oder LINUX System nutzen wollen&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Die Eingabefelder&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;die_eingabefelder&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;528-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 03 Jan 2021 16:00:44 +0000</pubDate>
        </item>
        <item>
            <title>arduinomonitor</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/arduinomonitor</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pyprogramgenerator_-_arduino_monitor&quot;&gt;pyProgramGenerator - ARDUINO Monitor&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Diese Seite zeigt die Meldungen der ARDUINO-Tools beim Erzeugen des Programms und beim Hochladen an
&lt;/p&gt;

&lt;p&gt;
Das folgende Bild zeigt einen Screenshot des ARDUINO Monitors
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_11.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aarduinomonitor&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:colorcheck:wiki_pyproggen_11.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_11.jpg?w=600&amp;amp;tok=684369&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;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 03 Jan 2021 15:45:42 +0000</pubDate>
        </item>
        <item>
            <title>dcckeyboard</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/dcckeyboard</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pyprogramgenerator_-_dcc_-_keyboard&quot;&gt;pyProgramGenerator - DCC - Keyboard&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Der Keyboard Simulator schickt an den ARDUINO direkt Kommandos, die den Kommandos entsprechen, die der DCC-ARDUINO an den LED-ARDUINO schicken würde. 
Damit kann man die Funktion der DCC Schalter austesten.
&lt;/p&gt;

&lt;p&gt;
ACHTUNG: Beim ersten Tastendruck kann es etwas dauern, da der ARDUINO den Modus umschalten muss und eventuell neu verbunden wird. Manchmal reagiert der ARDUINO auch erst auf den 2ten Tastendruck
Das folgende Bild zeigt einen Screenshot der DCC Keyboard Seite.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_07.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Adcckeyboard&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:colorcheck:wiki_pyproggen_07.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_07.jpg?w=600&amp;amp;tok=4baa13&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;
Die Basis-Adresse ist die Startadresse mit der die Taster anfangen. Ansonsten verhält sich das Keyboard wie ein normales Keyboard. Bei Druck auf die Grüne-Taste wird ein Makro, das im ProgrammGenerator mit einer DCC-Adresse als Ein/Aus Schalter konfiguriert wurde, eingeschaltet. Mit der roten Taste wird er wider ausgeschaltet.
&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;pyProgramGenerator - DCC - Keyboard&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pyprogramgenerator_-_dcc_-_keyboard&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-925&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;can_und_l-net&quot;&gt;CAN und L-Net&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Das DCC-Keyboard kann auch mit CAN und LNET Programmen verwendet werden und funktioniert dort genauso wie mit DCC.
&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;CAN und L-Net&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;can_und_l-net&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;926-1068&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;selectrix&quot;&gt;Selectrix&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Das DCC-Keyboard kann auch mit Selectrix Programmen verwendet werden. Allerdings muß man dann die Adresse etwas anders berechnen:
&lt;/p&gt;

&lt;p&gt;
DCC-Adresse = Selectrix-Adresse * 8 + Bitposition
&lt;/p&gt;

&lt;p&gt;
Beispiel:
Selectrix-Adresse: 10
Bitpos: 1
&lt;/p&gt;

&lt;p&gt;
DCC-Keyboardadresse: 81
&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;Selectrix&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;selectrix&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1069-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 03 Apr 2025 09:07:47 +0000</pubDate>
        </item>
        <item>
            <title>direct-mode-servo</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/direct-mode-servo</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;direct_mode_servo&quot;&gt;Direct Mode Servo&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
In der Servo Platine 510 wird das digitale Signal vom ARDUINO erst vo einem WS2811 Chip in drei analoge Werte umgewandelt (R,G,B). Diese drei anaolgen Signale werden dann von einem Attiny-85 eingelesen und in digitale Signale für die drei angeschlossenen Servos umgewandelt.
Dieser etwas umständliche Weg mußte gewählt werden, da die direkte Verarbeitung des ARDUINO Signals im Attiny nicht möglich erschien, da der Attiny dafür zu langsam war.
&lt;/p&gt;

&lt;p&gt;
Mit dem Direct Mode Servo hat es Eckhard geschafft, mit dem Attiny die ARDUINO Signale direkt auszuwerten und daraus die digitalen Servo Signale zu erzeugen.
Dieser direkte Weg hat mehrere Vorteile:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Einsparung des WS2811 - kleinere Platine&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; genauere Reaktion der Servos, da die Umwandlung in Analogsignale und Verarbeitunmg im Attiny zu Ungenauigkeiten führt.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; einfachere Programmierung der Endlagen&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Für den Aufbau einer Direct-Mode-Servo-Platine gibt es zwei Möglichkeiten:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die neue Platine 511 (in Entwicklung - noch nicht verfügbar)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Anpassung der Platine 510&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Direct Mode Servo&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;direct_mode_servo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-1074&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;platine_511&quot;&gt;Platine 511&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Beschreibung folgt, wenn die Platine verfügbar ist
&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;Platine 511&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;platine_511&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1075-1152&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;umbau_platine_510_zu_direct_mode_servo&quot;&gt;Umbau PLatine 510 zu Direct Mode Servo&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Da sich die Verfügbarkeit der echten 511 Direkt-Mode-Servo Platine etwas hinzieht (Schuld liegt bei mir, bzw. meinem Zeit-Budget für unser Hobby ;)) bin ich schon gefragt worden, wie die Anders-Bestückung der bisherigen 510er Servos Platine, quasi als Übergangs-Lösung, genau aussieht. Daher gibt es hier jetzt die 510 Umbau-Beschreibung, die ich auch Harold, als er mit dem Python Programm Generator, für den Direkt Mode-Servo begonnen hat, gegeben habe:
&lt;/p&gt;

&lt;p&gt;
Basis ist eine modifizierte MobaLedLib 510 Servoplatine. Bei dieser muss der WS2811 Chip weggelassen, bzw. entfernt werden. Ausserdem
müssen die Widerstände R5/R9/R10 weggelassen, bzw. entfernt werden. R5 und R9 würden die Lichtbus DI/DO Leitungen unzulässig dämpfen.
Statt R5 zu entfernen reicht es auch, die Brücke SERVO1 wieder zu öffnen. Statt R10 mit 1K sollte ein 10K Widerstand eingebaut werden,
wenn wir den ATTiny85 Pin 1 nicht zum I/O umkonfigurieren (dieser Pin wird nicht gebraucht), sondern als RESET belassen.
&lt;/p&gt;

&lt;p&gt;
Außerdem müssen statt des WS2811 Chips zwei Brücken eingebaut werden. Und zwar am Bauelementeplatz des WS2811 (egal ob DIP-8, oder SOP-8 unten)
von Pin 1 zu Pin 6 und von Pin 2 zu Pin 5. Bitte unbedingt die Zählweise der Pins beachten, die Brücken dürfen sich NICHT kreuzen!
&lt;/p&gt;

&lt;p&gt;
Bei einer Neubestückung können auch der Widerstand R1 und der Kondensator C1 weggelassen werden; bei einer Abänderung der alten
Variante stören sie aber nicht!
&lt;/p&gt;

&lt;p&gt;
Dazu kommen Bilder, die den Umbau, bis auf die 4,7K Servo-Pull-Up Widerstände R6, R7, R8, zeigen:
&lt;/p&gt;

&lt;p&gt;
Eine Diskussion zu dem Umbau findet Ihr hier:
&lt;a href=&quot;https://www.stummiforum.de/t226083f195-pyMLL-fuer-Windows-LINUX-und-MAC.html&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.stummiforum.de/t226083f195-pyMLL-fuer-Windows-LINUX-und-MAC.html&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.stummiforum.de/t226083f195-pyMLL-fuer-Windows-LINUX-und-MAC.html&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/lib/exe/fetch.php?tok=632ee1&amp;amp;media=https%3A%2F%2Ffiles.homepagemodules.de%2Fb851973%2Fresize%2F400x400%2Ff7t165060p2683352n2_dpZbBxOv.jpg&quot; class=&quot;media&quot; title=&quot;https://files.homepagemodules.de/b851973/resize/400x400/f7t165060p2683352n2_dpZbBxOv.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/lib/exe/fetch.php?tok=632ee1&amp;amp;media=https%3A%2F%2Ffiles.homepagemodules.de%2Fb851973%2Fresize%2F400x400%2Ff7t165060p2683352n2_dpZbBxOv.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;Bild1&quot; alt=&quot;Bild1&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/lib/exe/fetch.php?tok=e6e0f5&amp;amp;media=https%3A%2F%2Ffiles.homepagemodules.de%2Fb851973%2Fresize%2F400x400%2Ff7t165060p2683352n3_vzMZTtJx.jpg&quot; class=&quot;media&quot; title=&quot;https://files.homepagemodules.de/b851973/resize/400x400/f7t165060p2683352n3_vzMZTtJx.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/lib/exe/fetch.php?tok=e6e0f5&amp;amp;media=https%3A%2F%2Ffiles.homepagemodules.de%2Fb851973%2Fresize%2F400x400%2Ff7t165060p2683352n3_vzMZTtJx.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;Bild2&quot; alt=&quot;Bild2&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Dieses Bild zeigt schematisch, was zu ändern ist:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/lib/exe/fetch.php?tok=65f9b3&amp;amp;media=https%3A%2F%2Fmoba.beckerf.de%2FMobaLedLib1041.jpg&quot; class=&quot;media&quot; title=&quot;https://moba.beckerf.de/MobaLedLib1041.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/lib/exe/fetch.php?tok=65f9b3&amp;amp;media=https%3A%2F%2Fmoba.beckerf.de%2FMobaLedLib1041.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;Bild3&quot; alt=&quot;Bild3&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/lib/exe/fetch.php?tok=6148e7&amp;amp;media=https%3A%2F%2Fmoba.beckerf.de%2FMobaLedLib1042.jpg&quot; class=&quot;media&quot; title=&quot;https://moba.beckerf.de/MobaLedLib1042.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/lib/exe/fetch.php?tok=6148e7&amp;amp;media=https%3A%2F%2Fmoba.beckerf.de%2FMobaLedLib1042.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;mobaledlib1042.jpg&quot; alt=&quot;mobaledlib1042.jpg&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Programmieren kann man den ATTiny85, mit dem bekannten 400er Progger, aus dem Python Programm Generator heraus; fast an der selben Stelle, wie auch Hardies Variante. Es heißt dort „Servo 2“
&lt;/p&gt;

&lt;p&gt;
Es gibt aber auch eine einfachere Alternative zu dem 400er Progger, die mit dem Direct-Mode-Servo funktioniert: &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/einfacher-attiny-programmer&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator:einfacher-attiny-programmer&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator:einfacher-attiny-programmer&quot;&gt;Einfacher-Attiny-Programmer&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Zudem WICHTIG:&lt;/strong&gt; Die Chip Ein- und Ausgänge des ATTiny85 haben NICHT die selben physikalischen Eigenschaften der DI und DO Leitungen von echten WS2811/12 LEDs! Die Tiny Pins sind eigentlich für die Kommunikation von Chips untereinander, auf einer gemeinsamen Platine, gedacht. Man kann sie nicht, wie die WS2811/12 LEDs bis zu 2m voneinander entfernen!  Ich habe aber erfolgreich Reichweiten mit bis zu 50-70cm getestet. 
&lt;/p&gt;

&lt;p&gt;
Ergänzung: Eigentlich wisst ihr alle, die ihr eine normale MLL Hauptplatine verwendet, doch gut bescheid! Denn wenn ihr die Heartbeat LED dort weglasst (oder ohne MLL Hauptplatine mal eben einen freien Arduino dafür verwendet), hat die Reichweite zur ersten Nutz-LED andere Grenzen, als mit Heartbeat LED! Der Nano hat hier nämlich die selbe Physik, wie der DM Tiny. Nur macht der DM Tiny es nicht nur einmal vorwärts, sondern auch noch einmal rückwärts!
&lt;/p&gt;

&lt;p&gt;
Man sollte also, bei der DM modifizierten 510 Platine und später auch der orginären 511 Platine, nicht zu weit entfernt davor und dahinter im Strang echte WS2811/12 LEDs haben!
&lt;/p&gt;

&lt;p&gt;
Folgende Jumper müssen geschlossen werden:
SERVO, SERVO2, SERVO3 und nach Bedarf (letzter 510(1) in der Kette) TERM.
&lt;/p&gt;

&lt;p&gt;
SERVO1 ist egal, wenn R5 nicht bestückt ist und muss geöffnet werden, wenn R5 vorher mal bestückt wurde.
&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;Umbau PLatine 510 zu Direct Mode Servo&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;umbau_platine_510_zu_direct_mode_servo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1153-4900&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;adressierung_der_servos&quot;&gt;Adressierung der Servos&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Bei der modifizierten Platine belegt jeder Servo eine RGB-Adresse. (Bei der  originalen Platine hatte das gesamte Modul eine RGB-LED Adresse und die Servos wurde durch die R-G-B Kanäle angesprochen). 
Die Adressen bei der modifizierten Platine sind fortlaufend. D.h. erste Servo-Adresse 5, dann haben die beiden anderen Servos die Adresse 6 und 7.
Diese Adresse ist auch bei der Endlageneinstellung und in der Servo-Animation angegeben werden, damit der richtige Servo angesprochen wird.
&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;Adressierung der Servos&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;adressierung_der_servos&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;4901-5425&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;einstellung_der_endlagen&quot;&gt;Einstellung der Endlagen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Einstellung der Endlagen erfolgt über die „Servo2“ Seite des pyProgrammGenerators.
Die Beschreibung findest Du hier: 
&lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/servo2_seite&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator:servo2_seite&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator:servo2_seite&quot;&gt;pyProgrammGenerator - Servo2 Seite&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;Einstellung der Endlagen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;einstellung_der_endlagen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;5426-5676&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;programmierung_von_animationen&quot;&gt;Programmierung von Animationen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Programmierung von Animationen erfolgt durch den Servo-Animations Macro im pyProgrammGenerator. Detail ssind hier zu finden: &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/servo_animation&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator:servo_animation&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator:servo_animation&quot;&gt;pyProgrammGenerator - Servo Animation&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;Programmierung von Animationen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;programmierung_von_animationen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;5677-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 01 Jul 2024 11:30:30 +0000</pubDate>
        </item>
        <item>
            <title>einfacher-attiny-programmer</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/einfacher-attiny-programmer</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;einfacher_attiny_programmer&quot;&gt;Einfacher Attiny Programmer&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Für den Attiny der Direct-Mode-Servo-Platine gibt es noch eine alternative zu dem 400er Programmer, die auf einem Steckbrett aufgebaut werden kann:
&lt;/p&gt;

&lt;p&gt;
Ich habe mir einen sehr einfachen Programmer bestehend aus einem Nano, einem Null-Kraft-Sockel, einem 100nf Kondensator und 6 Kabeln gebaut siehe Bild.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/lib/exe/fetch.php?tok=47dfd9&amp;amp;media=https%3A%2F%2Ffiles.homepagemodules.de%2Fb851973%2Fresize%2F400x400%2Ff7t165060p2683662n2_CpzqLYXf.jpg&quot; class=&quot;media&quot; title=&quot;https://files.homepagemodules.de/b851973/resize/400x400/f7t165060p2683662n2_CpzqLYXf.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/lib/exe/fetch.php?tok=47dfd9&amp;amp;media=https%3A%2F%2Ffiles.homepagemodules.de%2Fb851973%2Fresize%2F400x400%2Ff7t165060p2683662n2_CpzqLYXf.jpg&quot; class=&quot;media&quot; loading=&quot;lazy&quot; title=&quot;f7t165060p2683662n2_cpzqlyxf.jpg&quot; alt=&quot;f7t165060p2683662n2_cpzqlyxf.jpg&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Die Anleitung dazu habe ich hier gefunden:
&lt;/p&gt;
&lt;iframe src=&quot;//www.youtube-nocookie.com/embed/Z_MhVSlMZI8?&quot; width=&quot;425&quot; height=&quot;239&quot; style=&quot;width:425px;height:239px;&quot; class=&quot;vshare vshare__none&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; data-domain=&quot;www.youtube-nocookie.com&quot; loading=&quot;lazy&quot;&gt;&lt;h3&gt;&lt;/h3&gt;&lt;/iframe&gt;
&lt;p&gt;
Diese Anleitung ist sehr einfach nachzuvollziehen. Ist aber leider nur auf Englisch.
&lt;/p&gt;

&lt;p&gt;
Eine Anleitung auf Deutsch gibt es hier:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wolles-elektronikkiste.de/attiny-mit-arduino-code-programmieren&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://wolles-elektronikkiste.de/attiny-mit-arduino-code-programmieren&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://wolles-elektronikkiste.de/attiny-mit-arduino-code-programmieren&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 30 Jun 2024 09:15:25 +0000</pubDate>
        </item>
        <item>
            <title>einstellungen</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/einstellungen</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pyprogramgenerator_-_einstellungen&quot;&gt;pyProgramGenerator - Einstellungen&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Hier können Sie die Grundeinstellungen für das Programm an Ihre Wünsche anpassen.
&lt;/p&gt;

&lt;p&gt;
Das folgende Bild zeigt einen Screenshot der Einstellungen Seite
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_14.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aeinstellungen&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:colorcheck:wiki_pyproggen_14.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_14.jpg?w=600&amp;amp;tok=0ae5d2&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;pyProgramGenerator - Einstellungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pyprogramgenerator_-_einstellungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-273&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;eingabefelder&quot;&gt;Eingabefelder&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Farbauswahl&lt;/strong&gt;: Hier kann man wählen, ob im Farb-Tester für die Farbauswahl ein Farbrad oder der HSV-Farbtonwähler verwendet werden soll.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Startseite&lt;/strong&gt;: Gibt an, mit welcehr Seite PyProgrammGenerator gestartet werden soll&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Maximale Anzahl LED&lt;/strong&gt;: Gibt an, wieviele LED sich maximal in der Kette befinden. Max ist 255. Sollte so niedrig wie möglich eingestellt werden, um Speicher im ARDUINO zu sparen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;LED-Farbkorrektur&lt;/strong&gt;: Die Farbe der LEDs entspricht nicht der Farbanzeige am Monitor. Die LEDs haben eine Farbstich. Durch dies LED-Farbkorrektur kann dieser Farbstich korrigiert werden.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Z21 Portliste verwenden&lt;/strong&gt;: Diese Funktion ist noch nicht implementiert.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;strong&gt;Schriftgröße anpassen&lt;/strong&gt;: Bei kleinen Bildschirmen kann die Schriftgrösse angepasst werden, um den Text besser und vollständig lesen zu könen&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Eingabefelder&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;eingabefelder&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;274-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 03 Jan 2021 16:08:18 +0000</pubDate>
        </item>
        <item>
            <title>farbtest</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/farbtest</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pyprogrammgenerator_-_der_farbtester&quot;&gt;PyProgrammGenerator - Der Farbtester&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Der Farbtester ist jetzt ein Teil des pyProgrammGenerators. Der pyProgrammGenerator und ergänzt jetzt das Excelprogramm mit einer graphischen Benutzeroberfläche und verschiedenen Tools. Da es Python basiert ist, läuft es auch auf nicht Windows Plattformen, wie z.B. Linux oder Mac
&lt;/p&gt;

&lt;p&gt;
Eine erste Beschreibung findet Ihr hier:&lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator&quot;&gt;pyProgramGenerator&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Der Farbtester unterstützt die Arbeit mit der MobaLedLib.
&lt;/p&gt;

&lt;p&gt;
Der Farbtester bietet dabei folgende Funktionen:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Testen von Farbeinstellungen direkt am ARDUINO&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Speichern von Farbeinstellung in der Col-Tab&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Korrektur der Monitoransicht der Farben um Farbstich der LED zu kompensieren&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Automatisches Verbinden mit dem ARDUINO&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sofortiges Senden von Einstellungsänderungen an den ARDUINO&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Monitoring der seriellen Schnittstelle des ARDUINO&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PyProgrammGenerator - Der Farbtester&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pyprogrammgenerator_-_der_farbtester&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-896&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit2&quot; id=&quot;das_menue&quot;&gt;Das Menue&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Datei&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Farbpalette von Datei lesen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Farbpalette in Datei speichern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; LED Tabelle von Datei lesen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; LED Tabelle in Datei speichern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Beenden und Daten speichern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Beenden ohne Daten zu speichern&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Farbpalette&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; letzte Änderung rückgängig machen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; von Datei lesen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; in Datei speichern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Auf Standard zurück setzen&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; ARDUINO&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Verbinden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Trennen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Alle LED aus&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Hilfe&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Hilfe öffnen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; About …&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Das Menue&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;das_menue&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;897-1408&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;tabulator-fenster&quot;&gt;Tabulator-Fenster&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Die verschiedenen Fenster können über Tabulatoren erreicht werden.
Es stehen folgende Fenster zur Verfügung:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Led Farbtest&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Effekt Test&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Effekt Macro&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Sound Test&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Serial Monitor&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Einstellungen&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Tabulator-Fenster&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tabulator-fenster&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1409-1657&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit4&quot; id=&quot;led_farbtest_seite&quot;&gt;LED Farbtest Seite&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/colorcheck/image002.png?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Afarbtest&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:colorcheck:image002.png&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/colorcheck/image002.png?w=600&amp;amp;tok=5469a2&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;
Die Farbauswahlseite erlaubt es die  Wirkung einer LED-Farbe direkt zu testen.
Dazu bietet sie die Möglichkeit die LED auszuwählen, die gewünschte LED-Farbe einzustellen und diese dann an den ARDUINO zu senden.
&lt;/p&gt;

&lt;p&gt;
Zur Auswahl der Farbe stehen folgende Hilfsmittel 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;LED Farbtest Seite&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;led_farbtest_seite&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1658-2034&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;farbrad_mit_helligkeitsbalken&quot;&gt;Farbrad mit Helligkeitsbalken&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Durch Anklicken eines Punktes im Farbrad kann die Farbe und Sättigung eingestellt werden.
Die Helligkeit kann über den Helligkeitsbalken oberhalb eingestellt werden.
&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;Farbrad mit Helligkeitsbalken&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;farbrad_mit_helligkeitsbalken&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2035-2244&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;eingabefelder&quot;&gt;Eingabefelder:&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Eingabefelder rechts zeigen die eingestellte Farbe in verschiedenen Farbmodi an:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Farbton/Sattigung/Helligkeit:  HSV-Modus&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Rot/Grün/Blau: RGB-Modus&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;abbr title=&quot;HyperText Markup Language&quot;&gt;HTML&lt;/abbr&gt;: Hexadezimaldarstellung der Farbe&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Farbtemperatur&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Eingabefelder:&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;eingabefelder&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2245-2493&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;farbpalette&quot;&gt;Farbpalette&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Farbpalette enthält die Farben der ColTab aus der MobaLedLib.
Zu Beginn enthält sie voreingestellte Farben für typische Beleuchtung.
&lt;/p&gt;

&lt;p&gt;
Die Farbe kann durch Anklicken ausgewählt werden und wird zur „Aktuellen Farbe“.
Ausserdem kann die aktuelle Farbeinstellung durch „CTRL-Click“ mit der rechten Maustaste in einem Palettenfeld gespeichert werden.
Das Palettenfeld zeigt die Farben IMMER mit der maximalen Helligkeit an, damit der Farbeindruck erhalten bleibt.
&lt;/p&gt;

&lt;p&gt;
Die Anzeige „xx%“ zeigt die eingestellte Helligkeit an.
&lt;/p&gt;

&lt;p&gt;
Mit &amp;lt;CTRL-Z&amp;gt; kann man die Einstellungen wieder rückgängig machen.
&lt;/p&gt;

&lt;p&gt;
Mit der rechten Maustaste wird ein Kontextmenu geöffnet:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; aktuelle Farbe in Palette uebernehmen [CRTL-rechte Maustaste]&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Palettenfarbe zur aktuellen Farbe machen [Linke Maustaste]&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Paletten Farbe auf Standard zuruecksetzen&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
ACHTUNG: Die Farben am Monitor entsprechen nicht unbedingt den LED Farben. Zum einen werden die dunklen LED Farben auf dem Monitor fast schwarz, zum anderen haben alle RGB LED einen Farbstich.
Deswegen werden die Farben folgendermassen dargestellt:
&lt;/p&gt;

&lt;p&gt;
ALLE Farben auf dem Monitor haben 100% Helligkeit. Damit kann man Farbe und Sättigung gut erkennen. Die Helligkeit wird bei den Farben in % mit angegeben. z.b. 50% für eine LED mit halber Helligkeit.
Den Farbstich kann man etwas durch die Farbkorrektor auf der Einstellungen-Seite korrigieren.
&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;Farbpalette&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;farbpalette&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2494-3904&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;led_steuerung&quot;&gt;LED Steuerung:&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Mit diesen Kontrollen kann man die LED auswählen, deren Farbe geändert werden soll.
Wenn man die LED Adresse oder die Anzahl der LED ändert, blinken die ausgewählten LED zuerst hell. Damit hat man die Möglichkeit die LEDs zu identifizieren und zu überprüfen, 
ob die richtige(n) LED8s) ausgewählt wurden.
&lt;/p&gt;

&lt;p&gt;
Das Blinken wird beendet durch:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die Schaltfläche „Blinken beenden“ anklicken – die LED leuchtet dann mit ihrer zuletzt eingestellten Farbe oder gar nicht, wenn sie vorher aus war&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die „aktuelle Farbe“ anklicken – die LED erhält dann die aktuelle Farbe&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; eine Farbe aus der Farbpalette anklicken – die LED erhält dann die aktuelle Farbe&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; eine Farbe auf dem Farbwähler anklicken oder die Zahlen in den Eingabefeldern ändern - die LED erhält dann die aktuelle Farbe&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Folgende Parameter stehen zur Verfügung:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; LED-Adresse: Gibt die Nummer der LED an, die in der ausgewählten Farbe leuchten soll.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; LED Anzahl: Gibt die Anzahl der LEDs an, die mit der Farbe leuchten sollen. Sinnvoll z.B: bei Strassen und Bahnsteigbeleuchtung, bei der viele LEDs mit der gleichen Farbe/Helligkeit leuchten sollen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Schalter „Alle LED aus“: Beim Anklicken, werden alle LEDs ausgeschaltet.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;LED Steuerung:&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;led_steuerung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;3905-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 03 Jan 2021 14:57:50 +0000</pubDate>
        </item>
        <item>
            <title>installation</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/installation</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pymobaledlib_installation_windows&quot;&gt;pyMobaLedLib Installation Windows&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Erst die MobaLedLib entsprechend der Installationsanweisung installieren - auch wenn man die Excel-Version nicht nutzen möchte!!
&lt;/p&gt;

&lt;p&gt;
Für die Installation der pyMobaLedLib unter Windows steht ein eigenes Paket zur Verfügung.
&lt;/p&gt;

&lt;p&gt;
Das Paket findet man im GitHub Release-Verzeichnis: &lt;a href=&quot;https://github.com/haroldlinke/pyMobaLedLib/releases&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/haroldlinke/pyMobaLedLib/releases&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/haroldlinke/pyMobaLedLib/releases&lt;/a&gt;.
Bitte den neuesten Release verwenden auch wenn er „nur“ Beta-Status hat.
&lt;/p&gt;

&lt;p&gt;
Auf die Release-Nummer klicken.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/pymll02.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Ainstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:pymll02.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/pymll02.jpg?w=400&amp;amp;tok=ee09e6&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Die Datei pyMobaLedLib_win_x.x.x.zip herunterladen.
&lt;/p&gt;

&lt;p&gt;
Das Programm kann in jedem beliebigen Verzeichnis installiert werden.
&lt;/p&gt;

&lt;p&gt;
Ich habe es im Verzeichnis  
&lt;/p&gt;

&lt;p&gt;
Dokumente\pyMLL
&lt;/p&gt;

&lt;p&gt;
abgespeichert.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/pymll13.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Ainstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:pymll13.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/pymll13.jpg?w=600&amp;amp;tok=dc0b09&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;
&lt;strong&gt;ACHTUNG: In einer früheren Version hatte ich vorgeschlagen, die PyMobaLedLib im Libraries-Verzeichnis zu installieren. Dies bitte NICHT machen. Das Libarries-Verzeichnis sollte nur von offiziellen ARDUINO-Libraries genutzt werden. Eine Änderung im Libraries-Verzeichnis kann zu Problemen beim Kompilieren von ESP32 Programmen führen und eventuell auch andere Probleme machen!!&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Sollte es bereits einen Ordner pyMobaLedLib_xxxx mit einer alten Installation geben. Diesen bitte löschen.
&lt;/p&gt;

&lt;p&gt;
Mit der rechte Maustaste die zip-Datei anklicken und „Alle extrahieren“ auswählen.
&lt;/p&gt;

&lt;p&gt;
Im folgenden Dialog „Extrahieren“ anklicken.
&lt;/p&gt;

&lt;p&gt;
Es wird ein neues Verzeichnis mit dem Namen der zip-Datei angelegt.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/pymll14.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Ainstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:pymll14.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/pymll14.jpg?w=600&amp;amp;tok=9d334e&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;
Dieser Ordner kann in „pyMobaLedLib“ umbenannt werden - muß aber nicht.
&lt;/p&gt;

&lt;p&gt;
Den Ordner pyMobaLedLib_xxx öffnen:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/pymll15.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Ainstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:pymll15.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/pymll15.jpg?w=600&amp;amp;tok=a77944&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;
In dem Ordner befindet sich die Datei &lt;strong&gt;pyMobaledLib.bat&lt;/strong&gt;.
&lt;/p&gt;

&lt;p&gt;
Diese Datei ist die Startdatei für die pyMobaLedLib.
&lt;/p&gt;

&lt;p&gt;
Beim Starten des Programms wird sich Windows beschwere, daß es die Datei nicht kennt.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/pymll16.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Ainstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:pymll16.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/pymll16.jpg?w=600&amp;amp;tok=0ee6d8&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;
Bitte „Trotzdem Ausführen“ anklicken.
&lt;/p&gt;

&lt;p&gt;
Beim Starten überprüft das Programm, ob es eine neuere Version in Github gibt.
&lt;/p&gt;

&lt;p&gt;
Wenn ja, wird eine entsprechende Meldung angezeigt.
&lt;/p&gt;

&lt;p&gt;
Zum Updaten des Programms geht man folgendermaßen vor:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/pymll17.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Ainstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:pymll17.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/pymll17.jpg?w=600&amp;amp;tok=1404d7&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;
Im Programmgenerator den Button „Optionen“ anklicken.
&lt;/p&gt;

&lt;p&gt;
In dem Fenster den Reiter „Update“ auswählen.
&lt;/p&gt;

&lt;p&gt;
In dem Fenster den Button „Aktualisiere pyMobaLedLib“ anklicken.
&lt;/p&gt;

&lt;p&gt;
Das Programm fragt dann nochmal nach, ob man die neue Version herunterladen will und startetr dann den Download.
&lt;/p&gt;

&lt;p&gt;
Nach dem Download fragt das Programm, ob es die neue Version starten soll. Wenn ja, wird das aktuelle Programm beendet und die neue Version gestartet.
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 31 May 2024 09:46:03 +0000</pubDate>
        </item>
        <item>
            <title>linux_mint_installation</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/linux_mint_installation</link>
            <description>&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;:1,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;&lt;div class=&quot;wrap_center wrap_round wrap_todo plugin_wrap&quot; style=&quot;width: 60%;&quot;&gt;
&lt;p&gt;
Achtung Baustelle. Anleitung noch im Aufbau
&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;:2,&amp;quot;range&amp;quot;:&amp;quot;0-&amp;quot;} --&gt;
&lt;h1 class=&quot;sectionedit3&quot; id=&quot;installation_auf_einem_rechner_mit_ubuntu_zblinux_mint&quot;&gt;Installation auf einem Rechner mit Ubuntu (z.B.: Linux Mint)&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Die Installation auf einem Rechner mit Linux ist einfach und je nach Internetleitung innerhalb von 15 - 60 Minuten erledigt.
&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;Installation auf einem Rechner mit Ubuntu (z.B.: Linux Mint)&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installation_auf_einem_rechner_mit_ubuntu_zblinux_mint&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;84-284&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;vorraussetzung&quot;&gt;Vorraussetzung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
PC oder Laptop mit einem aktuellen Linuxsystem. &lt;br/&gt;

Die Anleitung hier verwendet einen alten Laptop mit Linux Mint 22.1 Cinnamon
&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;Vorraussetzung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vorraussetzung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;285-440&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;schritt_1die_arduino_ide_auf_dem_linuxrechner_installieren&quot;&gt;Schritt 1: Die ARDUINO IDE auf dem Linuxrechner installieren&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Im Prinzip erfolgt die Installation der ARDUINO IDE auf dem Linuxrechner ähnlich der Installation auf einem Windows PC. Da es einige kleine aber wichtige Unterschiede gibt, findest Du im folgenden die angepasste Anleitung:
&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: Die ARDUINO IDE auf dem Linuxrechner installieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schritt_1die_arduino_ide_auf_dem_linuxrechner_installieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;441-739&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;installation_arduino_ide&quot;&gt;Installation ARDUINO IDE&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Los geht’s&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Als Einstieg und zum Ausprobieren reichen
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ein Arduino (Original oder preiswerter Clone)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ein paar WS2812 RGB-LEDs und&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; drei Kabel&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ein Rechner / Laptop mit Linux Mint 22.1 Cinnamon 64-Bit (32-Bit hat keine Unterstützung für Python 3.9) - Für einen 32-Bit Rechner/Laptop muß die LDME-Version von Mint installiert werden &lt;a href=&quot;https://linuxmint.com/download_lmde.php&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://linuxmint.com/download_lmde.php&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://linuxmint.com/download_lmde.php&lt;/a&gt;. Diese Version enthält python 3.11.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
völlig aus. Der Arduino kann ein Uno, Nano oder alles, was die MLL unterstützt, sein.
&lt;/p&gt;

&lt;p&gt;
Diese Anleitung gilt für eine Linux Umgebung mit einem installierten Linux Mint System.
&lt;/p&gt;

&lt;p&gt;
Zunächst muss man die aktuelle Arduino Entwicklungsumgebung IDE (Integrated Development Environment) herunterladen und installieren. Der Arduino WEB-Editor oder die Arduino App können für die MobaLedLib &lt;em class=&quot;u&quot;&gt;nicht&lt;/em&gt; genutzt werden.
&lt;/p&gt;

&lt;p&gt;
Die ARDUINO Download Seite erreicht man über den Link: 
&lt;a href=&quot;https://www.arduino.cc/en/Main/Software&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.arduino.cc/en/Main/Software&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.arduino.cc/en/Main/Software&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Es muß die &lt;strong&gt;Version 1.8.19&lt;/strong&gt; verwendet werden. ACHTUNG: Die 2.xx Version geht leider nicht.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/linuxmint/linuxmint_arduino_1.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:linuxmint:linuxmint_arduino_1.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/linuxmint/linuxmint_arduino_1.jpg?w=600&amp;amp;tok=557eeb&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 Rechner die passende Version &lt;strong&gt;LINUX 64 bits&lt;/strong&gt; auswählen und anklicken. 
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/linuxmint/linuxmint_arduino_2.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:linuxmint:linuxmint_arduino_2.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/linuxmint/linuxmint_arduino_2.jpg?w=600&amp;amp;tok=9b8717&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;
Anschließend wird man aufgefordert, für das Arduino Projekt zu spenden. Es ist gut, wenn man das großartige Projekt auf diese Weise unterstützt. Das Programm kann aber problemlos auch ohne Spenden heruntergeladen werden.
Das heruntergeladene Programm, hier „arduino-1.8.19-linux64.tar.gz“ findet man in dem „Downloads„-Ordner des Rechners.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01b.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01b.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01b.jpg?w=600&amp;amp;tok=375305&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;
Zur Installation wird das Programm entpackt. Ich habe es gleich im Downloads Ordner entpackt. Ist nicht optimal, aber funktioniert.
&lt;/p&gt;

&lt;p&gt;
Auf den Dateinamen Rechts-klicken und „Extract Here“ auswählen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01c.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01c.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01c.jpg?w=600&amp;amp;tok=f3744b&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;
Nach dem Entpacken in das entpackte Verzeichnis wechseln und die Datei install.sh doppelt anklicken. Es kann sein, dass die Datei nicht ausgeführt werden kann. Dann auf die Datei Rechts-klicken. Die Eigenschaften (properties) auswählen. Und bei „Execute“ „Anybody“ auswählen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/colorcheck/wiki_proggen_rasp_04.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:colorcheck:wiki_proggen_rasp_04.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/colorcheck/wiki_proggen_rasp_04.jpg?w=400&amp;amp;tok=7b6531&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/colorcheck/wiki_proggen_rasp_05.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:colorcheck:wiki_proggen_rasp_05.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/colorcheck/wiki_proggen_rasp_05.jpg?w=400&amp;amp;tok=328ec1&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Das Installationsscript erzeugt ein Desktop Icon für die ARDUINO Benutzeroberfläche.
&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;Installation ARDUINO IDE&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installation_arduino_ide&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;740-3291&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;schritt_2die_mobaledlib_installieren&quot;&gt;Schritt 2: Die MobaLedLib installieren&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die Installation der MobaLedLib über die ARDUINO IDE erfolgt genauso, wie bei der original MLL, wie es hier beschrieben ist:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/quickstart&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:quickstart&quot; data-wiki-id=&quot;anleitungen:quickstart&quot;&gt;Anleitung für den ersten Schnelleinstieg&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Die ARDUINO IDE aufrufen durch Doppelklick auf das ARDUINO-Icon auf dem Desktop.
&lt;/p&gt;

&lt;p&gt;
Nun den Arduino an einen freien USB-Port anschließen. Linux installiert nun bei erstmaliger Verbindung USB/Geräte-Treiber für den Arduino. Bei fehlerfreier Installation sollten Serielle Schnitstelle und Arduino, wie im folgenden Bild dargestellt, aufrufbar sein. Die Bezeichnung der Seriellen-Schnittstelle ist abhängt von der Belegung der Schnittstellen des Raspi mit anderen Geräten.   
&lt;/p&gt;

&lt;p&gt;
Für Einsteiger ist möglicherweise ein kleiner zusätzlicher Test interessant. Mehr dazu am Ende der Anleitung unter &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/quickstart#test&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:quickstart&quot; data-wiki-id=&quot;anleitungen:quickstart&quot;&gt;Test&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 MobaLedLib installieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schritt_2die_mobaledlib_installieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3292-4174&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;ueberpruefung_sketch-ordner&quot;&gt;Überprüfung Sketch-Ordner&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Damit alle Funktionen der MobaLedLib aufgerufen werden können, muss der Pfad zum Sketch-Ordner auf dem Standard-Pfad stehen. &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/home/&amp;lt;user&amp;gt;/Arduino&lt;/pre&gt;

&lt;p&gt;
&lt;br/&gt;

Dies kann über das Menü innerhalb der Arduino IDE gemacht werden. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01e.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01e.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01e.jpg?w=600&amp;amp;tok=cb8183&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;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01f.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01f.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01f.jpg?w=600&amp;amp;tok=5edc4d&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;
Zum Installieren der MLL in der ARDUINO IDE Tools - Manage Libraries aufrufen:
&lt;/p&gt;

&lt;p&gt;
Es öffnet sich der Library Manager (der Start kann länger dauern, also Geduld …).
&lt;/p&gt;

&lt;p&gt;
Im Filter &lt;strong&gt;MobaLedLib&lt;/strong&gt; eingeben und warten …
&lt;/p&gt;

&lt;p&gt;
Nach einiger Zeit erscheint die Beschreibung der MobaLedLib
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01g.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01g.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01g.jpg?w=600&amp;amp;tok=145522&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;
Etwas nach unter scrollen, bis die „install“ Schaltfläche sichtbar ist und anklicken.
&lt;/p&gt;

&lt;p&gt;
Es kommt die Frage ob die zusätzlichen Bibliotheken installiert werden sollen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01i.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01i.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01i.jpg?w=400&amp;amp;tok=647db0&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Diese Frage mit „Install all“ beantworten.
&lt;/p&gt;

&lt;p&gt;
Jetzt ist die ARDUINO und MLL Installation beendet.
Normalerweise wird jetzt mit dem Excel-Programm weiter gemacht. Da Excel unter Linux aber nicht läuft, benötigen wir jetzt die pyMobaLedlIb.
&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;\u00dcberpr\u00fcfung Sketch-Ordner&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ueberpruefung_sketch-ordner&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4175-5430&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;schritt_3pymobaledlib_installieren&quot;&gt;Schritt 3: PyMobaLedLib installieren&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Den neuesten Release der PyMobaLedLib von GitHub &lt;a href=&quot;https://github.com/haroldlinke/pyMobaLedLib/releases&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/haroldlinke/pyMobaLedLib/releases&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/haroldlinke/pyMobaLedLib/releases&lt;/a&gt; herunterladen. 
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01j.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01j.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01j.jpg?w=600&amp;amp;tok=3c73ea&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;
Hier ist die neueste Version die 5.2.5-beta.
&lt;/p&gt;

&lt;p&gt;
Auf &lt;strong&gt;Assets&lt;/strong&gt; klicken um die zu dem Release gehörenden Dateien zu sehen.
&lt;/p&gt;

&lt;p&gt;
Für Linux benötigen wir die Souce code Datei vom Typ &lt;strong&gt;tar.gz&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Für den Download auf den Link klicken.
&lt;/p&gt;

&lt;p&gt;
Die Datei wird ins Downloadsverzeichnis heruntergeladen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/mll-inst_raspi03.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:mll-inst_raspi03.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/mll-inst_raspi03.jpg?w=600&amp;amp;tok=ba0000&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;
Von dort die Datei in das ARDUINO-Daten Verzeichnis kopieren. Bei einer Standard-Installation der ARDUINO SW sollte dies das Verzeichnis: home/&amp;lt;user&amp;gt;/Arduino sein. Siehe Bild:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/mll-inst_raspi04.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:mll-inst_raspi04.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/mll-inst_raspi04.jpg?w=600&amp;amp;tok=88f13f&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;
Die ZIP-Datei „hier entpacken“, so daß sich das Verzeichnis pyMobaLedLib-xxxx in dem ARDUINO-Verzeichnis befindet. Siehe Bild oben.
&lt;/p&gt;

&lt;p&gt;
Dieses Verzeichnis muss in „pyMobaLedLib“ umbenannt werden.
&lt;/p&gt;

&lt;p&gt;
Als nächstes muss eine virtuelle Umgebung eingerichtet werden. Dies erfolgt über folgende Befehle
Diese virtuelle Umgebung verfügt über eine eigene Python3-Installation und unabhängigen Modulbibliothek.
Dazu benötigt man das Tool venv.
&lt;/p&gt;

&lt;p&gt;
Installation unter Mint:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;sudo apt install python3-venv python3-pip&lt;/pre&gt;

&lt;p&gt;
Achtung: Rootpasswort wird abgefragt.
&lt;/p&gt;

&lt;p&gt;
Danach erstellen des virtuellen environments:
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;python3 -m venv ~/pyMLL-env&lt;/pre&gt;

&lt;p&gt;
Die pyMobaledLib kann dann mit den Kommandos: 
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;source ~/pyMLL-env/bin/activate&lt;/pre&gt;

&lt;p&gt;
und
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;python3 /home/&amp;lt;user&amp;gt;/Arduino/pyMobaLedLib/python/pyMobaLedLib.py gestartet werden.&lt;/pre&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: PyMobaLedLib installieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schritt_3pymobaledlib_installieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;5431-7018&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;schritt_4desktop_icon_erstellen&quot;&gt;Schritt 4: Desktop Icon erstellen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Da dieser Aufruf doch etwas kompliziert ist, kann man auf dem Desktop ein Startskript anlegen.
&lt;/p&gt;

&lt;p&gt;
Wenn Sie ein Desktop Icon zum Aufruf der pyMobaledLib haben möchten, müssen Sie folgendermaßen vorgehen:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Den Pfad der pyMobaLedLib (“/home/&amp;lt;user&amp;gt;/Arduino/pyMobaLedLib/„) öffnen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; hier die Datei „Start_pyMobaLedLib.sh“ auswählen und mit einem Rechtsklick das Menü öffnen und bei „Senden an“ „Schreibtisch (Verknüpfung erstellen)“ auswählen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nun ist auf dem Desktop ein Verknpüfung vorhanden.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Diese Verknüpfung kann mit einem Rechtsklick und „Öffnen mit Terminal“ gestartet werden.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Schritt 4: Desktop Icon erstellen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schritt_4desktop_icon_erstellen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;7019-7674&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;schritt_5berechtigungen_zuweisen&quot;&gt;Schritt 5: Berechtigungen zuweisen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Für den Zugriff auf die USB-Schnittstelle des Arduinos, benötigt der Benutzer noch die Rechte für die Nutzung. &lt;br/&gt;

Diese kann über das Terminal zugewiesen werden. &lt;br/&gt;

&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; unten links auf das schwarze Symbol klicken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; den Befehl &lt;em&gt;sudo usermod -a -G dialout &amp;lt;BENUTZERNAME&amp;gt;&lt;/em&gt; eingeben. Dabei bitte wieder den Platzhalter &amp;lt;BENUTZERNAME&amp;gt; durch den korrekten Namen ersetzen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nun fragt das Fenster nach dem Kennwort für den Befehl.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Im Anschluss den Rechner neu starten, damit die Berechtigung korrekt geladen wird.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Schritt 5: Berechtigungen zuweisen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schritt_5berechtigungen_zuweisen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;7675-8245&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;schritt_6der_erste_aufruf_von_pymobaledlib&quot;&gt;Schritt 6: Der erste Aufruf von pyMobaLedLib&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Beim ersten Aufruf meldet sich das Programm mit einer fehlermeldung:
Die ARDUINO Bilbilothek wurde nicht gefunden.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01k.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01k.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01k.jpg?w=600&amp;amp;tok=0a063b&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;
Das ist bei Linux normal, da es leider keine automatische Möglichkeit gibt, den Installationsort der ARDUINO IDE zu bestimmen.
Diese Information müssen wir der pyMobaledLib von Hand mitteilen.
&lt;/p&gt;

&lt;p&gt;
Zuerst diese Meldung mit „OK“ bestätigen.
&lt;/p&gt;

&lt;p&gt;
Dannach kommt eine weitere Meldung, dass das Programm eine Verbindung zum ARDUINO aufbauen möchte.
&lt;/p&gt;

&lt;p&gt;
Zu dieser Meldung sagen wir „Nein“.
&lt;/p&gt;

&lt;p&gt;
Danach sehen wir die Startseite der pyMobaLedLib.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01l.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01l.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01l.jpg?w=600&amp;amp;tok=cea220&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;
Die Seite mit den &lt;strong&gt;ARDUINO Einstellungen&lt;/strong&gt; öffnen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01m.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01m.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01m.jpg?w=600&amp;amp;tok=606488&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;
Auf den Button „&lt;strong&gt;Pfad zur ARDUINO IDE auswählen&lt;/strong&gt;“ klicken.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01n.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01n.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01n.jpg?w=600&amp;amp;tok=1b81cf&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;
Die ARDUINO IDE befindet sich in dem Ordner, in dem wir vorher die ARDUINO IDE-Datei entpackt haben. In unserem Fall /home/&amp;lt;user&amp;gt;/Downloads/arduino-1.8.19
&lt;/p&gt;

&lt;p&gt;
Nicht vergessen, den Haken bei „&lt;strong&gt;Individuellen Pfad zur ARDUINO IDE verwenden&lt;/strong&gt;“ zu setzen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01o.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01o.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01o.jpg?w=600&amp;amp;tok=ee133f&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;
Am Besten die pyMobaLedLib jetzt neu starten.
&lt;/p&gt;

&lt;p&gt;
Nach dem Start kann es sein, daß das Programm weitere Bibliotheken installieren möchte. Diese Frage mit „Ja“ beantworten.
&lt;/p&gt;

&lt;p&gt;
Die Frage nach der Verbindung mit dem ARDUINO sollte wieder mit „Nein“ beantwortet werden, da das Programm unter Linux den Boardtyp nicht automatisch erkennen kann und dieser sehr wahrscheinlich falsch eingestellt ist.
Wir müssen den Boardtyp von Hand einstellen.
&lt;/p&gt;

&lt;p&gt;
Dazu den Programm Generator öffnen:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01p.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01p.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01p.jpg?w=600&amp;amp;tok=52d8ae&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;
Auf den Button „Optionen“ klicken.
&lt;/p&gt;

&lt;p&gt;
Es öffnet sich das Fenster mit dem man den Boardtyp festlegen kann.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01q.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01q.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01q.jpg?w=600&amp;amp;tok=049c81&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;
Den Haken bei „Automatisch erkennen“ löschen und den Boardtyp einstellen.
Beim nano gibt es verschiedene Typen:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; neue offizielle Nanos haben meist den Typ Nano (New Version)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; China Nachbauten den Typ Nano Normal (old Bootloader)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Sie können die verschiedenen Typen auch durch probieren und sehen ob es klappt.
&lt;/p&gt;

&lt;p&gt;
Nach der Einstellung des Boardtyps, den Button „&lt;strong&gt;Detect USB Port&lt;/strong&gt;“ anklicken:
&lt;/p&gt;

&lt;p&gt;
Es erscheint der USB-Port Auswahl Dialog
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01r.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01r.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01r.jpg?w=600&amp;amp;tok=81d19b&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;
Hier den Port auswählen, bei dem der Nano erkannt wird entweder mit einem Namen oder als USB Serial:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01s.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01s.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01s.jpg?w=600&amp;amp;tok=b4637c&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;
Mit OK bestätigen.
&lt;/p&gt;

&lt;p&gt;
Es kommt wahrscheinlich die Meldung, dass kein ARDUINO erkannt wurde.
Da die automatische Erkennung bei Linux meistens nicht funktioniert, diese Meldung mit „Nein“ ignorieren.
&lt;/p&gt;

&lt;p&gt;
Dieselbe Meldung kommt auch beim Hochladen eines Programms zum ARDUINO. Diese dann auch ignorieren.
&lt;/p&gt;

&lt;p&gt;
Sollte das Hochladen nicht klappen, liegt es meistens daran, dass der falsche Typ eingestellt wurde.
Die obige Prozedur dann bitte wiederholen und den richtigen Typ einstellen.
&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 6: Der erste Aufruf von pyMobaLedLib&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schritt_6der_erste_aufruf_von_pymobaledlib&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;8246-11485&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;pattern_configurator_aktivieren&quot;&gt;Pattern Configurator aktivieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn die &lt;strong&gt;Pattern Configurator&lt;/strong&gt; Seite nicht angezeigt wird, kann sie einfach durch eine Einstellung auf der „&lt;strong&gt;Einstellungen&lt;/strong&gt;“ Seite aktiviert werden.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01t.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Alinux_mint_installation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01t.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01t.jpg?w=600&amp;amp;tok=983cbb&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;
Bei der Option „Patterngenerator anzeigen muß ein Haken sein, damit die Pattern Configurator Seite angezeigt wird.
Nach dem Setzen des Hakes, die Einstellungen speichern und pyMobaledLib neu starten.
&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;Pattern Configurator aktivieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pattern_configurator_aktivieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;11486-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 11 Sep 2025 11:36:39 +0000</pubDate>
        </item>
        <item>
            <title>macinstallation</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/macinstallation</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;installation_auf_einem_mac&quot;&gt;Installation auf einem Mac&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Die Installation auf einem Mac ist sehr ähnlich der Installation auf einem Raspi.
&lt;/p&gt;

&lt;p&gt;
Hier ist eine Anleitung von Frank Becker:
&lt;a href=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-mac_installation_v2.pdf&quot; class=&quot;media mediafile mf_pdf&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-mac_installation_v2.pdf (4.3 MB)&quot;&gt;mll-mac_installation_v2.pdf&lt;/a&gt;
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 23 Apr 2025 07:37:51 +0000</pubDate>
        </item>
        <item>
            <title>patternconfigurator</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/patternconfigurator</link>
            <description>
&lt;p&gt;
Python PatterConfigurator
&lt;/p&gt;

&lt;p&gt;
in Arbeit …
&lt;/p&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 15 Apr 2025 10:01:15 +0000</pubDate>
        </item>
        <item>
            <title>programmgenerator</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/programmgenerator</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pymobaledlib_-_der_programm_generator&quot;&gt;pyMobaLedLib - Der Programm Generator&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Das folgende Bild zeigt einen Screenshot des ProgrammGenerators (Beispiel Raspi)
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/mll_raspi_01.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aprogrammgenerator&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:mll_raspi_01.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/mll_raspi_01.jpg?w=400&amp;amp;tok=e22cd8&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Der pyProgrammGenerator sieht genauso aus, wie der Excel ProgrammGenerator und wird auch genauso bedient.
Es sind deshalb alle Anleitungen für den Excel Programmgenerator auch für den PyProgrammgenerator gültig:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/programmgenerator&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:programmgenerator&quot; data-wiki-id=&quot;anleitungen:programmgenerator&quot;&gt;Anleitung zum Programm-Generator&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;pyMobaLedLib - Der Programm Generator&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pymobaledlib_-_der_programm_generator&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-466&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;zusaetzliche_funktionen&quot;&gt;Zusätzliche Funktionen&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;Zus\u00e4tzliche Funktionen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zusaetzliche_funktionen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;467-503&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;assistenten_zur_erzeugung_von_individuellen_pattern&quot;&gt;Assistenten zur Erzeugung von individuellen Pattern&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der Pattern Configurator erlaubt die Erstellung von ausgefeilten individuellen Pattern zur LED und Servosteuerung.
Durch seine Flexibilität benötigt der Pattern Configurator etwas Einarbeitung.
&lt;/p&gt;

&lt;p&gt;
Um auch anderen Anwendern die Erstellung von individuellen Pattern zu erleichtern gibt es im PyProgrammGenerator Assistenten, die diese Pattern nach Eingabe von wenigen Daten erzeugen.
&lt;/p&gt;

&lt;p&gt;
Folgende Assistenten stehen zur Verfügung:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo Animation&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; LED Farbverlauf Animation (noch nicht freigegeben)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; LED Helligkeit Animation (noch nicht freigegeben)&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Alle 3 Animations Assistenten haben einen ähnlichen Aufbau.
&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;Assistenten zur Erzeugung von individuellen Pattern&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;assistenten_zur_erzeugung_von_individuellen_pattern&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;504-1185&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;auswahl_der_assistenten&quot;&gt;Auswahl der Assistenten&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Assistenten werden genauso wie ein Macro, z.B. der HausMacro, im Macro Dialog ausgewählt:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/pymll06.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aprogrammgenerator&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:pymll06.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/pymll06.jpg?w=400&amp;amp;tok=570986&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&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;Auswahl der Assistenten&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;auswahl_der_assistenten&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1186-1357&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;servo_animation&quot;&gt;Servo Animation&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Beschreibung der Servo Animation findest Du hier: &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/servo_animation&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator:servo_animation&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator:servo_animation&quot;&gt;pyProgrammGenerator - Servo Animation&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;Servo Animation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;servo_animation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1358-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 30 Jun 2024 07:51:17 +0000</pubDate>
        </item>
        <item>
            <title>programmvorschau</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/programmvorschau</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pyprogramgenerator_-_programm_vorschau&quot;&gt;pyProgramGenerator - Programm Vorschau&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Das folgende Bild zeigt einen Screenshot der Programmvorschau Seite
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_03.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aprogrammvorschau&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:colorcheck:wiki_pyproggen_03.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_03.jpg?w=600&amp;amp;tok=545f0a&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;
Die Programmvorschau zeigt den erstellten Code für den ARDUINO an. (Nur für Experten)
&lt;/p&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 03 Jan 2021 15:05:32 +0000</pubDate>
        </item>
        <item>
            <title>raspberryinstallation</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/raspberryinstallation</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;installation_auf_einem_raspberry&quot;&gt;Installation auf einem Raspberry&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;em class=&quot;u&quot;&gt;&lt;strong&gt;ACHTUNG: Die Seite ist noch in ARBEIT - die Angaben hier beziehen sich auf ein alte Version&lt;/strong&gt;&lt;/em&gt;
&lt;/p&gt;

&lt;p&gt;
Die Installation der MobaLedLib auf einem Raspberry Pi wird folgendermassen durchgeführt:
&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;Installation auf einem Raspberry&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installation_auf_einem_raspberry&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-241&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;vorraussetzung&quot;&gt;Vorraussetzung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Raspberry Pi 3B, B+ oder 4 mit installiertem Rasbian.
Ich empfehle die neueste Version zu installieren.
&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;Vorraussetzung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vorraussetzung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;242-373&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;schritt_1die_arduino_ide_auf_dem_raspberry_pi_installieren&quot;&gt;Schritt 1: Die ARDUINO IDE auf dem Raspberry Pi installieren&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Im Prinzip erfolgt die Installation der ARDUINO IDE auf dem Raspberry ähnlich der Installation auf einem Windows PC. Da es einige kleine aber wichtige Unterschiede gibt, findest Du im folgenden die angepasste Anleitung:
&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: Die ARDUINO IDE auf dem Raspberry Pi installieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schritt_1die_arduino_ide_auf_dem_raspberry_pi_installieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;374-669&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;installation_arduino_ide&quot;&gt;Installation ARDUINO IDE&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Los geht’s&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Als Einstieg und zum Ausprobieren reichen
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ein Arduino (Original oder preiswerter Clone)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ein paar WS2812 RGB-LEDs und&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; drei Kabel&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ein Raspberry PI 3 B, B+, 4 oder 5&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
völlig aus. Der Arduino kann ein Uno, Nano oder alles, was die MLL unterstützt.
&lt;/p&gt;

&lt;p&gt;
Diese Anleitung gilt für eine &lt;em class=&quot;u&quot;&gt;Raspberry&lt;/em&gt; Umgebung mit einem installierten Raspbian.
&lt;/p&gt;

&lt;p&gt;
Zunächst muss man die aktuelle Arduino Entwicklungsumgebung IDE (Integrated Development Environment) herunterladen und installieren. Der Arduino WEB-Editor oder die Arduino App können für die MobaLedLib &lt;em class=&quot;u&quot;&gt;nicht&lt;/em&gt; genutzt werden.
&lt;/p&gt;

&lt;p&gt;
Die ARDUINO Download Seite erreicht man über den Link: 
&lt;a href=&quot;https://www.arduino.cc/en/Main/Software&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.arduino.cc/en/Main/Software&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.arduino.cc/en/Main/Software&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Es muß die &lt;strong&gt;Version 1.8.19&lt;/strong&gt; verwendet werden. ACHTUNG: Die 2.xx Version geht leider nicht.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01a.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01a.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01a.jpg?w=600&amp;amp;tok=d4243d&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 Raspberry Pi den &lt;strong&gt;LINUX ARM 32 Installer&lt;/strong&gt; auswählwen und anklicken. 
&lt;/p&gt;

&lt;p&gt;
Anschließend wird man aufgefordert, für das Arduino Projekt zu spenden. Es ist gut, wenn man das großartige Projekt auf diese Weise unterstützt. Das Programm kann aber problemlos auch ohne Spenden heruntergeladen werden.
Das heruntergeladene Programm, hier „arduino-1.8.19-linux.arm.tar.gz“ findet man in dem „Downloads„-Ordner des Raspberry.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01b.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01b.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01b.jpg?w=600&amp;amp;tok=375305&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;
Zur Installation wird das Programm entpackt. Ich habe es gleich im Downloads Ordner entpackt. Ist nicht optimal, aber funktioniert.
&lt;/p&gt;

&lt;p&gt;
Auf den Dateinamen Rechts-klicken und „Extract Here“ auswählen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01c.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01c.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01c.jpg?w=600&amp;amp;tok=f3744b&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;
Nach dem Entpacken in das entpackte Verzeichnis wechseln und die Datei install.sh doppelt anklicken. Es kann sein, dass die Datei nicht ausgeführt werden kann. Dann auf die Datei Rechts-klicken. Die Eigenschaften (properties) auswählen. Und bei „Execute“ „Anybody“ auswählen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/colorcheck/wiki_proggen_rasp_04.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:colorcheck:wiki_proggen_rasp_04.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/colorcheck/wiki_proggen_rasp_04.jpg?w=400&amp;amp;tok=7b6531&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/colorcheck/wiki_proggen_rasp_05.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:colorcheck:wiki_proggen_rasp_05.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/colorcheck/wiki_proggen_rasp_05.jpg?w=400&amp;amp;tok=328ec1&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Das Installationsscript erzeugt ein Desktop Icon für die ARDUINO Benutzeroberfläche.
&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;Installation ARDUINO IDE&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;installation_arduino_ide&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;670-2881&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;schritt_2die_mobaledlib_installieren&quot;&gt;Schritt 2: Die MobaLedLib installieren&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die Installation der MobaLedLib über die ARDUINO IDE erfolgt genauso, wie bei der original MLL, wie es hier beschrieben ist:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/quickstart&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:quickstart&quot; data-wiki-id=&quot;anleitungen:quickstart&quot;&gt;Anleitung für den ersten Schnelleinstieg&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Die ARDUINO IDE aufrufen durch Doppelklick auf das ARDUINO-Icon auf dem Desktop.
&lt;/p&gt;

&lt;p&gt;
Nun den Arduino an einen freien USB-Port anschließen. Der Raspi installiert nun bei erstmaliger Verbindung USB/Geräte-Treiber für den Arduino. Bei fehlerfreier Installation sollten Serielle Schnitstelle und Arduino, wie im folgenden Bild dargestellt, aufrufbar sein. Die Bezeichnung der Seriellen-Schnittstelle ist abhängt von der Belegung der Schnittstellen des Raspi mit anderen Geräten.   
&lt;/p&gt;

&lt;p&gt;
Für Einsteiger ist möglicherweise ein kleiner zusätzlicher Test interessant. Mehr dazu am Ende der Anleitung unter &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/quickstart#test&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:quickstart&quot; data-wiki-id=&quot;anleitungen:quickstart&quot;&gt;Test&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 MobaLedLib installieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;schritt_2die_mobaledlib_installieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2882-3768&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;ueberpruefung_sketch-ordner&quot;&gt;Überprüfung Sketch-Ordner&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Damit alle Funktionen der MobaLedLib aufgerufen werden können, muss der Pfad zum Sketch-Ordner auf dem Standard-Pfad stehen. &lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;/home/&amp;lt;user&amp;gt;/Arduino&lt;/pre&gt;

&lt;p&gt;
&lt;br/&gt;

Dies kann über das Menü innerhalb der Arduino IDE gemacht werden. &lt;br/&gt;

&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01e.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01e.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01e.jpg?w=600&amp;amp;tok=cb8183&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;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01f.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01f.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01f.jpg?w=600&amp;amp;tok=5edc4d&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;
Zum Installieren der MLL in der ARDUINO IDE Tools - Manage Libraries aufrufen:
&lt;/p&gt;

&lt;p&gt;
Es öffnet sich der Library Manager (der Start kann auf dem Raspi länger dauern, als Geduld …).
&lt;/p&gt;

&lt;p&gt;
Im Filter &lt;strong&gt;MobaLedLib&lt;/strong&gt; eingeben und warten …
&lt;/p&gt;

&lt;p&gt;
Nach einiger Zeit erscheint die Beschreibung der MobaLedLib
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01g.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01g.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01g.jpg?w=600&amp;amp;tok=145522&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;
Etwas nach unter scrollen, bis die „install“ Schaltfläche sichtbar ist und anklicken.
&lt;/p&gt;

&lt;p&gt;
Es kommt die Frage ob die zusätzlichen Bibliotheken installiert werden sollen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01i.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01i.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01i.jpg?w=400&amp;amp;tok=647db0&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Diese Frage mit „Install all“ beantworten.
&lt;/p&gt;

&lt;p&gt;
Jetzt ist die ARDUINO und MLL Installation.
Normalerweise wird jetzt mit dem Excel-Programm weiter gemacht. Da Excel auf dem RASPI aber nicht läuft, benötigen wir jetzt die pyMobaLedlIb.
&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;\u00dcberpr\u00fcfung Sketch-Ordner&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ueberpruefung_sketch-ordner&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3769-5033&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;pymobaledlib_installieren&quot;&gt;PyMobaLedLib installieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Den neuesten Release der PyMobaLedLib von GitHub &lt;a href=&quot;https://github.com/haroldlinke/pyMobaLedLib/releases&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://github.com/haroldlinke/pyMobaLedLib/releases&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://github.com/haroldlinke/pyMobaLedLib/releases&lt;/a&gt; herunterladen. 
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01j.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01j.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01j.jpg?w=600&amp;amp;tok=3c73ea&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;
Hier ist die neueste Version die 5.2.5-beta.
&lt;/p&gt;

&lt;p&gt;
Auf &lt;strong&gt;Assets&lt;/strong&gt; klicken um die zu dem Release gehörenden Dateien zu sehen.
&lt;/p&gt;

&lt;p&gt;
Für Linux benötigen wir die Souce code Datei vom Typ &lt;strong&gt;tar.gz&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Für den Download auf den Link klicken.
&lt;/p&gt;

&lt;p&gt;
Die Datei wird ins Downloadsverzeichnis heruntergeladen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/mll-inst_raspi03.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:mll-inst_raspi03.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/mll-inst_raspi03.jpg?w=600&amp;amp;tok=ba0000&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;
Von dort die Datei in das ARDUINO-Daten Verzeichnis kopieren. Bei einer Standard-Installation der ARDUINO SW sollte dies das Verzeichnis: home/&amp;lt;user&amp;gt;/Arduino sein. Siehe Bild:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/mll-inst_raspi04.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:mll-inst_raspi04.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/mll-inst_raspi04.jpg?w=600&amp;amp;tok=88f13f&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;
Die ZIP-Datei „hier entpacken“, so daß sich das Verzeichnis pyMobaLedLib-xxxx in dem ARDUINO-Verzeichnis befindet. Siehe Bild oben.
&lt;/p&gt;

&lt;p&gt;
Dieses Verzeichnis kann in „pyMobaLedLib“ umbenannt werden. Muß aber nicht, der Name ist beliebig
&lt;/p&gt;

&lt;p&gt;
Die pyMobaledLib kann dann mit dem Kommando: Python3 /home/&amp;lt;user&amp;gt;/Arduino/pyMobaLedLib/python/pyMobaLedLib.py gestartet werden.
&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;PyMobaLedLib installieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pymobaledlib_installieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;5034-6172&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;desktop_icon_erstellen&quot;&gt;Desktop Icon erstellen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Da dieser Aufruf doch etwas kompliziert ist, kann man auf dem Desktop ein Icon installieren.
&lt;/p&gt;

&lt;p&gt;
Wenn Sie ein Desktop Icon zum Aufruf der pyMobaledLib haben möchten, müssen Sie folgendermaßen vorgehen:
&lt;/p&gt;

&lt;p&gt;
Erstellen Sie eine Textdatei mit folgendem Inhalt:
&lt;/p&gt;

&lt;p&gt;
[Desktop Entry]
&lt;/p&gt;

&lt;p&gt;
Type=Application
&lt;/p&gt;

&lt;p&gt;
Name=pyMLL
&lt;/p&gt;

&lt;p&gt;
GenericName=pyMll
&lt;/p&gt;

&lt;p&gt;
Comment=Open-source electronics prototyping platform
&lt;/p&gt;

&lt;p&gt;
Exec=python3 /home/&amp;lt;user&amp;gt;/Arduino/pyMobaLedLib/python/pyMobaLedLib.py
&lt;/p&gt;

&lt;p&gt;
Icon=/home/&amp;lt;user&amp;gt;/Arduino/pyMobaLedLib/python/images/06_Michael_MLL.png
&lt;/p&gt;

&lt;p&gt;
Terminal=false
&lt;/p&gt;

&lt;p&gt;
Categories=Development;IDE;Electronics;
&lt;/p&gt;

&lt;p&gt;
MimeType=text/x-arduino;
&lt;/p&gt;

&lt;p&gt;
Keywords=embedded electronics;electronics;avr;microcontroller;
&lt;/p&gt;

&lt;p&gt;
StartupWMClass=processing-app-Base
&lt;/p&gt;

&lt;p&gt;
Name[en_US]=pyMll
&lt;/p&gt;

&lt;p&gt;
Path=home/&amp;lt;user&amp;gt;/Arduino/pyMobaLedLib/python/

&lt;/p&gt;

&lt;p&gt;
&amp;lt;user&amp;gt; muß durch Deinen usernamen ersetzt werden.
&lt;/p&gt;

&lt;p&gt;
Diese Textdatei unter einem beliebigen Namen mit der Endung .desktop speichern Die Datei auf den Desktop ziehen.
&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;Desktop Icon erstellen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;desktop_icon_erstellen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;6173-7257&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;der_erste_aufruf_von_pymobaledlib&quot;&gt;Der erste Aufruf von pyMobaLedLib&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Beim ersten Aufruf meldet sich das Programm mit einer fehlermeldung:
Die ARDUINO Bilbilothek wurde nicht gefunden.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01k.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01k.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01k.jpg?w=600&amp;amp;tok=0a063b&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;
Das ist bei Linux normal, da es leider keine automatische Möglichkeit gibt, den Installationsort der ARDUINO IDE zu bestimmen.
Diese Information müssen wir der pyMobaledLib von Hand mitteilen.
&lt;/p&gt;

&lt;p&gt;
Zuerst diese Meldung mit „OK“ bestätigen.
&lt;/p&gt;

&lt;p&gt;
Dannach kommt eine weitere Meldung, dass das Programm eine Verbindung zum ARDUINO aufbauen möchte.
&lt;/p&gt;

&lt;p&gt;
Zu dieser Meldung sagen wir „Nein“.
&lt;/p&gt;

&lt;p&gt;
Danach sehen wir die Startseite der pyMobaLedLib.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01l.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01l.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01l.jpg?w=600&amp;amp;tok=cea220&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;
Die Seite mit den &lt;strong&gt;ARDUINO Einstellungen&lt;/strong&gt; öffnen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01m.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01m.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01m.jpg?w=600&amp;amp;tok=606488&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;
Auf den Button „&lt;strong&gt;Pfad zur ARDUINO IDE auswählen&lt;/strong&gt;“ klicken.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01n.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01n.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01n.jpg?w=600&amp;amp;tok=1b81cf&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;
Die ARDUINO IDE befindet sich in dem Ordner, in dem wir vorher die ARDUINO IDE-Datei entpackt haben. In unserem Fall /home/&amp;lt;user&amp;gt;/Downloads/arduino-1.8.19
&lt;/p&gt;

&lt;p&gt;
Nicht vergessen, den Haken bei „&lt;strong&gt;Individuellen Pfad zur ARDUINO IDE verwenden&lt;/strong&gt;“ zu setzen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01o.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01o.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01o.jpg?w=600&amp;amp;tok=ee133f&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;
Am Besten die pyMobaLedLib jetzt neu starten.
&lt;/p&gt;

&lt;p&gt;
Nach dem Start kannes sein, daß das Programm weitere Bibliotheken installieren möchte. Diese Frage mit „Ja“ beantworten.
&lt;/p&gt;

&lt;p&gt;
Die Frage nach der Verbindung mit dem ARDUINO sollte wieder mit „Nein“ beantwortet werden, da das Programm unter Linux den Boardtyp nicht automatisch erkennen kann und dieser sehr wahrscheinlich falsch eingestellt ist.
Wir müssen den Boardtyp von Hand einstellen.
&lt;/p&gt;

&lt;p&gt;
Dazu den Programm Generator öffnen:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01p.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01p.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01p.jpg?w=600&amp;amp;tok=52d8ae&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;
Auf den Button „Optionen“ klicken.
&lt;/p&gt;

&lt;p&gt;
Es öffnet sich das Fenster mit dem man den Boardtyp festlegen kann.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01q.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01q.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01q.jpg?w=600&amp;amp;tok=049c81&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;
Den Haken bei „Automatisch erkennen“ löschen und den Boardtyp einstellen.
Beim nano gibt es verschiedene Typen:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; neue offizielle Nanos haben meist den Typ Nano (New Version)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; China Nachbauten den Typ Nano Normal (old Bootloader)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Sie können die verschiedenen Typen auch durch probieren und sehen ob es klappt.
&lt;/p&gt;

&lt;p&gt;
Nach der Einstellung des Boardtyps, den Button „&lt;strong&gt;Detect USB Port&lt;/strong&gt;“ anklicken:
&lt;/p&gt;

&lt;p&gt;
Es erscheint der USB-Port Auswahl Dialog
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01r.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01r.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01r.jpg?w=600&amp;amp;tok=81d19b&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;
Hier den Port auswählen, bei dem der Nano erkannt wird entweder mit einem Namen oder als USB Serial:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01s.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01s.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01s.jpg?w=600&amp;amp;tok=b4637c&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;
Mit OK bestätigen.
&lt;/p&gt;

&lt;p&gt;
Es kommt wahrscheinlich die Meldung, dass kein ARDUINO erkannt wurde.
Da die automatische Erkennung bei Linux meistens nicht funktioniert, diese Meldung mit „Nein“ ignorieren.
&lt;/p&gt;

&lt;p&gt;
Dieselbe Meldung kommt auch beim Hocvhladen eines Programms zum ARDUINO. Diese dann auch ignorieren.
&lt;/p&gt;

&lt;p&gt;
Sollte das Hochladen nicht klappen, liegt es meistens daran, dass der falsche Typ eingestellt wurde.
Die obige Prozedur dann bitte wiederholen und den richtigen Typ einstellen.
&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;Der erste Aufruf von pyMobaLedLib&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;der_erste_aufruf_von_pymobaledlib&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;7258-10484&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;pattern_configurator_aktivieren&quot;&gt;Pattern Configurator aktivieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn die &lt;strong&gt;Pattern Configurator&lt;/strong&gt; Seite nicht angezeigt wird, kann sie einfach durch eine Einstellung auf der „&lt;strong&gt;Einstellungen&lt;/strong&gt;“ Seite aktiviert werden.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01t.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Araspberryinstallation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:mll-inst_raspi01t.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/mll-inst_raspi01t.jpg?w=600&amp;amp;tok=983cbb&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;
Bei der Option „Patterngenerator anzeigen muß ein Haken sein, damit die Pattern Configurator Seite angezeigt wird.
Nach dem Setzen des Hakes, die Einstellungen speichern und pyMobaledLib neu starten.
&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;Pattern Configurator aktivieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pattern_configurator_aktivieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;10485-10957&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;desktop_icon&quot;&gt;Desktop Icon&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn Sie ein Desktop Icon zum Aufruf der pyMobaledLib haben möchten, müssen Sie folgendermaßen vorgehen:
&lt;/p&gt;

&lt;p&gt;
Erstellen Sie eine Textdatei mit folgendem Inhalt:
&amp;lt;webcode name=„Default“ frameborder=0 width=100% scrolling=yes externalResources=“,“ renderingMode=story &amp;gt;
&lt;/p&gt;

&lt;p&gt;
[Desktop Entry]
&lt;/p&gt;

&lt;p&gt;
Type=Application
&lt;/p&gt;

&lt;p&gt;
Name=pyMLL
&lt;/p&gt;

&lt;p&gt;
GenericName=pyMll
&lt;/p&gt;

&lt;p&gt;
Comment=Open-source electronics prototyping platform
&lt;/p&gt;

&lt;p&gt;
Exec=python3 /home/&amp;lt;user&amp;gt;/Arduino/pyMobaLedLib/python/pyMobaLedLib.py
&lt;/p&gt;

&lt;p&gt;
Icon=/home/&amp;lt;user&amp;gt;/Arduino/pyMobaLedLib/python/images/06_Michael_MLL.png
&lt;/p&gt;

&lt;p&gt;
Terminal=false
&lt;/p&gt;

&lt;p&gt;
Categories=Development;IDE;Electronics;
&lt;/p&gt;

&lt;p&gt;
MimeType=text/x-arduino;
&lt;/p&gt;

&lt;p&gt;
Keywords=embedded electronics;electronics;avr;microcontroller;
&lt;/p&gt;

&lt;p&gt;
StartupWMClass=processing-app-Base
&lt;/p&gt;

&lt;p&gt;
Name[en_US]=pyMll
&lt;/p&gt;

&lt;p&gt;
Path=home/&amp;lt;user&amp;gt;/Arduino/pyMobaLedLib/python/
&lt;/p&gt;

&lt;p&gt;
&amp;lt;user&amp;gt; muß durch Deinen usernamen ersetzt werden.
&lt;/p&gt;

&lt;p&gt;
Diese Textdatei unter einem beliebigen Namen mit der Endung .desktop speichern
Die Datei auf den Desktop ziehen.
&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;Desktop Icon&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;desktop_icon&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;10958-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 06 Jan 2025 16:37:04 +0000</pubDate>
        </item>
        <item>
            <title>serialmonitor</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/serialmonitor</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pyprogramgenerator_-_serila_monitor&quot;&gt;pyProgramGenerator - Serila Monitor&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Der Serial Monitor protokolliert die Kommunikation des Programms mit dem ARDUINO. Dies ist mehr für die Fehlerbehebung gedacht und für Experten.
&lt;/p&gt;

&lt;p&gt;
Das folgende Bild zeigt einen Screenshot des Serial Monitors
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_10.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aserialmonitor&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:colorcheck:wiki_pyproggen_10.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_10.jpg?w=600&amp;amp;tok=958e30&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;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 03 Jan 2021 15:44:52 +0000</pubDate>
        </item>
        <item>
            <title>servo_animation</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/servo_animation</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pyprogrammgenerator_-_servo_animation&quot;&gt;pyProgrammGenerator - Servo Animation&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Der Servo-Animations Assistent ermöglicht die einfache Erstellung von komplexen Servo Animationen.
Er ist Teil des pyProgrammGenerators.
&lt;/p&gt;

&lt;p&gt;
Die Servo Animation arbietet am besten mit den Direct Mode Servos von Eckhard (Platine 511) zusammen, funktioniert aber auch mit den bisherigen Servos (Platine 510).
&lt;/p&gt;

&lt;p&gt;
Details zu den Direct Mode Servos ist hier zu finden:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/direct-mode-servo&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator:direct-mode-servo&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator:direct-mode-servo&quot;&gt;Direct-Mode-Servo&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;pyProgrammGenerator - Servo Animation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pyprogrammgenerator_-_servo_animation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-493&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;auswahl_der_servo_animation&quot;&gt;Auswahl der Servo Animation&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Assistenten werden genauso wie ein Macro, z.B. der HausMacro, im Macro Dialog ausgewählt:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/pymll06.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aservo_animation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:pymll06.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/pymll06.jpg?w=400&amp;amp;tok=570986&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&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;Auswahl der Servo Animation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;auswahl_der_servo_animation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;494-669&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;servo_animation&quot;&gt;Servo Animation&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Nach Auswahl des Macros Servo Animation erscheint folgendes Fenster:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/pymll07.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aservo_animation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:pymll07.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/pymll07.jpg?w=400&amp;amp;tok=a33809&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Links sind die Eingabefelder zum Definieren von einfachen Bewegungskurven. Rechts wird die erstellte Kurve grafisch dargestellt nachdem man auf den Button „Update Grafik“ geklickt hat.
&lt;/p&gt;

&lt;p&gt;
Der Assistent unterstützt den Direkt Mode Servo von Eckhart (Servo DM) und die normalen MLL-Servos (Servo1, Servo2 und Servo3)
&lt;/p&gt;

&lt;p&gt;
Durch Eingabe der &lt;strong&gt;Ein- und Ausschaltparameter&lt;/strong&gt; wird der Zeitablauf bestimmt. Es stehen 3 Kurven-Modi zur Verfügung: &lt;strong&gt;Linear&lt;/strong&gt;, &lt;strong&gt;Beschleunigung&lt;/strong&gt; und &lt;strong&gt;Individuell&lt;/strong&gt;. 
&lt;/p&gt;

&lt;p&gt;
Die berechneten Kurven werden in der Grafik rechts angezeigt. 
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Achtung: Die Änderungen werden erst nach Betätigung des Tasters „Update Grafik“ in die Grafik übernommen&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
Bei der Einstellung &lt;strong&gt;Individuell&lt;/strong&gt; können die Kurvenwerte (Grüne Punkte) einzeln eingestellt werden. 
&lt;/p&gt;

&lt;p&gt;
Wurde unter &lt;strong&gt;Servo-Adresse&lt;/strong&gt; die Adresse des Servos angegeben, kann die Servostellung direkt überprüft werden.
&lt;/p&gt;

&lt;p&gt;
Beim &lt;strong&gt;Ausführen&lt;/strong&gt; kann man wählen zwischen:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wiederholen: die Ein-und Ausschaltsequenz wird automatisch wiederholt, &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; PingPong: die Sequenz wird vor- und zurück abgespielt, &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ein/Aus: Bei Schalter auf EIN wird die Einschaltsequenz, bei Schalter auf AUS, wird die Auschaltsequenz abgespielt.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Ein Beispiel für eine &lt;strong&gt;individuelle Sequenz&lt;/strong&gt; zeigt das folgende Bild. Die Sequenz simuliert einen umstürzenden Baum, der beim ersten Schlag sich etwas bewegt und dann mit einer Beschleunigungskurve umfällt, um dann noch mal kurz hoch zu springen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/pymll08.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aservo_animation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:pymll08.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/pymll08.jpg?w=600&amp;amp;tok=b9e0b5&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;
Das Ergebnis in der ProgrammGenerator Tabelle sieht dann so aus:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/pymll09.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aservo_animation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:pymll09.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/pymll09.jpg?w=600&amp;amp;tok=ea161d&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;Servo Animation&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;servo_animation&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;670-2405&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit4&quot; id=&quot;individuelle_sequenzen_erstellen&quot;&gt;individuelle Sequenzen erstellen&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Zum Erstellen von individuellen Sequenzen gibt es 2 Einstellungen:
&lt;/p&gt;

&lt;p&gt;
1. individuelle Kurvenparameter
&lt;/p&gt;

&lt;p&gt;
Wenn der Kurvenparametertypauf „Individuell“ gestellt wurde, kann man die Werte für jeden Kurvenpunkt mit der Maus ändern.
Es ist nicht möglich, die Zeitpunkte zu ändern.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/pymll18.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aservo_animation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:pymll18.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/pymll18.jpg?w=600&amp;amp;tok=02c5c3&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;
2. Individuelle Zeitstufen
Wenn der Zeitstufenparametertypauf „Individuell“ gestellt wurde, kann man die Werte und die Zeitpunkte für jeden Kurvenpunkt mit der Maus ändern.
&lt;/p&gt;

&lt;p&gt;
Es ist auch möglich Punkte zu löschen und neue Punkte einzufügen (ab Version 5.3.1D)
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/pymll19.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aservo_animation&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:pymll19.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/pymll19.jpg?w=600&amp;amp;tok=cb7c45&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;individuelle Sequenzen erstellen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;individuelle_sequenzen_erstellen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2406-3117&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit5&quot; id=&quot;bedienung_der_kurvenverlaufgrafik&quot;&gt;Bedienung der Kurvenverlaufgrafik&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;/div&gt;

&lt;h5 id=&quot;bewegung_der_punkte&quot;&gt;Bewegung der Punkte:&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Punkte können mit der Maus angeklickt und mit gedrückter linker Maustaste bewegt werden. Die aktuellen Werte für die Zeit und die Servostufe, werden unten links unter der Grafik angezeigt.
&lt;/p&gt;

&lt;p&gt;
Zusätzlich zur Maus können Punkte nachdem sie mit der Maus angeklickt wurden auch mit den Cursortasten bewegt werden. 
&lt;/p&gt;

&lt;p&gt;
Für die Zeit ist das Raster auf 20ms gesetzt.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;punkte_loeschen_bzw_neu_erstellen&quot;&gt;Punkte löschen, bzw neu erstellen&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Nachdem ein Punkt mit der Maus angeklickt wurde, kann er mit der „Entf“-Taste gelöscht werden.
&lt;/p&gt;

&lt;p&gt;
Nachdem ein Punkt mit der Maus angeklickt wurde, kann er mit der „Einfg“-Taste ein neuer Punkt rechts von dem angeklickten Punkt erzeugt werden. Der neue Punkt wird in der Mitte zwischen dem angeklickten Punkt und dem nächsten Punkt erzeugt.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;zoom&quot;&gt;Zoom&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Mit Ctrl-Mausrad und Ctrl-Pfeil-auf/ab kann in die Grafik gezoomt werden.
&lt;/p&gt;

&lt;p&gt;
Mit Shift-Linke-Maustaste und Shift-Pfeiltasten kann das Fenster verschoben werden.
&lt;/p&gt;

&lt;p&gt;
Durch klick auf „Update Grafik“ wird der Zoom Faktor 100% wieder hergestellt.
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;gesamtzeit_aendern&quot;&gt;Gesamtzeit ändern&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Ist der Zeitstufenparametertyp auf „Individuell“ eingestellt, kann die Gesamtzeit für die Einschalt- und die Ausschaltphase durch Ändern der Einschalt- bzw. Ausschaltparameter  geändert werden.
Maßgeblich ist jeweils die gesamte Zeit aus Startpause, Dauer und Endepause. Wird „Update Grafik“ betätigt, werden alle Punkte entsprechend proportional an die neue Gesamtzeit angepasst.
&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;Bedienung der Kurvenverlaufgrafik&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bedienung_der_kurvenverlaufgrafik&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;3118-4596&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit6&quot; id=&quot;einige_tips&quot;&gt;Einige Tips&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; Es empfiehlt sich mit einer linearen oder Beschleunigungskurve und einem festen Zeitraster zu starten und die Zeitparameter entsprechend zu setzen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Erst wenn diese einfachen Kurven funktionieren, sollte man zu den individuellen Einstellungen gehen um die Bewegung zu optimieren und z.B. ein Nachwippen zu erzeugen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Das Zeitraster nicht zu klein wählen. Jeder Kurvenpunkt kostet Speicher im ARDUINO und Zeit beim Erstellen des Programms.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Das Programm erzeugt einen Patternmacro. Dieser Macro enthält die Abstände zwischen den Zeitpunkte und alle Werte zu einem Zeitpunkt. Wenn alle Zeitpunkte denselben Abstand haben, wird nur ein Zeitwert benötigt. Alle folgenden haben dann denselben Abstand. Dadurch kann man die Anzahl der Zeitwerte reduzieren, in dem man am Ende möglichst viele gleiche Abstände zwischen den Zeitpunkten verwendet. &lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Einige Tips&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;einige_tips&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;4597-5478&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit7&quot; id=&quot;bekannte_probleme&quot;&gt;Bekannte Probleme&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Beim Neustart des ARDUINO, z.B. beim Einschalten und nach Neuverbinden mit dem PC, wird die letzte Sequenz nochmal ausgeführt. Dies führt dazu, daß der Sero, wenn die letzte Sequenz z.B. Torschießen war, erst einmal das Tor mit voller Geschwindigkeit öffnet und dann entsprechend der Animation wieder schließt. Wir arbeiten daran, diesen Effekt zu verhindern.
&lt;/p&gt;

&lt;p&gt;
Deshalb vorsichtig sein mit empfindlichen Modellen.
&lt;/p&gt;

&lt;p&gt;
Außerdem ist es sinnvoll eine Federung zwischen Servo und Modell einzubauen, falls der Servo mal die programmierte Endlage überschreitet.
&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;Bekannte Probleme&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;bekannte_probleme&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;5479-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 30 Jun 2024 16:06:35 +0000</pubDate>
        </item>
        <item>
            <title>servo2_seite</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/servo2_seite</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;direct_mode_servo&quot;&gt;Direct Mode Servo&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;Direct Mode Servo&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;direct_mode_servo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-33&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;tutorials&quot;&gt;1.Tutorials&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/tutorial_legacyspeed&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_legacyspeed&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_legacyspeed&quot;&gt;Tutorial: Legacy Mode &lt;/a&gt;, 3-Positionen-Makro Servo3 mit DM-Servos anwenden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/tutorial_endpos&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_endpos&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_endpos&quot;&gt;Tutorial: Endposition einstellen&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/tutorial_tuneclock&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_tuneclock&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_tuneclock&quot;&gt;Tutorial: Mehrere Attinys hintereinander abgleichen&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1.Tutorials&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tutorials&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;34-418&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;die_servo2_test-_und_einstellseite&quot;&gt;2. Die Servo2 Test- und Einstellseite&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
In pyMobaLedLib die Seite „Servo Test 2“ öffnen.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/pymll21a.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aservo2_seite&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:pymll21a.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/pymll21a.jpg?w=600&amp;amp;tok=1aa5e2&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;
Auf der Seite gibt es folgende Parameter:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo Modul Adresse&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo Control Betriebsart („Normal Position“, „Training End Pos“, „Training End Pos (special)“, „Einstellen Max Geschwindigkeit“, „Reset Servo“)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Use fast Refresh – für Experten, schnellere Reaktion auf Schieberänderungen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo Position-Schieber&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Enter-Taster&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Pos 0 – Taste – stellt den Schieber auf 1 (0 geht im Legacy Mode nicht)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Pos255-Taste – stellt den Schieber auf 255&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo Programmieren-Taster&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Attiny Direkt Programmieren (nur zum Testen für Experten)&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2. Die Servo2 Test- und Einstellseite&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;die_servo2_test-_und_einstellseite&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;419-1155&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;servo_modul_adresse&quot;&gt;2.1 Servo Modul Adresse&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Adresse des Servo Moduls, das eingestellt werden soll - bis jetzt können leider noch keine LED-Strang-Kanäle angesprochen werden.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Achtung&lt;/strong&gt; Bei der modifizierten Platine belegt jeder Servo eine RGB-Adresse. (Bei der originalen Platine hatte das gesamte Modul eine RGB-LED Adresse und die Servos wurden durch die R-G-B Farbkanäle angesprochen). Die Adressen bei der modifizierten Platine sind fortlaufend. D.h. wenn die erste Servo-Adresse 5 ist, dann haben die beiden anderen Servos die Adresse 6 und 7. Diese Adresse muß bei der Endlageneinstellung und in der Servo-Animation angegeben werden, damit der richtige Servo angesprochen wird.
&lt;/p&gt;

&lt;p&gt;
Das mit den Kanälen ist leider etwas mißverständlich: Es gibt z.B.  bei der ESP32-Platine 8 Kanäle für 8 LED Stränge. Und es gibt bei den Servo-Platinen Servo-Kanäle für die 3 Servos
&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;2.1 Servo Modul Adresse&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;servo_modul_adresse&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1156-2028&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;servo_control_betriebsart&quot;&gt;2.2. Servo Control Betriebsart&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Bestimmt die aktuelle Betriebsart:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; „Normal Position“,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; „Training End Pos“,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; „Training End Pos (special for Experts only)“,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; „Einstellen Max Geschwindigkeit“,&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; „Toggle Invers“, Drehrichtung ändern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; „Reset Servo“, aktuellen Servo zurücksetzen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; „Factory Reset“, Attiny (alle Servos) in Grundzustand bringen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; „Reset last mem pos“, Speicherung der letzten Position löschen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; „Tune Clock“, mehrere Attinys hintereinander abgleichen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; „Einstellen Legacy Speed“, DM-Servo kompatibel zu „Alt“-Servos machen&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2.2. Servo Control Betriebsart&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;servo_control_betriebsart&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2029-2602&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit6&quot; id=&quot;normal_position&quot;&gt;2.2.1 &amp;quot;Normal Position&amp;quot;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
In dieser Betriebsart kann der Servo direkt über den Sero Positionsschieber gesteuert werden. Der Servo folgt dem Schieber direkt.
&lt;/p&gt;

&lt;p&gt;
Achtung: 
Direkt nach dem Flashen des Attiny85 und im Normalmodus bewegt sich der Servo mit dem Schieberegler von 0 bis 255 nur etwa 30°. Die 30 Grad default sind eine Sicherheitsfunktion, damit man sich nicht gleich seine Mechanik beschädigt. Im Trainingsmodus kann der gesamte Bereich angefahren werden.
&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;2.2.1 \&amp;quot;Normal Position\&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;normal_position&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2603-3075&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit7&quot; id=&quot;training_end_pos&quot;&gt;2.2.2&amp;quot;Training End Pos&amp;quot;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
In dieser Betriebsart werden die Endlagen eingestellt. 
&lt;/p&gt;

&lt;p&gt;
- Eine Schieberposition zwischen den aktuellen Endlagen suchen (siehe Achtungshinweis unten)
- Mit dem Schieber aus dieser Position langsam in die eine Endlage fahren
- Enter-Taste drücken
- Mit dem Schieber in die andere Endlage fahren
- Enter-Taste drücken
- Fertig
&lt;/p&gt;

&lt;p&gt;
In Normal_Betriebsart, die Endlagen testen
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Achtung&lt;/strong&gt;: In der Trainingsbetriebsart kann &lt;strong&gt;jede&lt;/strong&gt; Servo Position angefahren werden. Also auch Positionen, die für die Mechanik &lt;strong&gt;gefährlich&lt;/strong&gt; sein können!!
Der Attiny hat eine &lt;strong&gt;Sicherheitsfunktion&lt;/strong&gt;. Da das Trainingstool nicht wissen kann, wo die aktuellen Endlagen des angeschlosenen Attinys sich befinden, muß der Schieber erst in eine Position zwischen den aktuellen Endlagen gebracht werden.
Man bewegt also am besten den Schieber von der 0 Stellung aus langsam nach rechts, bis der Servo dem Schieber folgt. Ab jetzt kann man jede beliebige Endstellung anfahren und programmieren.
&lt;/p&gt;

&lt;p&gt;
Siehe auch: &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/tutorial_endpos&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_endpos&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_endpos&quot;&gt;Direct Mode Servo - Einstellung der Endlagen&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;2.2.2\&amp;quot;Training End Pos\&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;training_end_pos&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3076-4194&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit8&quot; id=&quot;training_end_pos_special&quot;&gt;2.2.3 &amp;quot;Training End Pos (special)&amp;quot;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
In dieser Betriebsart werden die Endlagen in einem erweiterten Bereich eingestellt. 
&lt;/p&gt;

&lt;p&gt;
- Mit dem Schieber aus der Mittelposition langsam in die eine Endlage fahren
- Enter-Taste drücken
- Mit dem Schieber in die andere Endlage fahren
- Enter-Taste drücken
- Fertig
&lt;/p&gt;

&lt;p&gt;
In Normal_Betriebsart, die Endlagen testen
&lt;/p&gt;

&lt;p&gt;
Wenn du den Servo im Normalbereich mit den Endlagen trainierst, dann entspricht der Bereich von 0 bis 255 den PWM Werten von 1ms bis 2ms. Wenn du das selbe mit der Einstellung (spezial) tust, dann umfassen die Werte 0 bis 255 die PWM Werte von 0,5ms bis 2,5ms.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Achtung&lt;/strong&gt;: In der Trainingsbetriebsart kann &lt;strong&gt;jede&lt;/strong&gt; Servo Position angefahren werden. Also auch Positionen, die für die Mechanik &lt;strong&gt;gefährlich&lt;/strong&gt; sein können!!
Der Attiny hat eine &lt;strong&gt;Sicherheitsfunktion&lt;/strong&gt;. Da das Trainingstool nicht wissen kann, wo die aktuellen Endlagen des angeschlosenen Attinys sich befinden, muß der Schieber erst in eine Position zwischen den aktuellen Endlagen gebracht werden.
Man bewegt also am besten den Schiber von der 0 Stellung aus langsam nach rechts, bis der Servo dem Schieber folgt. Ab jetzt kann man jede beliebige Endstellung anfahren und programmieren.
&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;2.2.3 \&amp;quot;Training End Pos (special)\&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;training_end_pos_special&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4195-5406&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit9&quot; id=&quot;einstellen_max_geschwindigkeit&quot;&gt;2.2.4 &amp;quot;Einstellen Max Geschwindigkeit&amp;quot;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
In dieser Betriebsart kann die „Höchstgeschwindigkeit“ eingestellt werden.
&lt;/p&gt;

&lt;p&gt;
Hierzu eine kleine Erklärung, was ihr dort als „Höchstgeschwindigkeit“ einstellen könnt und wie dieser Wert wirkt. (die wirklich wirksame Geschwindigkeit macht die Servo Animation, bzw. die MLL-Hauptplatine!)
&lt;/p&gt;

&lt;p&gt;
Einstellbar sind, als maximale Begrenzung, auch wieder die Werte von 0 bis 255 
&lt;/p&gt;

&lt;p&gt;
- Bei 0 (Null) ist die Begrenzung abgeschaltet.
- Die Werte von 1 bis 255 stellen die maximal zulässige Schrittweite der Stellwerte (die gehen auch von 0 bis 255) [b]PRO ÜBERTRAGUNG[/b] von der Hauptplatine dar!
- Wenn ich z.B. 10 einstelle, dann dürfen die Stellwerte immer nur 10 Stellwertpunkte pro Übertragung weiter springen, sonst werden sie begrenzt
- Bei 20ms Übertragungstakt (also 50 Stellwerte pro Sekunde) kann ich damit z.B. die Gesamtstrecke des gesamten Stellwegs in einer halben Sekunde zurücklegen „1 / ( 50 / (255 / 10)) = ~0,5-Sek“
- Die maximale Begrenzung wäre der Wert 1, mit dem es 5 Sekunden dauert, bis der Stellweg zurückgelegt ist.„ 1 / ( 50 / (255 / 1)) = ~5-Sek“
&lt;/p&gt;

&lt;p&gt;
Aber !!!ACHTUNG!!! Dieser Wert ist nur als &lt;strong&gt;Obergrenze&lt;/strong&gt; gedacht (um mechanische Beschädigungen zu vermeiden) Wenn man zu stark begrenzt, dann werden die Werte von Harolds pyPG bzw. der Hauptplatine nicht mehr schnell genug ausgeführt sondern merkwürdig aussehend gedämpft.
&lt;/p&gt;

&lt;p&gt;
PS: Der Wert 255 würde wirken, wie mit 0 abgeschaltet, da ja dann der Sprung von 255 Werten, als von Stellwert 0 zu Stellwert 255 ad hoc erlaubt ist.
&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;2.2.4 \&amp;quot;Einstellen Max Geschwindigkeit\&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;einstellen_max_geschwindigkeit&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;5407-6959&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit10&quot; id=&quot;reset_servo&quot;&gt;2.2.5 &amp;quot;Reset Servo&amp;quot;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Der Servo wird wieder auf die Startwerte zurückgesetzt
&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;2.2.5 \&amp;quot;Reset Servo\&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;reset_servo&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;6960-7044&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit11&quot; id=&quot;toogle_invers&quot;&gt;2.2.6 &amp;quot;Toogle Invers&amp;quot;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Dreht die Drehrichtug des Servos um,
&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;2.2.6 \&amp;quot;Toogle Invers\&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;toogle_invers&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;7045-7112&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit12&quot; id=&quot;factory_reset&quot;&gt;2.2.7 &amp;quot;Factory reset&amp;quot;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Der komplette Attiny wird zurück gesetzt,
&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;2.2.7 \&amp;quot;Factory reset\&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;factory_reset&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;7113-7186&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit13&quot; id=&quot;reset_last_mem_pos&quot;&gt;2.2.8 &amp;quot;Reset last mem pos&amp;quot;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Um das schnelle ruckartige Bewegen des Servos zu reduzieren, speichert der Attiny die letzte Position des Servos. Wenn der Attiny wieder Strom bekommt, muß erst ein Stellwert mit dieser Position beim Attiny ankommen, bevor er den Servo bewegt. In bestimmten Fällen kann das zu einer Blockade führen, deshalb kann man mit diesem Befehl, den Speicher löschen.
&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;2.2.8 \&amp;quot;Reset last mem pos\&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;reset_last_mem_pos&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;7187-7584&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit14&quot; id=&quot;tune_clock&quot;&gt;2.2.9 &amp;quot;Tune Clock&amp;quot;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Der auf den MLL Platinen verwendete ATTiny85 Microcontroller wird ohne eigenen Quarz verwendet. Leider ist die Taktgenauigkeit dieser Lösung nicht sehr hoch. Das kann dazu führen, daß das ausgegebene Datensignal nicht ganz genau ist. Es liegt noch innerhalb der Spezifikation, so daß eine nachfolgende WS2012 oder WS2811 das Signal richtig verarbeitet. Folgt auf einen Attiny aber direkt ein weiterer Attiny, so besteht die Möglichkeit, sich die Ungenauigkeiten der beiden Attinys addieren und der zweite Attiny das Datensignal des ersten nicht mehr sauber erkennt. Mit der „Tune Clock“-Funktion kann ein Abgleich zwischen den Attinys erfolgen.
Für Details bitte das Tutorial &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/tutorial_tuneclock&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_tuneclock&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_tuneclock&quot;&gt;Direct Mode Servo - Mehrere Attinys hintereinander abgleichen&lt;/a&gt; anschauen.
&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;2.2.9 \&amp;quot;Tune Clock\&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tune_clock&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;7585-8429&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit15&quot; id=&quot;einstellen_legacy_speed&quot;&gt;2.2.10 &amp;quot;Einstellen Legacy Speed&amp;quot;&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Die DM-Servos folgen sehr schnell jeder Einstellwertänderung. Dadurch sind Bewegungen, wie Nachwippen möglich. Mit Hilfe des Servo-Animations-Makros können diese Bewegungen erstellt werden.
&lt;/p&gt;

&lt;p&gt;
Für einfache Bewegungen mit 2 bis 5 Positionen gibt es die Makros Servo2, Servo3, Servo4 und Servo5.
&lt;/p&gt;

&lt;p&gt;
Mit der Funktion „Legacy Speed einstellen“ können diese Makros jetzt auch mit den DM-Servos verwendet werden. Damit können die DM-Servos mit der Platine 511 die bisherige Servo-Platine 510 ersetzen.
&lt;/p&gt;

&lt;p&gt;
Details sind im Tutorial &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/tutorial_legacyspeed&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_legacyspeed&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_legacyspeed&quot;&gt;Direct Mode Servo - Einstellung Legacy Speed&lt;/a&gt; zu finden.
&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;2.2.10 \&amp;quot;Einstellen Legacy Speed\&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;einstellen_legacy_speed&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;8430-9116&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit16&quot; id=&quot;servo_position-schieber&quot;&gt;2.3. Servo Position-Schieber&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der Servo-Positionsschieber erlaubt die direkte Steuerung des Servos. Es werde direkt die eingestellten Werte an den Servo gesendet.
&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;2.3. Servo Position-Schieber&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;servo_position-schieber&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;9117-9289&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit17&quot; id=&quot;enter-taste&quot;&gt;2.4. Enter-Taste&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Mit der Enter-Taste werden Endlagen bestätigt
&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;2.4. Enter-Taste&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;enter-taste&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;9290-9364&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit18&quot; id=&quot;servo_programmieren-taste&quot;&gt;2.5. Servo Programmieren-Taste&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Mit der Servo Programmieren Taste, wird ein Dialog zum Programmieren der Firmware des Attinys aufgerufen.
Es öffnmet sich das „Optionen“-Fenster des Patterconfigurators für den „Servo2“.
Durch Drücken von „Prog Servo2“ wird ein Auswahldialog aufgerufen, in dem man die Firmware-Datei (.hex) auswählen kann. Wenn die Firmware einen fertigen Stand erreicht hat, wird diser Dialog entfernt und die Programmierung startet direkt.
&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;2.5. Servo Programmieren-Taste&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;servo_programmieren-taste&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:18,&amp;quot;range&amp;quot;:&amp;quot;9365-9836&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit19&quot; id=&quot;attiny_direkt_programmieren&quot;&gt;2.6. Attiny direkt Programmieren&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Dies ist eine Funktion, die noch im Test ist, und erst später freigegeben wird 
&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;2.6. Attiny direkt Programmieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;attiny_direkt_programmieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:19,&amp;quot;range&amp;quot;:&amp;quot;9837-9961&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit20&quot; id=&quot;hinweise_aus_der_diskussion&quot;&gt;3. Hinweise aus der Diskussion&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Hier sind einige Hinweise aus der Diskussion im Forum zusammengefasst:
&lt;/p&gt;

&lt;p&gt;
- Genau genommen ist der Bereich von 0 bis 255, beim Direct Mode Servo, eine Art „Zahlenwerte Matroschka“! (die russische „Puppe in der Puppe“)
Wenn du den Servo im Normalbereich mit den Endlagen trainierst, dann entspricht der Bereich von 0 bis 255 den PWM Werten von 1ms bis 2ms. Wenn du das selbe mit der Einstellung (spezial) tust, dann umfassen die Werte 0 bis 255 die PWM Werte von 0,5ms bis 2,5ms.
Doch egal, welche Millisekunden Werte du für die Endlagen festlegst, der gewählte Bereich hat vom Python Programm Generator aus wieder den Bereich von 0 bis 255. Das wäre auch dann der Fall, wenn der Bereich zwischen den gewählten Endlagen sehr schmal ist. Damit erhält man in dem schmalen Bereich eine sehr hohe Genauigkeit!
&lt;/p&gt;

&lt;p&gt;
- Ein DM Servo belegt den Adressraum einer RGB LED mit drei Mal 8 Bit bzw. Werten von 0..255! Im ersten Kanal kommt eine Steuerinformation und eine CRC Prüfsumme, im zweiten Kanal ein Stellwert von 0.255 und der dritte Kanal ist bei der Std. MLL derzeit nicht genutzt. Außerdem hat die Std. MLL die ersten beiden Kanäle technisch vertauscht.
- Nach meinen Messungen und meiner Erfahrung haben SG90 Servos, bei der Servo Norm-PWM von 1-2ms, nur 90 Grad Stellwinkel! Die 170 Grad Aussage kommt dadurch zustande, dass fast alle eben nicht 1-2ms PWMs machen, sondern mehr! Das gibt es beim DM Servo auch und heißt „Training Pos Mode (spezial)“ Warnung: (gerade auch sehr kraftvolle) Servos können sich, wenn sie an den mechanischen Anschlag gefahren werden, selbst beschädigen!
&lt;/p&gt;

&lt;p&gt;
- Wenn der Attiny direkt an einem ARDUINO angeschlossen ist, verhält er sich komisch. 
&lt;/p&gt;

&lt;p&gt;
Antwort: Eine direkte Verbindung Attiny zum ARDUINO ist nicht zu empfehlen. Es sollte immer ein WS2811 oder WS2812 dazwischen liegen. Tatsächlich haben die Tinys hinter einer echten physikalischen WS2811 oder WS2812B LED eine ganz passable Reichweite! Die nächste WS2811, hinter dem Tiny, kann auch ganz ordentlich weg sein (z.B. 70cm kein Problem), aber ATMega238 auf ATTiny85 ist irgendwie seltsam. Es wundert mich ein wenig, denn ATTiny auf ATTiny, also zwei meiner Direct Mode Servo Platinen, vertragen durchaus einen halben Meter zwischeneinander!
&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;3. Hinweise aus der Diskussion&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hinweise_aus_der_diskussion&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:20,&amp;quot;range&amp;quot;:&amp;quot;9962-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 06 Feb 2025 12:34:59 +0000</pubDate>
        </item>
        <item>
            <title>servortest</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/servortest</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pyprogramgenerator_-_servotest_und_programmierung&quot;&gt;pyProgramGenerator - Servotest und Programmierung&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Mit der Servoplatine von Hardi können über die MLL auch Servos angesteuert werden. Auf dieser Seite können Sie den Servo testen und konfigurieren.
&lt;/p&gt;

&lt;p&gt;
Das folgende Bild zeigt einen Screenshot der Servotest Seite
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_08.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Aservortest&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:colorcheck:wiki_pyproggen_08.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_08.jpg?w=600&amp;amp;tok=15c1d4&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;pyProgramGenerator - Servotest und Programmierung&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pyprogramgenerator_-_servotest_und_programmierung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-350&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;eingabefelder&quot;&gt;Eingabefelder&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo-Adresse: „LED“-Nummer des Servos. z.B. 5, wenn der Servo in der LED-Kette an 5. Stelle steht.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo-Anschluss: Die Servo-Platine kann 3 Servos aneteuern. Servo-Anschluss ist die Nummer des Anschlusses, an den der Servo angeschlossen ist (0, 1 oder 2)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo-Stop: Beim Anklicken wird der Servo angehalten, egal wo er gerade steht. Kann Zerstörungen verhindern, wenn der Servoarnm zu weit läuft.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Schieberegler: Mit dem Schieberegler kann die Position des Servos direkt eingestellt werden. (Position des Servos 10..220).&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Anklicken zum Aktivieren der Tasten:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; [Pfeil Rechts]/[Pfeil Links]:einfacher Schritt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; [CTRL-Rechts]/[CTRL-Links]: 20er Schritt&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; [Pos1]/[Ende]: Anfang/Ende&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Klicken auf dem Sliderfeld:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &amp;lt;Linke Taste&amp;gt;: single step vorwärts/rückwärts in Richtung der Maus&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &amp;lt;Rechte Taste&amp;gt;:spring zum angeklickten Wert&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &amp;lt;CTRL Linke Taste&amp;gt;\n - springe zum Anfang/Ende&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Eingabefelder&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;eingabefelder&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;351-1291&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;programmierung_der_minmax_position_und_geschwindigkeit_des_servos&quot;&gt;Programmierung der Min/Max Position und Geschwindigkeit des Servos&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Über die Servotester Seite lassen sich die Endpositionen und die Geschwindigkeit des servos bequem einstellen.
Der Ablauf ist folgendermaßen:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Zum Start der Programmierung auf die Taste „Starte Min-Max Pos/Speed programmieren“ klicken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Programmiering der &lt;strong&gt;Minimal&lt;/strong&gt; Position startet.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der Servo muss jetzt mit den Tasten Dec«, Dec&amp;lt;, Inc&amp;gt; , Inc» an die gewünschte &lt;strong&gt;Min&lt;/strong&gt; Position gefahren werden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ist die gewünschte Min Position erreicht, auf den Taster „Gehe zu Max Pos programmieren“ klicken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Der Servo muss jetzt mit den Tasten Dec«, Dec&amp;lt;, Inc&amp;gt; , Inc» an die gewünschte &lt;strong&gt;Max&lt;/strong&gt; Position gefahren werden&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ist die gewünschte Max Position erreicht, auf den Taster „Beende Max Pos programmieren“ klicken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Programmierung der Endstellungen ist nur beended, es folgt nun die Geschwindigkeitseinstellung&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mit den Tastern Dec«, Dec&amp;lt;, Inc&amp;gt; , Inc» kann die gewünschte Geschwindigkeit eingestellt werden. Der Servoarm bewegt sich dazu mit der eingestellten Geschwindigkeit zwisch Min- und Max Pos hin- und her.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ist die gewünschte Geschwindigkeit eingestellt, auf „beende Speed programmieren“ klicken. Die eingestelleten Werte werden jetzt im Servo-Modul gespeichert.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
Man kann jederzeit durch klicken auf „Beende Programmierung ohne Speichern“ den Programmiervorgang abbrechen. 
&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;Programmierung der Min\/Max Position und Geschwindigkeit des Servos&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;programmierung_der_minmax_position_und_geschwindigkeit_des_servos&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1292-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 03 Jan 2021 15:36:30 +0000</pubDate>
        </item>
        <item>
            <title>soundtest</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/soundtest</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pyprogramgenerator_-_soundtest&quot;&gt;pyProgramGenerator - Soundtest&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
Die Soundtest-Seite unterstützt das Testen von Soundmodulen, die an die MLL angeschlossen sind.
&lt;/p&gt;

&lt;p&gt;
Die MLL-Soundplatine mit dem &amp;lt;MP3-TF-16&amp;gt; Modul ermöglicht die Erzeugung von verschiedenen selbst erzeugten Geräuschen. Leider kommt es immer wieder vor, dass die wiedergegebenen Sounds nicht richtig stimmen. Es kommt nicht immer die gewünschte Sound Datei. Das liegt an Bauteiletoleranzen. Auf der Soundtest Seite können die Werte für die verschiedenen Geräusche ausprobiert werden. Einfach die Soundmoduladresse angeben und in den Felder R/G/B die verschiedenen Werte durchprobieren, bis der richtige Sound kommt.
&lt;/p&gt;

&lt;p&gt;
Das folgende Bild zeigt einen Screenshot der Soundtest Seite
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_05.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Asoundtest&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:spezial:colorcheck:wiki_pyproggen_05.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/spezial/colorcheck/wiki_pyproggen_05.jpg?w=600&amp;amp;tok=46195d&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;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 03 Jan 2021 15:07:52 +0000</pubDate>
        </item>
        <item>
            <title>stellwerk</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/stellwerk</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pyprogramgenerator_-_stellwerk&quot;&gt;pyProgramGenerator - Stellwerk&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 03 Apr 2025 16:59:58 +0000</pubDate>
        </item>
        <item>
            <title>tutorial_endpos</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/tutorial_endpos</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;direct_mode_servo_-_einstellung_der_endlagen&quot;&gt;Direct Mode Servo - Einstellung der Endlagen&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;Direct Mode Servo - Einstellung der Endlagen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;direct_mode_servo_-_einstellung_der_endlagen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-60&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;video&quot;&gt;Video&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;iframe src=&quot;//www.youtube-nocookie.com/embed/drgCsDOToiI?&quot; width=&quot;425&quot; height=&quot;239&quot; style=&quot;width:425px;height:239px;&quot; class=&quot;vshare vshare__none&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; data-domain=&quot;www.youtube-nocookie.com&quot; loading=&quot;lazy&quot;&gt;&lt;h3&gt;&lt;/h3&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Video&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;video&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;61-103&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;der_einstellvorgang&quot;&gt;Der Einstellvorgang&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der Einstellvorgang läuft folgendermaßen ab:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Adresse des Servomoduls einstellen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo Control Betriebsart „Normal Position“&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Servo Position in die Mitte stellen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Servo Control Betriebsart auf: „Training End Pos“ einstellen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Eine Schieberposition zwischen den aktuellen Endlagen suchen (siehe Achtungshinweis unten)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mit dem Schieber aus dieser Position langsam zur gewünschten Endposition fahren. Der Servo sollte dieser Bewegung folgen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wenn die erste Endposition erreicht ist, „Enter drücken“&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; zur zweiten Endposition fahren.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Nochmal „Enter“ drücken&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Betriebsart wieder auf „Normal“ stellen.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Der Einstellvorgang&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;der_einstellvorgang&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;104-781&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;wichtige_hinweise&quot;&gt;Wichtige Hinweise&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;strong&gt;Achtung&lt;/strong&gt;: In der Trainingsbetriebsart kann &lt;strong&gt;jede&lt;/strong&gt; Servo Position angefahren werden. Also auch Positionen, die für die Mechanik &lt;strong&gt;gefährlich&lt;/strong&gt; sein können!!
Der Attiny hat eine &lt;strong&gt;Sicherheitsfunktion&lt;/strong&gt;. Da das Trainingstool nicht wissen kann, wo die aktuellen Endlagen des angeschlosenen Attinys sich befinden, muß der Schieber erst in eine Position zwischen den aktuellen Endlagen gebracht werden.
Man bewegt also am besten den Schiber von der 0 Stellung aus langsam nach rechts, bis der Servo dem Schieber folgt. Ab jetzt kann man jede beliebige Endstellung anfahren und programmieren.
&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Achtung&lt;/strong&gt;: Wenn du den Servo im Normalbereich mit den Endlagen trainierst, dann entspricht der Bereich von 0 bis 255 den PWM Werten von 1ms bis 2ms. Wenn du das selbe mit der Einstellung (Training End Pos spezial) tust, dann umfassen die Werte 0 bis 255 die PWM Werte von 0,5ms bis 2,5ms. Damit ist ein größerer Stellumfang möglich. Es kann aber sein, daß nicht alle Servos diese unterstützen.
Wenn der Einstellbereich mit den Endlagen bei „Training End Pos“ nicht ausreicht, kann man „Training End Pos spezial“ ausprobieren.
&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;Wichtige Hinweise&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wichtige_hinweise&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;782-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 06 Feb 2025 13:44:58 +0000</pubDate>
        </item>
        <item>
            <title>tutorial_legacyspeed</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/tutorial_legacyspeed</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;direct_mode_servo_-_einstellung_legacy_mode&quot;&gt;Direct Mode Servo - Einstellung Legacy Mode&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;Direct Mode Servo - Einstellung Legacy Mode&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;direct_mode_servo_-_einstellung_legacy_mode&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-59&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;einleitung&quot;&gt;1. Einleitung&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Mit dem Einstellen der „Legacy Speed“ wird der sogenannte „Legacy Mode“ (Altlasten-Mode) eingestellt. Mit dieser Einstellung kann der DM-Servo das Verhalten der Servos der bisherigen Servo-Platine 510 simulieren. Damit können die bisherigen Servo-Macros Servo2- Servo5 auch mit den DM-Servos verwendet werden.
&lt;/p&gt;

&lt;p&gt;
Diese Funktion MUSS als letzte Einstellung durchgeführt werden.
&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;1. 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;60-463&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;tutorial_video&quot;&gt;2. Tutorial Video&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;iframe src=&quot;//www.youtube-nocookie.com/embed/mKJTV98o8vw?&quot; width=&quot;425&quot; height=&quot;239&quot; style=&quot;width:425px;height:239px;&quot; class=&quot;vshare vshare__none&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; data-domain=&quot;www.youtube-nocookie.com&quot; loading=&quot;lazy&quot;&gt;&lt;h3&gt;&lt;/h3&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;2. Tutorial Video&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tutorial_video&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;464-522&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;einstellung_schritt_fuer_schritt&quot;&gt;3. Einstellung Schritt für Schritt&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Zuerst müssen die Endlagen, eingestellt werden. siehe &lt;a href=&quot;https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/tutorial_endpos&quot; class=&quot;wikilink1&quot; title=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_endpos&quot; data-wiki-id=&quot;anleitungen:spezial:pyprogramgenerator:tutorial_endpos&quot;&gt;Direct Mode Servo - Einstellung der Endlagen&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Zum Schluß „Einstellen Legacy Speed“ als Bewtriebsart auswählen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; mit dem Schieber die gewünschte Geschwindigkeit einstellen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; „Enter“ betätigen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die Betriebsart wechselt dann automatisch zu „Normal“ zurück.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Geschwindigkeit mit dem Pos0 und Pos255 Taster testen. Der Servo läuft jetzt langsam hin- und her. &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Den Vorgang wiederholen, bis die Geschwindigkeit stimmt.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;3. Einstellung Schritt f\u00fcr Schritt&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;einstellung_schritt_fuer_schritt&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;523-1135&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;dm-servo_mit_servo3_macro_benutzen&quot;&gt;4. DM-Servo mit Servo3 Macro benutzen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Nachdem die Legacy Speed eingestellt wurde, verhält sich der DM-Servo genauso, wie ein Servo an der Platine 510.
&lt;/p&gt;

&lt;p&gt;
Der Servo kann mit den Macros Servo2 – Servo5 gesteuert werden.
&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;4. DM-Servo mit Servo3 Macro benutzen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dm-servo_mit_servo3_macro_benutzen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1136-1368&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;beispiel_dm-servo_mit_3_positionen&quot;&gt;4.1 Beispiel DM-Servo mit 3 Positionen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; beim DM-Servo, wie oben beschrieben,die „Legacy Speed“ einstellen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; in den ProgrammGenerator wechseln&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Macrozeile definieren, als Macro den Servo3 Makro aus Dynamik → Servo → Servo mit 3 Positionen auswählen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Im Parametereingabefenster den LED-Kanal auf ROT stellen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Die gewünschten Positionen eingeben. Der DM-Servo kann Positionen von 1 bis 255 einnehmen. (Bisher 10 bis 210). &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mit OK-Abspeichern. Das Programm beschwert sich, wenn die Positionen &amp;lt; 10 und &amp;gt; 210 sind. Aber es funktioniert trotzdem.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mit den Testbutons die Positionen testen.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;4.1 Beispiel DM-Servo mit 3 Positionen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;beispiel_dm-servo_mit_3_positionen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1369-1990&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;achtung&quot;&gt;4.2 ACHTUNG&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Beim LED-Kanal muß IMMER „Rot“ ausgewählt werden. Der Servo wird durch die Servo-Adresse bestimmt.
&lt;/p&gt;

&lt;p&gt;
Bei der Platine 510 konnten 3 Servos angeschlossen werden Die 3 Servos hatten dieselbe LED Adresse und wurden durch die LED-Kanäle Rot, Grün, Blau unterschieden.
&lt;/p&gt;

&lt;p&gt;
Bei den DM-Servos hat JEDER Servo eine eigene LED-Adresse die fortlaufend bei der Adresse des ersten Servos beginnt.
&lt;/p&gt;

&lt;p&gt;
Beispiel:
&lt;/p&gt;

&lt;p&gt;
Bisher: Platine 510 ist an Servoadresse 5
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo1: 5-rot&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo2: 5-grün&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo3: 5-blau&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Bei DM-Servo in legacy mode:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo1: 5-rot&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo2: 6-rot&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Servo3: 7-rot&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Im Unterschied zur 510 Platine kann der Bereich von 1 bis 255 genutzt werden (obwohl das Programm meckert, daß das nicht geht)
&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;4.2 ACHTUNG&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;achtung&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1991-2727&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;hintergrund&quot;&gt;5. Hintergrund&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Der Legacy Speed ist, wie in der alten 510er Lösung, in einer maximalen Veraenderung von 1/8 us (Mikrosekunde) pro 20ms definiert.
&lt;/p&gt;

&lt;p&gt;
BEISPIEL: Ein mittlerer Wert von 128 ergibt eine Laufzeit von Stellung 0 (1ms) zu 255 (2ms) „8000 1/8us / 50 / 128“ = 1.25 Sec.
&lt;/p&gt;

&lt;p&gt;
FULL-LEGACY: Ist ein Legacy-Speed programmiert, sowie die Endlagen eingestellt, kann das Servo alleine durch Stellwerte im Bereich von 1..255 im zweiten Farbkanal bewegt werden. Der erste und der letzte Farbkanal muessen hierbei 0 sein!
&lt;/p&gt;

&lt;p&gt;
ACHTUNG!: Auch die maximale Geschwindigkeit von 255 ist vergleichsweise LANGSAM und fuer schnelle Animationen, wie z.B. Nachschwingen, NICHT geeignet! Hier ist „max speed“, definiert in Schrittweite, als Limit gegen Zerstörung, zu 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;5. Hintergrund&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hintergrund&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2728-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 06 Feb 2025 12:24:28 +0000</pubDate>
        </item>
        <item>
            <title>tutorial_tuneclock</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/tutorial_tuneclock</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;direct_mode_servo_-_mehrere_attinys_hintereinander_abgleichen&quot;&gt;Direct Mode Servo - Mehrere Attinys hintereinander abgleichen&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;Direct Mode Servo - Mehrere Attinys hintereinander abgleichen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;direct_mode_servo_-_mehrere_attinys_hintereinander_abgleichen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-77&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;tutorial_video&quot;&gt;1. Tutorial Video&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;iframe src=&quot;//www.youtube-nocookie.com/embed/cKx1rNHql40?&quot; width=&quot;425&quot; height=&quot;239&quot; style=&quot;width:425px;height:239px;&quot; class=&quot;vshare vshare__none&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; scrolling=&quot;no&quot; data-domain=&quot;www.youtube-nocookie.com&quot; loading=&quot;lazy&quot;&gt;&lt;h3&gt;&lt;/h3&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;1. Tutorial Video&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tutorial_video&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;78-135&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;hintergrund&quot;&gt;2. Hintergrund&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Der auf den MLL Platinen verwendete ATTiny85 Microcontroller wird ohne eigenen Quarz verwendet, da dieser zwei Pins brauchen würde, sowie Platinenfläche und zusätzliche Lötungen und zudem Kosten verursacht. Der verwendete Betriebsmodus hierfür ist „PLL mit chip-internem Oszillator und 16 MHz“. Leider ist die Taktgenauigkeit dieser Lösung nicht sehr hoch und man kann exemplarabhängig Frequenzen zwischen 15,5 und 17,5 &lt;abbr title=&quot;Megahertz&quot;&gt;MHz&lt;/abbr&gt; messen.
&lt;/p&gt;

&lt;p&gt;
Atmel/Microchip gibt auch Prozeduren zum Trimmen der Taktfrequenz ohne Quarz an, die allerdings entweder einen Atmel Progger mit Kalibriereigenschaften, wie z.B. den Atmel AVRICE, oder einen genauen Frequenzzähler, oder ein Qszilloskop erfordern.
&lt;/p&gt;

&lt;p&gt;
Da das alles für die MLL zu aufwendig ist, wurde ein manuelles (*) Ersatzverfahren entwickelt, dass hier im Weiteren beschrieben werden soll. Hilfreich ist in jedem Fall auch das verlinkte Youtube Video: &lt;a href=&quot;https://www.youtube.com/watch?v=cKx1rNHql40&quot; class=&quot;urlextern&quot; target=&quot;_blank&quot; title=&quot;https://www.youtube.com/watch?v=cKx1rNHql40&quot; rel=&quot;ugc nofollow noopener&quot;&gt;https://www.youtube.com/watch?v=cKx1rNHql40&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
(*) „manuell“ heißt, dass DU! ;) arbeiten musst, um es klein und preisgünstig zu bekommen!
&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;2. Hintergrund&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hintergrund&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;136-1205&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;vorbereitungen&quot;&gt;3. Vorbereitungen&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;3. Vorbereitungen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vorbereitungen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1206-1236&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;man_benoetigt_an_hardware&quot;&gt;3.1 Man benötigt an Hardware&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
-	Eine Hauptplatine 101 (Nano) oder 102 (ESP32)
-	Eine Verteilerplatine z.B. 200
-	Zwei oder mehr DM-Servo Platinen 511 (die von Michael/raily74), oder alternativ umgebaute 510 (Anleitung im Wiki)
-	Eine RGB-LED Kette als finale Heartbeat LED und nachfolgende „Null-Value Detektor LEDs“
Bei Verwendung einer Hauptplatine 102, zusammen mit Heartbeat-Breakout-Boards der ersten Serien (mit Spannungs-Reduktions-Diode) benötigt man eine zusätzliche Heartbeat LED vor der ersten 511 DM-Servo Platine!
&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;3.1 Man ben\u00f6tigt an Hardware&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;man_benoetigt_an_hardware&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1237-1781&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;zu_installierende_software&quot;&gt;3.2 Zu installierende Software&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Benötigt wird weiterhin eine aktuelle Version des MLL Python Programm Generators von Harold Linke. (Version &amp;gt; 5.3.5e)
&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;3.2 Zu installierende Software&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;zu_installierende_software&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1782-1942&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;programmieren_der_attiny85&quot;&gt;3.3 Programmieren der ATTiny85&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Mit dem aktuellen pyPG wird, unter Zuhilfenahme des 400er Tina Proggers (oder eines anderen geeigneten Programmierwerkzeugs), ein Firmware-Code auf den Tiny geschrieben, der die „Tune Clock“ Fähigkeit besitzt. (steht im pyPG 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;3.3 Programmieren der ATTiny85&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;programmieren_der_attiny85&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;1943-2231&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;aufbau&quot;&gt;4. Aufbau&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;4. Aufbau&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;aufbau&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2232-2254&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;hardware&quot;&gt;4.1 Hardware&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Man schließt zuerst den Verteiler an die Hauptplatine an. Wenn man eine 102 mit Dioden hat, folgt als erstes eine weitere Heartbeat RGB LED. Dann kommen zwei, oder mehr 511 DM-Servo Platinen mit programmiertem DM-Servo ATTiny85 und auf der finalen 511 gesetztem Terminator. Zuletzt kommt auf den Verteiler ein RGB LED Streifen mit mindestens 10 RGB LEDs.
&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;4.1 Hardware&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hardware&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;2255-2635&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;software&quot;&gt;4.2 Software&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Im pyPG erzeugt man ein neues Blatt genau für diesen Kalibrierungs-Aufbau. Dieses Blatt sollte folgende Einträge enthalten
-	Eine Heartbeat LED auf der Hauptplatine
-	Bei einer 102 mit Diode(n) eine weitere Heartbeat LED auf dem ersten Platz des Verteilers
-	Pro 511 DM-Servo Platine 3 Servo Beispiel-Animationen die mit DCC Adressen, oder Buttons zu Testzwecken eingeschaltet werden können. Das sind 6 Animationen bei zwei zu trimmenden 511 Platinen, oder 9 Animationen bei drei 511 Platinen usw.!
-	Eine abschließende Heartbeat RGB LED für den LED Streifen
&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;4.2 Software&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;software&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;2636-3224&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;attiny85_vorsortieren&quot;&gt;5. ATTiny85 vorsortieren&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die Software auf den ATTiny85 kann nicht nur mit vollkommen gleichschnell laufenden Tinys ein gutes Ergebnis erzielen, sondern auch mit dem Prinzip der „Wasserfall Kaskaden“ von „oben nach unten“. Das heißt, ein vorhergehender Tiny darf auch einen Tick schneller laufen, als sein direkter Nachfolger. Nur nicht umgekehrt! (wenn sie genau gleichschnell laufen, ist das aber auch OK)
&lt;/p&gt;

&lt;p&gt;
Diese Anforderung können wir in vielen Fällen schon durch Sortieren der Tinys erreichen! In positiven Fällen muss dann gar nicht nachgetrimmt werden!
&lt;/p&gt;

&lt;p&gt;
Um die optimale Sortierung zu erreichen beginnen wir mit zwei Tinys in den ersten beiden 511 Platinen und terminieren hier die zweite Platine. Wenn jetzt nicht nur der erste, sondern auch der zweite Tiny, im Animations- bzw. Effekt Modus  gleichmäßig langsam blinkt und auf dem nachfolgenden LED Streifen die finale Heartbeat LED, auf einer Position weiter hinten, ruhig und gleichmäßig changiert, sowie die LEDs dahinter aus sind, haben wir bereits eine funktionierende Reihenfolge gefunden!
&lt;/p&gt;

&lt;p&gt;
Wenn hingegen die LED auf der zweiten 511 Platine flimmert, oder die finale Heartbeat LED nicht gleichmäßig changiert, oder die LEDs dahinter nicht aus sind und konstant aus bleiben, dann müssen wird die beiden Tinys, in den 511 Platinen, vertauschen!
&lt;/p&gt;

&lt;p&gt;
Eine der beiden Reihenfolgen wird das bessere Ergebnis zeigen!
&lt;/p&gt;

&lt;p&gt;
Nun nehmen wir einen dritten Tiny hinzu. Diesen können wir VOR den beiden vorher sortierten Tinys platzieren, oder DAZWISCHEN, oder DAHINTER.
&lt;/p&gt;

&lt;p&gt;
Auch hier ist eines der Ergebnisse das Beste!
&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;5. ATTiny85 vorsortieren&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;attiny85_vorsortieren&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;3225-4818&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;nachtrimmen_der_attiny85&quot;&gt;6. Nachtrimmen der ATTiny85&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Wenn wir nun die Tinys sortiert haben, aber immer noch einer der nachfolgenden Tinys manchmal komisch flackert und nicht nur gleichmäßig langsam blinkt, oder die finale Heartbeat LED nicht ausschließlich gleichmäßig changiert, oder eine der LEDs hinter der finalen Heartbeat LED manchmal aufblitzt und nicht kontinuierlich „aus“ ist, dann müssen wir nachtrimmen!
&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;6. Nachtrimmen der ATTiny85&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nachtrimmen_der_attiny85&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;4819-5233&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;im_pypg_den_ersten_tiny_trimmen&quot;&gt;6.1 Im pyPG den ersten Tiny trimmen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;	Wir gehen in den pyPG und verbinden uns mit der Hauptplatine. &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;	Dann gehen wir auf „Servo Test 2“&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;	Dort stellen wir bei „Servo Modul Adresse“ eine 1 ein, wenn wir eine Hauptplatine 101 haben, oder eine 102 ohne Diode(n). Bei einer Hauptplatine 102 mit Diode(n) stellen wir eine 2 ein.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;	Bei „Servo Betriebsart“ wählen wir „Tune Clock“&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;	Nun schieben wir den Regler „Servo position“ z.B. auf 20, drücken dann den „Enter“ Button und gucken, was sich verändert.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;	Das Verschieben des Reglers + Enter verändern wir so lange, bis wir das beste Ergebnis erreicht haben.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;	Am WICHTIGSTEN ist hierbei das gleichmäßige Blinken der direkt nachfolgenden 511er Platine!&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;6.1 Im pyPG den ersten Tiny trimmen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;im_pypg_den_ersten_tiny_trimmen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;5234-5987&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit14&quot; id=&quot;im_pypg_den_zweiten_tiny_trimmen&quot;&gt;6.2 Im pyPG den zweiten Tiny trimmen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;	Das Trimmen des zweiten Tiny kann nur erfolgen, wenn der erste Tiny so gut getrimmt wurde, dass der zweite Tiny, genau wie der erste Tiny, gleichmäßig langsam blinkt!&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;	Um den zweiten Tiny zu trimmen (falls überhaupt erforderlich) wählt man jetzt bei „Servo Modul Adresse“ eine 4 an (oder 5 bei Hauptplatine mit Diode) und wiederholt den Vorgang aus 6.1 so lange, bis der dritte (in diesem Beispiel letzte) 511 Controller gleichmäßig blinkt und auch die finale Heartbeat und die nachfolgenden LEDs keine komischen Effekte mehr zeigen.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;6.2 Im pyPG den zweiten Tiny trimmen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;im_pypg_den_zweiten_tiny_trimmen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;5988-6587&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;den_ersten_tiny_evtl_nochmal_nachtrimmen&quot;&gt;6.3 Den ersten Tiny evtl. nochmal nachtrimmen&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;	Es kann vorkommen, dass der zweite Tiny durch den eigenen Trimm den Kontakt zum ersten Tiny wieder verliert. Man merkt das daran, dass man schlagartig eine Verschlechterung erzeugt und i.d.R. kann man das auch nicht sofort wieder rückgängig machen, weil der zweite Tiny ja nun auch keine Befehle mehr über den ersten Tiny lesbar zugestellt bekommt.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;	Das ist aber leicht zu lösen, indem man die Prozedur aus 6.1 wiederholt und den ersten Tiny wieder besser an den …nun ja selber auch neu getrimmten …zweiten Tiny anpasst!&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;6.3 Den ersten Tiny evtl. nochmal nachtrimmen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;den_ersten_tiny_evtl_nochmal_nachtrimmen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;6588-7181&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit16&quot; id=&quot;nach_dem_erfolgreichen_trimmen&quot;&gt;7. Nach dem erfolgreichen Trimmen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Wenn man mehrere 511 Controller erfolgreich durchgetrimmt hat sollte man auf jeden Fall bei ALLEN einen „Factory default Reset“ durchführen, da es durch die wirren Bits in der Trimmphase durchaus mal vorkommen konnte, dass ungewollte Programmierungen entstanden sind und gespeichert wurden!
&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;7. Nach dem erfolgreichen Trimmen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nach_dem_erfolgreichen_trimmen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;7182-7525&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit17&quot; id=&quot;mehr_als_drei_tinys_trimmen&quot;&gt;8. Mehr als drei Tinys trimmen&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Die Prozeduren gelten sinngemäß auch für mehr als drei Tinys und es ist durchaus möglich erfolgreich bis zu sechs 511 Platinen mit ATTiny85 zu trimmen. Die mögliche Anzahl an Sortier- und Trimm-Schritten steigt aber exponentiell an!
Einfacher ist es in jedem Fall, nur Cluster bis zu drei 511 Platinen zu trimmen und dann eine WS2811/WS2812 RGB LED dazwischen zu packen, die den Takt aus den 800 kHz Bitrate wieder zurückgewinnen und so für einen weiteren 511er Cluster konsolidieren.
&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;8. Mehr als drei Tinys trimmen&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mehr_als_drei_tinys_trimmen&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;7526-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Thu, 06 Feb 2025 12:12:09 +0000</pubDate>
        </item>
        <item>
            <title>z21simulator</title>
            <link>https://wiki.mobaledlib.de/anleitungen/spezial/pyprogramgenerator/z21simulator</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;pyprogramgenerator_-_z21_simulator&quot;&gt;pyProgramGenerator - Z21 Simulator&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;pyProgramGenerator - Z21 Simulator&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;pyprogramgenerator_-_z21_simulator&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-50&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit2&quot; id=&quot;einleitung&quot;&gt;Einleitung&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der Z21 Simulator ermöglicht die direkte Steuerung des ARDUINOS von Modellbahnsteuerungsprogrammen aus (z.B. Rocrail, iTrain, Traincontroller, WinDigiPet). Die Simulation verhält sich gegenüber dem Steuerprogramm wie eine Roco Z21 Zentrale. Wenn das Steuerproramm auf demselben Rechner läuft, findet das Steuerprogramm die Z21 Simulation unter der IP Adresse 127.0.0.1. Das Textfeld zeigt alle gesendeten und empfangenen Kommmandos an.
&lt;/p&gt;

&lt;p&gt;
Der LED-ARDUINO wird direkt über USB mit dem PC verbunden.
&lt;/p&gt;

&lt;p&gt;
Es ist kein DCC-ARDUINO notwendig!
&lt;/p&gt;

&lt;p&gt;
Bei der direkten Steuerung des LED-ARDUINOs ist der ARDUINO immer mit dem USB-Anschluss des Steuer-PCs verbunden. Nicht nur zum Programmieren.
&lt;/p&gt;

&lt;p&gt;
Das folgende Bild zeigt die Grundkonfiguration:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/wiki_ext_control_overview_10.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Az21simulator&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:wiki_ext_control_overview_10.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/wiki_ext_control_overview_10.jpg?w=300&amp;amp;tok=16609c&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;300&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
Was sind die Vorteile der direkten Steuerung?
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; es reicht die minimal Konfiguration für die MobaLedLib aus - ein ARDUINO, ein 100 Ohm Widerstand und eine 4- oder 6-polige Buchse.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; der Steuerbus der Zentrale und auf dem Gleis wird nicht belastet - gerade bei DCC kann dies ein Problem werden, wenn komplexe Beleuchtungsszenarien geschaltet werden, können Steuerkommandos für Lokomotive verzögert werden. Was beim Bremsen zu ungenauen Haltepunkten führen kann.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die Informationsübertagung ist etwas schnelle, da die Verzögerung durch die Zentrale und das Protokoll entfallen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; es ist möglich Informationen vom ARDUINO an die Software zurückzumelden, z.B. Tasterdrücke, Schalterstellungen oder Reedkontakte (in Vorbereitung)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Die Lösung hat aber auch Nachteile:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; der ARDUINO muss dauerhaft mit dem USB Ausgang des Steuer-PCs verbunden sein. Das hat folgende Konsequenzen, die man beachten muss:&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; über den ARDUINO sind alle Komponenten der MobaLedLib mit der PC Masse verbunden. Die MobaLedLib darf daher auf keinen Fall irgendeine direkte Verbindung zu den Gleisen haben, z.B. für Besetztmeldungen, diese dürfen nur über Optokoppler laufen.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Beim Anschließen von zusätzlichen Netzteilen für die Stromversorgung ist darauf zu achten, dass die +5V Stromversorgung des ARDUINO von der zusätzlichen Stromversorgung auch wirklich getrennt ist. Bei einem Fehler kann der USB Anschluss des PCs zerstört werden.&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
Das folgende Bild zeigt die minimal Konfiguration:
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/wiki_ext_control_overview_12.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Az21simulator&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:wiki_ext_control_overview_12.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/wiki_ext_control_overview_12.jpg?w=300&amp;amp;tok=6c3587&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;300&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;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;51-2472&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;wie_funktioniert_das&quot;&gt;Wie funktioniert das?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die Modellbahnsteuerungssoftware muss jetzt irgendwie ihre Kommandos an den ARDUINO über die USB-Schnittstelle schicken.
Da keine Modellbahnsteuerungssoftware - zumindest bis jetzt nicht - die MobaLedLib kennt müssen wir das anders lösen.
&lt;/p&gt;

&lt;p&gt;
Und da kommt der Z21-Simulator ins Spiel.
&lt;/p&gt;

&lt;p&gt;
 „Also, wat is en Z21 Simulator? Da stelle mehr uns janz dumm. Und da sage mer so: En Z21 Simulator, dat is ene jroße schwarze Box, die hat hinten un vorn e Schnittstell. Dat eine Schnittstell, dat is de Z21 Schnittstell. Und dat andere Schnittstell, dat krieje mer später.“
&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 funktioniert das?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wie_funktioniert_das&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;2473-3069&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;die_z21-schnittstelle&quot;&gt;Die Z21-Schnittstelle&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Wenn man eine Modellbahnsteuerungssoftware dazu bringen möchte, mit einer neuen Hardware zusammenzuarbeiten, ist es am einfachsten der Software eine Schnittstelle zu einer Zentrale anzubieten, die sie schon kennt.
Hier gibt es mehrere Möglichkeiten. Früher wurde gerne die Intellibox-Schnittstelle dazu verwendet.
&lt;/p&gt;

&lt;p&gt;
Seit ROCO seine Z21 Zentrale auf den Markt gebracht hat, die Beschreibung der Schnittstelle zu Modellbahnsteuerungssoftware veröffentlicht hat und erlaubt diese nachzubilden (was ESU z.B. ausdrücklich für die ECOS-Schnittstelle untersagt) ist die moderne Z21 Schnittstelle das Mittel der Wahl.
&lt;/p&gt;

&lt;p&gt;
Wir müssen also eine Software auf dem PC laufen lassen, die die Z21-Schnittstelle simuliert und der Modellbahnsteuerungssoftware vorgaukelt sie wäre eine Roco Z21. Und diese Software ist der Z21-Simulator.
&lt;/p&gt;

&lt;p&gt;
Was die Z21 Schnittstelle so interessant macht, ist, dass sie ein &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt; Protokoll ist. Das heißt, der Z21-Simulator kann auf demselben PC wie die Modellbahnsteuerungssoftware laufen oder auf irgendeinem anderen Gerät im &lt;abbr title=&quot;Local Area Network&quot;&gt;LAN&lt;/abbr&gt;. Damit ist es auch möglich den Z21-Simulator auf einem Raspberry laufen zu lassen und den ARDUINO an die USB-Schnittstelle des Raspberrys anzuschließen. Damit könnte man die begrenzte Länge der USB-Kabel von max 5m beliebig erweitern. Man könnte an den Raspberry auch mehrere ARDUINOS anschließen, die jeweils für einen Teilbereich der Modellbahn zuständig sind. (Diese Funktion ist in Vorbereitung)
&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 Z21-Schnittstelle&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;die_z21-schnittstelle&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;3070-4560&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;die_arduino-schnittstelle&quot;&gt;Die ARDUINO-Schnittstelle&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Die andere Schnittstelle des Z21-Simulators ist die USB-Schnittstelle. Genauer gesagt wird über die USB-Schnittstelle eine serielle Kommunikation simuliert. Diese serielle Kommunikation entspricht genau der Kommunikation zwischen dem DCC-ARDUINO und dem LED-ARDUINO, wenn eine DCC-Digital Zentrale verwendet wird.
Für den LED-ARDUINO ist es deshalb überhaupt kein Unterschied, ob er über eine DCC-Digital-Zentrale und den DCC-ARDUINO die Kommandos erhält oder über den Z21-Simulator und den USB-Anschluss.
&lt;/p&gt;

&lt;p&gt;
Wichtig zu wissen ist, dass der LED-ARDUINO im DCC-Modus programmiert werden muss, damit er mit dem Z21-Simulator zusammenarbeiten kann.
&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 ARDUINO-Schnittstelle&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;die_arduino-schnittstelle&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;4561-5247&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;wie_startet_man_den_z21-simulator&quot;&gt;Wie startet man den Z21-Simulator?&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
Der Z21 Simulator kann folgendermaßen gestartet werden:
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Über den Startbutton auf der Z21-Simulator-Seite&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Automatisch beim Start des pyProgrammGenerators durch eine Kommandozeilenoption&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Wie startet man den Z21-Simulator?&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;wie_startet_man_den_z21-simulator&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;5248-5488&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit7&quot; id=&quot;start_des_z21-simulators_mit_startbutton&quot;&gt;Start des Z21-Simulators mit Startbutton&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ARDUINO an den USB-Anschluss des PC anschließen&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; pyProgrammGenerator starten&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; auf der ARDUINO-Einstellungen-Seite überprüfen, ob der ARDUINO richtig erkannt wurde &lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/wiki_z21-sim_01.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Az21simulator&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:wiki_z21-sim_01.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/wiki_z21-sim_01.jpg?w=600&amp;amp;tok=cf9db0&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; die geänderten Einstellungen speichern&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; den Reiter Z21-Simulator auswählen  &lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; der Z21-Simulator wird gestartet. Im Meldungsfenster wird angezeigt, dass der Port für den Z21-Simulaor geöffnet wurde. Außerdem wird die IP-Adresse des PCs angezeigt. Diese IP-Adresse wird nachher beim Einrichten der Modellbahnsteuerungssoftware oder der Smartphone-App benötigt.In der Status-Zeile ganz unten wird die Meldung angezeigt, dass eine Verbindung zum ARDUINO aufgebaut wird. &lt;a href=&quot;https://wiki.mobaledlib.de/_detail/bilder/anleitungen/servofarbtestprogramm/wiki_z21-sim_03.jpg?id=anleitungen%3Aspezial%3Apyprogramgenerator%3Az21simulator&quot; class=&quot;media&quot; title=&quot;bilder:anleitungen:servofarbtestprogramm:wiki_z21-sim_03.jpg&quot;&gt;&lt;img src=&quot;https://wiki.mobaledlib.de/_media/bilder/anleitungen/servofarbtestprogramm/wiki_z21-sim_03.jpg?w=600&amp;amp;tok=6d4347&quot; class=&quot;mediacenter&quot; loading=&quot;lazy&quot; alt=&quot;&quot; width=&quot;600&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Wenn alles funktioniert hat, und der Z21-Simulator auch die Verbindung zum ARDUINO herstellen konnte, wird die Meldung „Z21 Simulator started“ angezeigt.&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Jetzt kann die Modellbahnsteuerungssoftware oder die Smartphone App die MobaLedLib steuern. Wie das genau geht, wird weiter unten beschrieben.  - &lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Start des Z21-Simulators mit Startbutton&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;start_des_z21-simulators_mit_startbutton&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;5489-6652&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit8&quot; id=&quot;start_des_z21-simulators_ueber_kommandozeilenoption&quot;&gt;Start des Z21-Simulators über Kommandozeilenoption&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Da es nicht sehr komfortabel ist, jedes mal, wenn man die MobaLedLib mit der Modellbahnsteuerungssoftware steuern möchte, den Z21-Simulator von Hand zu starten, gibt es eine Kommandozeilenoption, mit der man das Programm anweisen kann, den Z21 Simulator automatisch zu starten.
&lt;/p&gt;

&lt;p&gt;
Die Option zum einschalten des Z21-Simulators lautet: –z21simulator True
&lt;/p&gt;

&lt;p&gt;
Die komplette Kommandozeile würde also so aussehen: pyProg_Generator_MobaLedLib –z21simulator True
&lt;/p&gt;

&lt;p&gt;
ACHTUNG: Diese Funktion ist in Vorbereitung und noch nicht implementiert!
&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 des Z21-Simulators \u00fcber Kommandozeilenoption&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;start_des_z21-simulators_ueber_kommandozeilenoption&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;6653-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 03 Jan 2021 15:43:54 +0000</pubDate>
        </item>
    </channel>
</rss>
