Benutzer-Werkzeuge

Webseiten-Werkzeuge


anleitungen:spezial:codevorlagen:warnleuchte

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
anleitungen:spezial:codevorlagen:warnleuchte [2022/03/24 22:14] – [Die integrierte Warnleuchte] raily74anleitungen:spezial:codevorlagen:warnleuchte [2022/04/25 09:25] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 <WRAP important 60%> <WRAP important 60%>
 In Bearbeitung In Bearbeitung
- --- //[[raily74@gmx.de|Michael]] 2022/03/21 17:31//+ --- //[[raily74@gmx.de|Michael]] 2022/04/25//
 </WRAP> </WRAP>
 ====== Die integrierte Warnleuchte ====== ====== Die integrierte Warnleuchte ======
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?**\\
 +
 +__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, leuchtet sie nicht mit der vollen Helligkeit, sondern ein kleines bisschen weniger. In diesem „Weniger“ werden wieder die Zündversuche gespeichert. So spart die Programmierung ein zusätzliches Byte. Das ist wichtig, weil der Arduino nur 2000 davon hat und bereits knapp 800 für die LEDs benötigt werden. 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, leuchtet sie nicht mit der vollen Helligkeit, sondern ein kleines bisschen weniger. In diesem „Weniger“ werden wieder die Zündversuche gespeichert. So spart die Programmierung ein zusätzliches Byte. Das ist wichtig, weil der Arduino nur 2000 davon hat und bereits knapp 800 für die LEDs benötigt werden.
  
Zeile 18: Zeile 20:
   * Gelb für die Programmierung mit dem Zimo MXDECUP/MXULFA   * Gelb für die Programmierung mit dem Zimo MXDECUP/MXULFA
   * 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, wenn fälschlicherweise zwei Programmiergeräte aktiv sind+  * Rot als Warnleuchte, wenn fälschlicherweise zwei oder mehr Programmiergeräte aktiv sind
  
 {{vimeo>687843311?medium}}\\ {{vimeo>687843311?medium}}\\
Zeile 26: Zeile 28:
  
 Als nächstes benötigt man eine Logische Verknüpfung, Als nächstes benötigt man eine Logische Verknüpfung,
-  * welche "Licht_OutN" aktiviert, wenn "Licht_Main" aktiviert ist aber nicht "Licht_Z21", "Licht_ESU", "Licht_Zimo" oder "Licht_Res"+  * welche "Licht_OutN" aktiviert, wenn "Licht_Main" eingeschaltet ist aber nicht "Licht_Z21", "Licht_ESU", "Licht_Zimo" oder "Licht_Res"
-  * welche "Licht_OutG" aktiviert, wenn "Licht_Z21" aktiviert ist aber nicht "Licht_ESU", "Licht_Zimo" oder "Licht_Res"+  * welche "Licht_OutG" aktiviert, wenn "Licht_Z21" eingeschaltet ist aber nicht "Licht_ESU", "Licht_Zimo" oder "Licht_Res"
-  * welche "Licht_OutB" aktiviert, wenn "Licht_ESU" aktiviert ist aber nicht "Licht_Z21", "Licht_Zimo" und "Licht_Res"+  * welche "Licht_OutB" aktiviert, wenn "Licht_ESU" eingeschaltet ist aber nicht "Licht_Z21", "Licht_Zimo" und "Licht_Res"
-  * welche "Licht_OutY" aktiviert, wenn "Licht_Zimo" aktiviert ist aber nicht "Licht_Z21", "Licht_ESU" oder "Licht_Res"+  * welche "Licht_OutY" aktiviert, wenn "Licht_Zimo" eingeschaltet ist aber nicht "Licht_Z21", "Licht_ESU" oder "Licht_Res"
-  * welche "Licht_OutW" aktiviert, wenn "Licht_Res" aktiviert ist aber nicht "Licht_Z21", "Licht_ESU" oder "Licht_Zimo"+  * welche "Licht_OutW" aktiviert, wenn "Licht_Res" eingeschaltet ist aber nicht "Licht_Z21", "Licht_ESU" oder "Licht_Zimo"
-  * welche "Licht_OutR" aktiviert, wenn "Licht_Z21" und "Licht_ESU", "Licht_ESU" und "Licht_Zimo", "Licht_Zimo" und "Licht_Res", "Licht_Z21" und "Licht_Zimo" oder "Licht_ESU" und "Licht_Res".+  * welche "Licht_OutR" aktiviert, wenn "Licht_Z21" und "Licht_ESU", "Licht_Z21" und "Licht_Zimo", "Licht_Z21" und "Licht_Res", "Licht_ESU" und "Licht_Zimo" oder "Licht_ESU" und "Licht_Res" eingeschaltet ist
  
 <WRAP info 60%> <WRAP info 60%>
Zeile 41: Zeile 43:
  
 ==== Die passende Relaisschaltung ==== ==== 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, weil die Kette zu den folgenden Relais unterbrochen ist.
 +
 +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.
  
 {{:bilder:anleitungen:spezial:codebeispiele:relaisschaltung_programm.png?nolink|}} {{:bilder:anleitungen:spezial:codebeispiele:relaisschaltung_programm.png?nolink|}}
anleitungen/spezial/codevorlagen/warnleuchte.1648160057.txt.gz · Zuletzt geändert: 2022/03/24 23:14 (Externe Bearbeitung)