LED-Licht

Hauptseite
Beruf
Spiele
Geschichten
Zitate
HP48
ct-Bot
(ct-)Hardware
MP3-Wetterstation
LED-Tafel
LED-Licht
Nixie-Uhr
Nanoleaf Lichtpanel
Diverses
Rechenmaschine AE13
Grundgesetz
Jargon Lexikon
Holgi on Tour
Bilder
Rückmeldung?
Impressum

Einleitung

[LED-Licht] Nach MP3-Station und LED-Tafel kam mir die Idee einer automatischen Flurbeleuchtung mit Hilfe einer LED-Leiste. Jetzt ist zwar eigentlich ein LED-Streifen mit einzeln ansteuerbaren RGB-LEDs etwas übertrieben, um "nur" einen Flur zu erleuchten, aber .... nun ja, den Streifen hatte ich (für Experimente) eh da, und .... egal ;-)

Die Realisierung habe ich wie die vorangegangenen zwei Experimente mit Elementen von Tinkerforge und einem Raspberry Pi durchgeführt. Primäres Ziel war, einen Flur zu erleuchten, wenn sich jemand in diesen Bereich begibt. Findet dort keine Bewegung mehr statt, sollte das Licht langsam erlöschen. Da das System dauernd läuft, sollte es allerdings keine LCD-Anzeige zur Steuerung haben, wie die anderen beiden Geräte, sondern einen Drehknopf, um Kleinigkeiten einzustellen. Eigentlich soll man an so einer Lampe ja eh nicht viel einstellen, die soll ja nun hauptsächlich leuchten.

Aufbau

Das LED-Licht besteht zur Zeit aus folgenden Komponenten:
  • Raspberry Pi: Wie gehabt steuert dieser Minicomputer über ein Java-Programm die Tinkerforge-Komponenten. Ggf. tausche ich dieses Modell B mal durch ein B+ aus, welches ja etwas weniger Strom verbraucht.
  • Master Brick: Als Steuerkomponente wird hierüber der LED-Streifen gesteuert sowie die Sensoren bzw. der Dreknopf abgefragt.
  • LED-Strip-Bricklet: Hiermit wird der LED-Streifen gesteuert. Das Grundprinzip ist hier das gleiche wie bei der LED-Tafel: Auf einem flexiblen Streifen sind hintereinander (als Bus) RBG-LEDs und kleine Steuer-Chips aufgebracht. Das Bricklet gibt nun die an ihn übermittelten Informationen über die gewünschten Farben der LEDs an die einzelnen Steuer-Chips weiter, welche ihrerseits dann die RBG-LEDs steuern.
  • Bewegungsmelder-Bricklet (2 Stück): Diese Bricklets enthalten handelsübliche kleine Infrarot-Bewegungssensoren. Damit kann die Lampensteuerung feststellen, ob es eine Bewegung gibt, auf die zu reagieren ist. Zwei Stück sind notwendig, da ein Sensor alleine einen zu kleinen Erfassungsradius hätte.
  • Helligkeits-Bricklet: Misst die Helligkeit, damit die Beleuchtung (im normalen Modus) nur dann angeht, wenn es sich auch "lohnt". Ist es zu hell, bleibt das Licht aus, auch wenn eine Bewegung erkannt wird.
  • Drehknopf-Bricklet: Hierüber kann die Bewegung eines Drehknopfes ermittelt werden. Dieser Drehknopf rastet in kleinen Schritten ein (es werden also Schritte erkannt und keine analoge Bewegung, was hier aber erwünscht ist). Zudem kann man den Knopf eindrücken.

Arbeitsweise

[LED-Licht] Das ganze Geraffel ist hinter einem Schrank an der Ecke zum Flur angebracht. Der LED-Streifen ist natürlich an der Decke, auf dem oberen Bild kann man den Kabelkanal sehen, der vom Schrank hoch zur Decke und dem LED-Strip-Bricklet führt. Es sieht auf den ersten Blick ein wenig ungewönlich aus, fällt aber eigentlich nach kurzer Zeit kaum auf. Die beiden Bewegungssensoren fallen zwar mehr auf, aufgrund der eher tieferen Position und der durchsichtigen Gehäuse sind auch diese nicht störend (jedenfalls nicht sehr ;-))
Die Lichtleiste ist nun einen Meter lang (mit 32 LEDs) und erhellt den (nicht allzu grossen) Flur akzeptabel. Fürs Saubermachen reicht es nicht, aber dafür ist die normale Flurleuchte da. Als Beleuchtung für das sichere Bewegen im Flur reicht die Helligkeit mehr als aus. Und notfalls könnte man da auch noch einen weiteren Meter LED-Streifen anschliessen, aber das wird erstmal nicht nötig sein.

