Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
anleitungen:spezial:codevorlagen:warnleuchte [2022/03/21 16:32] – raily74 | anleitungen:spezial:codevorlagen:warnleuchte [2022/04/25 07:09] – [Die passende Relaisschaltung] raily74 | ||
---|---|---|---|
Zeile 9: | Zeile 9: | ||
**Warum also nicht einfach die RGB-LEDs eines in der Nähe stehenden Gebäudes nutzen und z. B. die Neonröhren einer Werkhalle rot blinken lassen?**\\ | **Warum also nicht einfach die RGB-LEDs eines in der Nähe stehenden Gebäudes nutzen und z. B. die Neonröhren einer Werkhalle rot blinken lassen?**\\ | ||
- | Zur Generierung des Flackerns einer Neonröhre braucht man jedoch einen Speicher, in dem abgelegt wird, wie viele Zündversuche schon gemacht wurden und ob die Lampe endlich richtig gezündet hat. Diese Daten werden im roten Kanal der LED abgelegt, um Speicher im Arduino zu sparen. Bei jedem Zündversuch wird die Rote LED um ein kleines bisschen heller. Das sieht dann so aus als wäre es die Glimmlampe des Starters. Zur Erkennung, ob die Lampe gerade hell ist, weil ein Zündversuch stattfindet, | + | |
+ | __Die Herausforderung: | ||
+ | Zur Generierung des Flackerns einer Neonröhre braucht man jedoch einen Speicher, in dem abgelegt wird, wie viele Zündversuche schon gemacht wurden und ob die Lampe endlich richtig gezündet hat. Diese Daten werden im roten Kanal der LED abgelegt, um Speicher im Arduino zu sparen. Bei jedem Zündversuch wird die rote LED um ein kleines bisschen heller. Das sieht dann so aus als wäre es die Glimmlampe des Starters. Zur Erkennung, ob die Lampe gerade hell ist, weil ein Zündversuch stattfindet, | ||
Dieser Sparfimmel führt aber zu einem ungewollten Effekt. Die House Funktion (hier mit Neonröhren) prüft die Helligkeit der roten LED, sobald das Licht angeschaltet werden soll. Wenn die LED durch das Blinken bereits leuchtet, dann kommt das Programm durcheinander. Um das zu verhindern, nutzt man als Warnsignal einfach den Fotoblitz. Da dieser nur einen sehr kurzen Impuls sendet, kommt die House-Funktion beim Wiedereinschalten nicht mehr durcheinander. Man kann somit die RGB-LEDs eines Gehäuses sowohl als belebtes Haus, als auch als Warnleuchte in den Farben Rot (C1), Grün (C2), Blau (C3), Gelb (C12), Cyan (C23) und Weiß (C_All) nutzen. | Dieser Sparfimmel führt aber zu einem ungewollten Effekt. Die House Funktion (hier mit Neonröhren) prüft die Helligkeit der roten LED, sobald das Licht angeschaltet werden soll. Wenn die LED durch das Blinken bereits leuchtet, dann kommt das Programm durcheinander. Um das zu verhindern, nutzt man als Warnsignal einfach den Fotoblitz. Da dieser nur einen sehr kurzen Impuls sendet, kommt die House-Funktion beim Wiedereinschalten nicht mehr durcheinander. Man kann somit die RGB-LEDs eines Gehäuses sowohl als belebtes Haus, als auch als Warnleuchte in den Farben Rot (C1), Grün (C2), Blau (C3), Gelb (C12), Cyan (C23) und Weiß (C_All) nutzen. | ||
- | Insgesamt stünden also sechs unterschiedliche Farben für sechs unterschiedliche Warnsignale zur Verfügung. Im Falle des unten gezeugten | + | Insgesamt stünden also sechs unterschiedliche Farben für sechs unterschiedliche Warnsignale zur Verfügung. Im Falle des unten gezeigten |
* Grün für die Programmierung mit der Z21 | * Grün für die Programmierung mit der Z21 | ||
* Cyan für die Programmierung mit dem ESU LokProgrammer | * Cyan für die Programmierung mit dem ESU LokProgrammer | ||
* Gelb für die Programmierung mit dem Zimo MXDECUP/ | * Gelb für die Programmierung mit dem Zimo MXDECUP/ | ||
* Weiß als Reserve für die Programmierung mit einem vierten Programmiergerät | * Weiß als Reserve für die Programmierung mit einem vierten Programmiergerät | ||
- | * Rot als Warnleuchte, | + | * Rot als Warnleuchte, |
{{vimeo> | {{vimeo> | ||
Zeile 24: | Zeile 26: | ||
Um das Ganze per DCC zu steuern, werden im Programmgenerator als erstes die DCC-Adressen mit den Schalternamen verknüpft. Im Beispiel ist das Adresse #1 für die Aktivierung des normalen Lichts (" | Um das Ganze per DCC zu steuern, werden im Programmgenerator als erstes die DCC-Adressen mit den Schalternamen verknüpft. Im Beispiel ist das Adresse #1 für die Aktivierung des normalen Lichts (" | ||
+ | |||
+ | Als nächstes benötigt man eine Logische Verknüpfung, | ||
+ | * welche " | ||
+ | * welche " | ||
+ | * welche " | ||
+ | * welche " | ||
+ | * welche " | ||
+ | * welche " | ||
+ | |||
+ | <WRAP info 60%> | ||
+ | Die letzte logische Verknüpfung muss nicht berücksichtigen, | ||
+ | </ | ||
{{: | {{: | ||
+ | |||
+ | ==== Die passende Relaisschaltung ==== | ||
+ | |||
+ | Die gezeigte Relaisschaltung schleift das DCC-Signal der Zentrale durch alle inaktiven Relais durch. Das hat einen entscheidenden Vorteil gegenüber einer aufeinander folgenden Schaltung: Es muss für jedes Programmiergerät nur das jeweils zugehörige Relais geschaltet werden und nicht alle davor liegenden zusätzlich. Werden versehentlich zwei Relais aktiviert, wird nur das am ersten Relais angeschlossene Programmiergerät durchgereicht, | ||
+ | |||
+ | Schließt man hingegen das DCC-Signal der Zentrale am ersten Relais an die geschalteten Ausgänge und die Programmiergeräte ebenfalls an die geschalteten Ausgänge ihrer zugeordneten Relais, müssen bspw. für das Programmiergerät an Relais 3 die ersten drei Relais aktiviert werden. | ||
+ | |||
+ | {{: |