Was macht man bei dem schönen Wetter an einem Samstag Nachmittag? Mit dem B400 in den Ohren auf dem Balkon sitzen und 200 Zeilen Arduino Code für die Standard-Ausführung des Relay Audio Switch V1.0 runter schreiben.
Den Code möchte ich nicht allumfassend posten, die Funktionen lassen sich auch so recht einfach beschreiben.
Beim Einschalten passiert zunächst nichts, alle Relais sind offen, alle LEDs aus. Es werden dauerhaft die Zustände der insgesamt 7 Taster als Eingänge abgefragt. Wird einer der Taster 1 bis 6 betätigt, werden aktiv, also unabhängig vom aktuellen Zustand, mit einer kurzen Verzögerung alle LEDs ausgeschaltet und die Ansteuerung aller Relais aufgehoben. Nach einer kurzen Wartezeit wird dann die diesem Ausgang zugeordnete LED eingeschaltet und das entsprechende Relais angezogen. Durch diese Programmierung können nie zwei Ausgänge parallel benutzt werden, was gut für die meisten hochohmigen Ausgänge von DACs, etc. ist. Dieser Zustand bleibt jedenfall bestehen, bis ein anderer Taster bedient oder die Stromversorgung unterbrochen wird. Taster 7 löst Mute aus, d.h. es werden aktiv, also unabhängig vom aktuellen Zustand, mit einer kurzen Verzögerung alle LEDs ausgeschaltet und die Ansteuerung aller Relais aufgehoben. Dann bleiben bis auf Weiteres alle Ausgänge stumm und alle LEDs aus.
Das Schöne an dieser Art der Umsetzung ist, dass sämtliche Funktionen, die im Inneren ablaufen, nach Belieben durch die Programmierung des Arduino angepasst werden können. Zwischen den Eingängen und den Ausgängen besteht keine physische Verbindung und auch sonst keine Abhängigkeiten.
# Soll beim Einschalten Ausgang 3 durchgeschaltet werden?
# Sollen alle LEDs beim Einschalten einmal blinken?
# Sollen bis zu 2 Ausgänge gleichzeitig durchgeschaltet werden, bei der Betätigung des dritten Tasters soll der erste Ausgang stumm geschaltet werden?
Es geht wirklich alles