Das LED-Licht soll zwar primär leuchten, wenn es nötig ist, aber da man dem Java-Programm natürlich noch diversen Blödsinn beibringen kann, kann das Licht auch noch ein wenig mehr. Die einzelnen Modi werden durch kurzes Drücken des Drehknopfes umgestellt:

  • Bewegungssteuerung: Dieses ist der Hauptmodus, der auch nach dem Hochfahren des Raspberry aktiv ist. Wird eine Bewegung erkannt, und ist es dunkel genug, werden die LEDs eingeschaltet. Aber nicht sofort, sondern stufenweise, aber recht schnell. Die Obergrenze ist einstellbar, zudem kann durch Drehen des Drehknopfes die Helligkeit kontrolliert werden. Nach ebenfalls einstellbarer Zeit ohne Bewegung wird das Licht wieder ausgeschaltet, diesmal aber langsamer als beim Einschalten. Das Licht ist in diesem Modus immer weiss.
  • Farbwechsel: Hierbei wird in einstellbaren Abständen von einer Farbe in gewissen Stufen zu einer zufälligen anderen Farbe gewechselt. Hier wird nicht auf Umgebungshelligkeit oder Bewegung geachtet.
  • Regenbogenmodus: Die 32 LEDs des Streifens werden mit einem Farbverlauf gefüllt, welcher langsam sich entlang des Streifens bewegt.
Neben diesen Lichtmodi gibt es noch zwei Konfigurationsmodi (neben der Möglichkeit, die Helligkeit direkt mit dem Drehschalter einzustellen):
  • Einstellen der Leuchtdauer
  • Einstellen der Helligkeitsgrenze, d.h. ab welcher Umgebungshelligkeit das Licht überhaupt angeht
Diese Modi verwenden die LED-Leiste als Anzeigelement, d.h. der jeweils eingestellte Wert wird auf der LED-Leiste angezeigt und kann mit dem Drehknopf verändert werden.

Für den eigentlichen Zweck als Beleuchtung ist natürlich nur der erste Modus wirklich sinnvoll, der Rest ist mehr ein "Gag". Und als Lampe funktioniert das Konstrukt stabil, wenngleich es aber auch nicht unbedingt eine besonders preiswerte Lösung ist. Aber irgendwie individuell ;-)

Erweiterung 1

Ich habe verschiedene Funksteckdosen im Einsatz, z.B. um die MP3-Station oder die LED-Tafel vom Strom zu trennen, wenn sie nicht laufen. Zu Funksteckdosen gibt es ja immer Fernbedienungen, aber im Laufe der Zeit wuchs die Anzahl an, erst von 4 oder 5 (das hat dann mit einer Fernbedienung funktioniert) auf 6-8 (da waren es dann schon zwei Fernbedienungen). Und dann konnte ich da noch eine und ...

Es kam mir dann die Idee, ich könnte dann doch man schauen, ob ich nicht das Flurlicht, dessen Raspberry eh dauernd läft, als Ansteuerung eines Moduls (von Tinkerforge) verwenden, mit dem ich die Funksteckdosen steuern könnte.

Hierbei hat sich dann gezeigt, das es nicht so einfach ist, auch Funksteckdosen zu finden, die man damit auch ansteuern kann. Das Modul kann Empfangsmodule auf Basis der CHipsätze PT2262 und HX2262 ansprechen (alle auf 433MHz), aber bei vielen Funksteckdosen weiss man gar nicht, was dort verbaut wird (gern auch proprietäres Zeug, was sich nur mit der Fernbedienung des Herstellers ansprechen lässt). Ich habe nach einiger Suche dann aber geeignete Funksteckdosen gefunden.
Ja, ich hätte natürlich auch WLAN-Steckdosen kaufen können, aber diese sind vergleichsweise teuer. Und die Ansteuerung ist dort auch nicht unbedingt trivial, muss man hier und da auch erst einmal forschen, wie man diese Geräte ansprechen kann, wenn man nicht die "App" oder "Cloud" des Herstellers verwenden will. Ausserdem erscheint es mir auch ein wenig viel, wenn dann aktuell 11 Steckdosen jeweils eine WLAN Verbindung aufbauen und halten.

[Funksender] Das Funkmodul habe ich dann an der Decke montiert. Der auf dem Bild zu sehende Kabelkanal enthät bereits die Kabel für die Flurbeleuchtung, stört also auch nicht mehr als vorher 😜

Die Ansteuerung selbst findet natürlich in dem Java Programm statt, welches auch die anderen Elemente (LED-Streifen, Bewegungssensoren) ansteuert. Dort läuft ja auch der Mini-Webserver, über den sich die Steckdosen dann ein- und ausschalten lassen.

