LightStack - eine einfache Programmiersprache zum Erstellen von (fast) beliebigen Lichtsteuerungen
Übersicht
  • wenige, einfache Standard Befehle die den allgemeinen Steuerungsbedarf abdecken
  • Skalierbarkeit (Anzahl der zu steuernden Lichter / LEDs)
  • wahlweise 16 .. 4096 oder auch mehr Helligkeitsstufen pro LED, je nach verfügbarer Rechenleistung bzw. PWM-Modus
Schattenbild "Lichtkreisel"
13 RGB-Leuchtdioden
gesteuert mit "LightStack"
typische Anwendungen
Dimmerschaltungen
dynamische Farbwechsel
kundenspezifische Lichtsteuerungen
nachladbare Lichtsequenzen, z.B. zur Anrufrufsignalisierung von Mobile-Phones
DMX-Steuergeräte

Lichtsteuerungen aller Art
Vorteile gegenüber herkömmlichen Lösungen:
Schnelles Erstellen von einfachen und komplexen Lichtsteuerungen
Fast-Prototyping, Programmierung und Änderung von Lichtsequenzen in wenigen Sekunden
Portierbarkeit durch Hardware-Unabhängigkeit
Objekt "Lichtorgel"
vier 1 W LEDs, gesteuert mit "LightStack"
Schattenbild "Ballon", gesteuert mit "LightStack"
Implementierung
LightStack implementiert eine zeitbasierte Lichtsteuerung, die Basisfrequenz ist frei, üblicherweise 100 Hz (10 mSec). Zu jedem Clock-Tick wird die virtuelle Maschine aufgerufen, diese bearbeitet entweder den aktuellen Befehl, oder holt sich, wenn dieser fertig abgearbeitet ist, den nächsten auszuführenden Befehl über eine Callback-Funktion.
LightStack-Befehle beinhalten üblicherweise 2 Zeitangaben, nämlich Minimal- und Maximal-Zeit für die Befehls-Ausführung, sowie 2 Helligkeitswerte für jedes Licht. Per Zufallsprogramm wird immer ein Wert aus dem Bereich zwischen Minimum und Maximum ermittelt. Um feste Werte vorzugeben, werden einfach beide Werte gleichgesetzt.
Zeitwerte sind 16 Bit, als Zeitbasis dient die eingestellte Frequenz (typisch 100 Hz), maximaler Zeitwert für einen Befehl ist dann also 655,35 Sekunden.
Für die Standard-Befehle wurden 16 virtuelle Helligkeitsstufen (4 Bit) pro LED gewählt, um eine effiziente Codierung zu ermöglichen. Außerdem wird dadurch Hardware-Unabhängigkeit erreicht. Da im Allgemeinen mehr reale Helligkeitsstufen zur Verfügung stehen, z.B. 4096 Stufen bei 12 Bit PWM, werden diese 16 Werte zunächst über eine Tabelle auf die realen Helligkeitsstufen abgebildet. Bei dieser Abbildung wird zusätzlich die Tatsache berücksichtigt, dass die Helligkeit von LEDs nicht unbedingt linear zunimmt und auch die Lichtempfindlichkeit des Auges nicht linear ist.
Bei den zeitgesteuerten Übergängen wird der aktuelle Helligkeitswert jeweils durch Interpolation zwischen realem Start- und realem Endwert errechnet. Somit werden trotz der nur 16 vorhandenen virtuellen Helligkeitsstufen sanfte Übergänge ermöglicht. Wenn die 16 virtuellen Helligkeitsstufen trotzdem nicht ausreichen sollten, können immer noch alle realen Helligkeitsstufen über erweiterte (nicht so effiziente) Befehle erreicht werden.
Michael Fitzek
Rothspitzstr. 9a
81476 München
info@lightstack.com