Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| anleitungen:prog_gen:virtual [2026/02/21 21:09] – [Schritt 2: Die Verknüpfung zwischen virtuellem und reelem Kanal] raily74 | anleitungen:prog_gen:virtual [2026/02/23 15:57] (aktuell) – [Was kann man damit machen?] raily74 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== Virtuelle LED Kanäle ====== | ====== Virtuelle LED Kanäle ====== | ||
| - | |||
| - | <WRAP round important 50%> | ||
| - | In Arbeit! | ||
| - | </ | ||
| - | |||
| Virtuelle Kanäle eignen sich, um versteckte Operationen auszuführen, | Virtuelle Kanäle eignen sich, um versteckte Operationen auszuführen, | ||
| Zeile 16: | Zeile 11: | ||
| Daher startet dieser Beitrag mit einem Beispiel: \\ | Daher startet dieser Beitrag mit einem Beispiel: \\ | ||
| - | Im konkreten Fall sollten drei Abschnitte à acht Neonlampen eines Bahnsteigs mit kurzer Zeitverzögerung nacheinander angehen. \\ | + | Im konkreten Fall sollten drei Abschnitte à acht Neonlampen eines Bahnsteigs mit kurzer Zeitverzögerung nacheinander angehen, so als hätte jemand im Bahnhofsgebäude drei Schalter nacheinander eingeschaltet.\\ |
| Starten wir mit dem Ergebnis: \\ | Starten wir mit dem Ergebnis: \\ | ||
| Zeile 50: | Zeile 45: | ||
| Schauen wir uns das am besten am Beispiel eines Arduinos an. Im folgenden Bild wurden der LED-Kanal 0 (Arduino-Pin: | Schauen wir uns das am besten am Beispiel eines Arduinos an. Im folgenden Bild wurden der LED-Kanal 0 (Arduino-Pin: | ||
| - | {{: | + | {{: |
| ==== Welcher Kanal ist der virtuelle Kanal? ==== | ==== Welcher Kanal ist der virtuelle Kanal? ==== | ||
| Zeile 65: | Zeile 60: | ||
| ==== Wie verwendet man den virtuellen Kanal? ==== | ==== Wie verwendet man den virtuellen Kanal? ==== | ||
| - | Die Einrichtung liegt nun hinter uns. Jetzt kommt der virtuelle Kanal in einem sehr einfachen Beispiel als versteckter Schalter | + | Die Einrichtung liegt nun hinter uns. Jetzt kommt der virtuelle Kanal in einem sehr einfachen Beispiel als versteckter Schalter zum Einsatz. Es eignet sich sehr gut zum Üben, weil es zunächst auf den oben beschriebenen Zeitablauf über den Pattern Configurator verzichtet. Das Beispiel zeigt lediglich die Anwendung des virtuellen Kanals und die Verknüpfung mit dem reellen Kanal. |
| In der Programmierung ist der virtuelle Kanal wie oben genannt Kanal 3.\\ | In der Programmierung ist der virtuelle Kanal wie oben genannt Kanal 3.\\ | ||
| Zeile 85: | Zeile 80: | ||
| === Schritt 1: Das Schrittschaltwerk im Pattern Configurator === | === Schritt 1: Das Schrittschaltwerk im Pattern Configurator === | ||
| - | Für den Bahnsteig benötigen wir drei Zustände. \\ | + | Für den Bahnsteig benötigen wir drei Zustände, die ich hier zunächst in logischer Reihenfolge definiere. \\ |
| Zustand 0: Der Bahnsteig ist aus. Diesen Zustand benötigen wir nur einmalig bei jedem Einschalten der Eisenbahnanlage. \\ | Zustand 0: Der Bahnsteig ist aus. Diesen Zustand benötigen wir nur einmalig bei jedem Einschalten der Eisenbahnanlage. \\ | ||
| Zeile 116: | Zeile 111: | ||
| === Schritt 2: Die Verknüpfung zwischen virtuellem und reelem Kanal === | === Schritt 2: Die Verknüpfung zwischen virtuellem und reelem Kanal === | ||
| + | Nun ist es an der Zeit, den Zustand der virtuellen LEDs abzufragen. Dazu bedienen wir uns der Funktion [[anleitungen: | ||
| + | Wichtig ist, dass die Funktion direkt unter das Pattern des Bahnsteigs gesetzt wird. Die Bedienung ist dann echt einfach. \\ | ||
| + | Mit dem Offset " | ||
| + | |||
| + | Man kann alle möglichen Zustände abfragen (ist der Wert größer als null, ist der Wert gleich 255, ist der Wert ungleich null usw.).\\ | ||
| + | Da wir im Pattern mit vollen Werten (x) gearbeitet haben, wurde in diesem Fall die Abfrage "ist gleich 255" gewählt (größer null wäre auch gegangen). \\ | ||
| + | Der Variablen-Name ist frei wählbar, er dient uns später als Ersatz für eine DCC-Adresse. Mit ihm wird das erste belebte Haus gezündet. \\ | ||
| + | |||
| + | {{: | ||
| + | |||
| + | Die Funktion **LED-Werte als Variable** wird jetzt dreimal untereinander ausgeführt, | ||
| + | In der Tabelle kann man nun auch sehen, dass das Pattern auf Kanal 3 gelandet ist. Hier muss man aufpassen. Die Abfrage, auf welchen Kanal das Pattern programmiert werden soll , kommt nur einmal und zwar direkt beim ersten Übertragen an den Programm Generator.\\ | ||
| {{: | {{: | ||
| - | {{:bilder: | + | === Schritt 3: Mit dem virtuellen Kanal schalten === |
| + | |||
| + | Der letzte Schritt ist nun der einfachste. Es werden drei belebte Häuser mit jeweils acht Neonröhren angelegt. \\ | ||
| + | Geschaltet werden die drei Häuser mit den zuvor festgelegten Variablen platform1, platform2 und platform3. \\ | ||
| + | Die belebten Häuser werden selbstverständlich wieder auf Kanal 0 programmiert, | ||
| {{: | {{: | ||
| + | |||
| + | Ich wünsche Euch viel Spaß und gutes Gelingen. Michael (raily74) | ||
| + | |||
| + | Wer nach diesem Tutorial jetzt richtig Spaß an den virtuellen LED Kanälen gefunden hat, dem empfehle ich einen Blick in die Programmierung des [[..: | ||
| ===== Virtuelle Kanäle zur Manipulation der Kanal-Nummer ===== | ===== Virtuelle Kanäle zur Manipulation der Kanal-Nummer ===== | ||
| Zeile 132: | Zeile 147: | ||
| Wie oben beschrieben muss man nun zunächst die LED-Bus Pins einstellen. Dort gibt man jetzt für jeden Kanal, den man an der LichtMaschine Pro später überspringen will ein " | Wie oben beschrieben muss man nun zunächst die LED-Bus Pins einstellen. Dort gibt man jetzt für jeden Kanal, den man an der LichtMaschine Pro später überspringen will ein " | ||
| - | {{: | + | {{: |
| Die Werkbank-Platine belegt nun die Kanäle 0, 1 und 2 rein virtuell. Erst auf Kanal 3 lässt sie die Ausgabe am Pin D6 zu. Nun beginnt man mit der Programmierung des zu bauenden Objekts und definiert jeden Effekt auf Kanal 3, **beginnend mit der Heartbeat-LED der Hauptplatine!** Es folgt zum Beispiel eine konstante LED in weiß. | Die Werkbank-Platine belegt nun die Kanäle 0, 1 und 2 rein virtuell. Erst auf Kanal 3 lässt sie die Ausgabe am Pin D6 zu. Nun beginnt man mit der Programmierung des zu bauenden Objekts und definiert jeden Effekt auf Kanal 3, **beginnend mit der Heartbeat-LED der Hauptplatine!** Es folgt zum Beispiel eine konstante LED in weiß. | ||
| - | {{: | + | {{: |
| Obwohl man jetzt per Definition Kanal 3 verwendet, kann man in der Werkstatt alle Effekte am normalen LED-Kanal der Hauptplatine nutzen und somit testen, denn diese denkt ja, dass der Wannenstecker Kanal 3 ist. Wenn man dann mit dem Bau des Häuschens und der Programmierung fertig ist, braucht man nur noch die entsprechenden Zeilen in das Programm der LichtMaschine Pro zu übertragen. Ohne Anpassungen, | Obwohl man jetzt per Definition Kanal 3 verwendet, kann man in der Werkstatt alle Effekte am normalen LED-Kanal der Hauptplatine nutzen und somit testen, denn diese denkt ja, dass der Wannenstecker Kanal 3 ist. Wenn man dann mit dem Bau des Häuschens und der Programmierung fertig ist, braucht man nur noch die entsprechenden Zeilen in das Programm der LichtMaschine Pro zu übertragen. Ohne Anpassungen, | ||