| LightStack - eine einfache Programmiersprache zum Erstellen von (fast) beliebigen Lichtsteuerungen | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Übersicht | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||