Funksteckdosen, welche auf diese Art angesteuert werden, haben leider keinen Rückkanal, daher kann man nicht konstrollieren, ob die Dose wirklich geschaltet hat. Man muss daher darauf achten, das die Dosen so gesetzt werden, das diese auch vernünftig geschaltet werden können, denn wenn diese zum Beispiel ungeschickt hinter elektronischen Geräschaften verbaut werden, können diese unter Umständen nicht oder nicht zuverlässig geschaltet werden. Zur stabileren Ansteuerung von "Wackelkandidaten" verwende ich zudem eine konfigurierbare Anzahl von Ansteuerversuchen ("Funkimpulsen") pro Steckdose, um (hoffentlich) sicher zu gehen, das die Dose auch wirklich schaltet.

Erweiterung 2

[LED-Licht] Die Ansteuerung der Steckdosen (siehe "Erweiterung 1") klappt soweit ganz gut, aber es ist manchmal etwas nervig, das Tablet (oder sonstiges Gerät mit Webbrowser) rauszukramen, um mal schnell eine Lampe ein- oder auszuschalten. Daher dachte ich mir, es wäre auch gut, eine Mögichkeit zur Ansteuerung über schnell zugreifbare Tasten zu ermöglichen (neben der bestehenden Möglichkeit über den Webbrowser). Und da ja die MP3-Station bereits optional über ein Tastenfeld steuerbar ist, hätte ich da ja schon Erfahrung im Aufbau, Vewendung und Ansteuerung.

Allerdings wäre eine Anzeige zum aktuellen Zustand der Steckdosen schon sinnvoll (die MP3-Station zeigt in ihrem Display schliesslich auch allerlei Inforamtionen an). Allerdings verbraucht das dort verbaute LCD-Display zwar nicht so besonders viel Strom (zumindest wenn die Hintergrundbeleuchtung aus ist), aber eben doch einiges. Wenn man dann bedenkt, das dieses Display dann dauernd laufen würde ....

Da traf es sich gut, das Tinkerforge inzwischen auch ein E-Paper Display im Angebot hat. Ausser beim Setzen der Anzeigedaten verbrauchen solche Teile gar keinen Strom (ok, der im Bricklet verbaute Chipsatz verbraucht dennoch ein klein wenig Strom, alleine deswegen, weil er ja auf Kommandos vom Steuer-Brick lauschen muss, aber das ist deutlich weniger als das LCD-Display braucht).

So habe ich dann ein Konstrukt ersonnen mit einem E-Paper-Display und dem Sensor-Tastenefeld, und dies an den Schrank gesetzt, hinter welchem der Raspberry für das Flurlicht steckt. Über das Tastenfeld kann ich nun die einzelnen Funksteckdosen ein- und ausschalten, und das Display zeigt den Schaltzustand an. Die Ansteuerung der Steckdosen findet natürlich über die gleichen Funktionen statt wie bei der Ansteuerung über den Webbrowser, und die Anzeige zeigt dies ebenfalls an.

[LED-Licht] Nachdem ich das Nanoleaf-Lichtpanel erworben und an die Wand gebracht hatte, kam mir dann auch der Gedanke, die angezeigten Bewegungsmuster nicht nur über die Tasten am Gerät selbst oder über die App steuern zu können, sondern auch über des Raspberry des Flurlichts. Und hier bieten sich dann auch zwei grundsätzliche Varianten an: Per Weboberfläche und über das Tastenfeld (also genau wie bei den Funksteckdosen).

Der Nanoleaf-Controller lässt sich über eine Web-API ansprechen, deren Dokumentation erfreulicherweise von Nanoleaf erhältlich ist. Es hat einige Versuche gebraucht, um ein Objekt zu erstellen, welches sauber mit Daten gefüttert werden kann dann mit dem Controller interagiert, aber das funktionierte nach einiger Zeit recht gut. Die Ansteuerung über die Weboberfläche war dann eher Fleißarbeit. Im Gegensatz zu den Funksteckdosen, deren Konfiguration ja eher statisch ist, können hier ja problemlos neue Muster auf den Controller geladen werden (weiterhin über die App, das selbst zu machen tue ich mir nicht an). Somit muss die Liste der Muster vom Controller extrrahierbar sein, und die Liste mit verwendbaren Mustern (die soll eingeschränkt sein, quasi eine Favoritenliste) muss über den Webbrowser pflegbar sein.

Nachdem die Ansteuerung des Nanoleaf-Panels über den Webbrowser funktionierte, habe ich dann auch eine Steuermöglichkeit über das Tastenfeld eingebaut. Da die Tasten und die Anzeige für die Steckdosen im Prinzip belegt war, habe ich eine Doppelbelegung eingebaut: Durch eine freie Taste (die letzte) kann man zwischen der Steuerung der Steckdosen und der Steuerung des Panels umschalten. Dort kann man dann das Panel ein- und ausschalten, sowie zwischen den Mustern (aus der Favoritenliste) wählen.


©2020 Holger Thiele
generiert aus "ledlicht.template" vom 19 05 2020
Valid HTML 4.01!