Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Der Einstieg in die MobaLedLib:

Stammtische

Workshops

aktuell verwendete Versionen


Verwendung mit der MoBa-Zentrale

Steuerung der MobaLedLib-Effekte

Erste Hilfe

Bewegung mit der MLL

Servoplatine

Relaisplatine

WS2811-BiPol


Sound mit der MLL

JQ6500

MP3-TF-16P

Hauptplatine

Sounddateien

Anwendungsbeispiele:

3D-Druck

Entwicklungen MoBa-Universum

Platinen van Theo

MobaLedLib Sonderplatinen

Drehscheibensteuerung LocoTurn V 1.2

Drehscheibe (V0.6)

Lok-Platinen

OLED Displays

Infrared to Z21 Bridge

Hilfereiche Themen

Wissen für Fortgeschrittene

Impressum & Datenschutz

Für Wiki-Editoren:

Server online

anleitungen:spezial:codevorlagen:warnleuchte

Dies ist eine alte Version des Dokuments!


Die integrierte Warnleuchte

Ausgangsbasis für die folgende Anwendung war eine fixe Idee:
Dort existiert ein Gleisanschluss, der zeitweise zum Programmieren der Lokomotiven genutzt wird, aber zu 99% dem Spielbetrieb dient. Um das zu realisieren, muss dieser Gleisanschluss zweipolig getrennt werden und ganz wichtig: Nach erfolgreicher Programmierung muss er wieder an die Anlage gekoppelt werden. Um diesen letzten Schritt nicht zu vergessen, sollte in unmittelbarer Nähe ein nicht zu übersehendes Warnsignal leuchten.

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 spare ich mir ein Zusätzliches Byte. Das ist wichtig, weil wir ja nur 2000 davon haben und bereits knapp 800 für die LEDs benötigt werden.

Dieser Sparfimmel führt jetzt aber zu dem von Michael beobachteten Effekt. Die House Funktion prüft die Helligkeit der roten LED, wenn das Licht angeschaltet werden soll. Wenn die LED durch das Blinken bereits leuchtet, dann kommt das Programm durcheinander. Warum dann die LED ganz schwach leuchtet habe ich noch nicht untersucht. Das kann man ganz einfach beheben indem man das Einschaltsignal für die Neonlichter verzögert. Dadurch ist sichergestellt, dass die rote LED nicht mehr an ist, wenn das Neonlicht angeschaltet werden soll. Diese Verzögerung kann man mit einem Monoflop und einer Logic Funktion bauen:

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
anleitungen/spezial/codevorlagen/warnleuchte.1647867632.txt.gz · Zuletzt geändert: 2022/03/21 14:00 (Externe Bearbeitung)