Software für Lichtsteuerung
Bedienpult
Als zentrale Bdfieneinheit bietet der PC mit einen Visual Basic Programm eine bequeme Möglichkeit alle Lichteffekte der Anlage zzu bsteuern.
Das Bedienpult übermittel nur einzelne Befehle. Entweder Licht Zustand wechseln, oder Befehle zur Steuerung des Arduino.
Zentrale Befehle:
A | Abendsequenz starten | O | Beleuchtung 1 | |
B | Bahnanlagen Beleuchtung | P | Beleuchtung 2 | |
D | Diskobeleuchtung Stadtsaal | Q | Beleuchtung 3 | |
S | Strassenbeleuchtung | R | Reset der Clients | |
G | Geschäftsbeleuchtung | E | Alles EIN | |
N | Sonderanlagen | L | Alles AUS |
Die Befehle Beleuchtung 1 -3 undf der Befehl Sonderanlagen sind derzeit nicht vetrwendet.
Bei den automatischen Abläufen ergibt sich bei normaler Verwendung der Warteposition des Computers (sleep oder wait) die Problematik, daß der Rechner zeitweise nicht mehr "verfügbar" ist - weil er wartet. Daher habe ich den automatischen Ablauf in den Arduino Mega verlegt.
Die Sequenz wird durch ein relativ großes Array mit den folgenden Daten: Lichtquelle, Wartezeit, Zustand beschrieben. Ich bin davon abgegangen die Lichter zufällig zu schalten, da dadurch etwas widersinnige Zustände auftreten.
Beispiel einer solchen Sequenz (zB Wohnhaus):
Licht im Stiegenhaus ein
Licht im 2 Stock Bad/Gang ein
Licht im Stiegenhaus aus
Licht in der Küche ein ....
const int abend[ ][3] = { {8, 1, 10}, {13, 1, 4}, {20, 1, 0}, {18, 1, 5} ...... };
Am leichtesten läßt sich der Ablauf in einem Zeitdiagramm grafisch darstellen :