TinyLights: Unterschied zwischen den Versionen

 
Zeile 35: Zeile 35:
 
== Software ==
 
== Software ==
  
[[Datei:Tinylights_conf.png|thumb|right|280px|TinyLightsConf]]
+
[[Datei:Tinylights_conf.png|thumb|right|300px|TinyLightsConf]]
  
 
Die Desktop-App wurde in [https://processing.org/ Processing] und damit in Java geschrieben. Für die grafische Oberfläche wurde die Bibliothek in [http://www.sojamo.de/libraries/controlP5/ ControlP5] verwendet. Das Interface bietet zum einfach Einstellen der Farben ein ColorWheel und Buttons zu Auswahl der LED. Für den Arduino wurde die [http://fastled.io/ FastLED-Library] zum ansteuern der WS2812 Leuchtdioden verwendet.
 
Die Desktop-App wurde in [https://processing.org/ Processing] und damit in Java geschrieben. Für die grafische Oberfläche wurde die Bibliothek in [http://www.sojamo.de/libraries/controlP5/ ControlP5] verwendet. Das Interface bietet zum einfach Einstellen der Farben ein ColorWheel und Buttons zu Auswahl der LED. Für den Arduino wurde die [http://fastled.io/ FastLED-Library] zum ansteuern der WS2812 Leuchtdioden verwendet.

Aktuelle Version vom 14. Mai 2016, 18:42 Uhr

Crystal Clear action run.png
TinyLights

Status: stable

Cat tinylights.jpg
Beschreibung Tiny Tiny Lights!
Autor: tine
PayPal Spenden für TinyLights

Beschreibung

Blumen machen alles schöner und große Fans von LED-Beleuchtung sind wir sowieso. Wieso also nicht die beiden vereinen und eine beleuchtete Blumenvase bauen?

Für den hölzernen Rahmen haben wir Leisten eines alten Lattenrosts recylced. Die Flaschen sind leere Prosecco- bzw. in einer anderen Version leere Orangina-Fläschchen.

Entsprechend der Flaschenanzahl und -maße werden die Leisten zugeschnitten. Die Seitenteile sollten etwas niedriger als die Flaschen selbst sein, damit die Flaschenhälse durch die Löcher des oberen Bretts schauen. Dies sorgt für mehr Stabilität und sieht besser aus.

In Ober- und Unterseite haben wir in gleichmäßigen Abständen mit einem 8er Holzbohrer pro Flasche je ein Loch gebohrt. In die Löcher des unteren Bretts werden später die LEDs eingesetzt. Die Löcher der Oberseite haben wir mit einem Forstnerbohrer, der etwas größer als der Flaschenhals sein sollte, verbreitert.

Tinylights 1.jpg

Nun haben wir mit einer Oberfräse einen Kanal von Loch zu Loch in die Unterseite des unteren Bretts gefräst, in dem die Verkabelung der LEDs sowie ein Arduino Nano Platz finden sollen. Wir haben einzelansteuerbare RGB LEDs gewählt. Nachdem alles zusammen gelötet ist, werden die LEDs und der Arduino mit Heißkleber im Kanal fixiert.

Aus einer HDF-Platte haben wir eine Abdeckung zurecht geschnitten, die die Elektronik verbirgt.

Bevor alles zusammen geschraubt werden kann, haben wir die Holzteile mit Holzinnenlasur in der Farbe "Palisander" gestrichen und gut trocknen lassen. Die dunkle Farbe gibt der Vase einen ansprechenden Vintage-Look und versteckt gleichzeitig kleinere Fehler im Holz.

Um die Flaschen am Hin- und Herrutschen zu hindern, haben wir am 3D Drucker Stopfen gedruckt, deren Oberseite den Durchmesser des Flaschenbodens haben, und diese in die LED-Löcher gesteckt.

Die fertige Vase sieht mit und ohne Blumen gut aus.

Software

TinyLightsConf

Die Desktop-App wurde in Processing und damit in Java geschrieben. Für die grafische Oberfläche wurde die Bibliothek in ControlP5 verwendet. Das Interface bietet zum einfach Einstellen der Farben ein ColorWheel und Buttons zu Auswahl der LED. Für den Arduino wurde die FastLED-Library zum ansteuern der WS2812 Leuchtdioden verwendet.

Für die Kommunikation zwischen der Vase und dem Computer wurde ein eigenes serielles Protokoll geschrieben. Das Protokoll ist komplett ASCII und kann somit auch im Serial Monitor von Hand verwendet werden. Befehle werden mit einem > eingeleitet und einem Newline (\n) beendet.

Befehl Antwort Beschreibung
>SET,index,r,g,b >OK Setzen der Farbe einer LED
>GET,index >GET,index,r,g,b Holen der aktuellen Farbe
>FLASH >OK Speichern der Farben in den Flash
>NUM >NUM,ledCount Gibt die Anzahl der LEDs zurück
- >HI Erste Nachricht nach dem connect

Die Software findet ihr in folgenden GitHub-Repositories:

Bilder