zurück zum Artikel

Weihnachtsstern aus dem 3D-Drucker: Bunt blinkend und per WLAN steuerbar

Gerald Lechner

Dieses Jahr peppen wir einen Weihnachtsstern aus dem 3D-Drucker mit einem Mikrocontroller und tollen Lichteffekten auf.

Endlich ist es wieder soweit – die Welt ist in ein stimmungsvolles Lichtermeer getaucht und als Maker kann man endlich seine Leidenschaft für leuchtende und blinkende Installationen ausleben. Daher haben wir auch dieses Jahr wieder ein funkelndes Weihnachtsprojekt vorbereitet: Die Version 2.0 unseres 3D-Druck-Weihnachtssterns aus dem letzten Jahr [1].

Bislang wurde der Stern nur durch eine einzelne Leuchte in einer zweiteiligen Basiskonstruktion mit 18 quadratischen sowie acht dreieckigen Pyramiden illuminiert. Dieses Jahr wollen wir aber einen drauf setzen: Jede Ecke des Sterns soll bunt leuchten! Dafür bringen wir je eine intelligente RGB-LED in den Sternzacken unter. Die WS2812B SMD-Dioden werden auf einer kleinen Trägerplatine verwendet. Die LEDs gibt es zum Beispiel beim chinesischen Hersteller Chinly im 100er-Pack. Zur Befestigung der LEDs dienen Adapterplättchen, ebenfalls aus dem 3D-Drucker. Die blinkenden Lichteffekte können dann mit einem Mobilgerät per WLAN eingestellt werden.

Kurzinfo
  • Weihnachtsstern aus dem 3D-Drucker
  • Beleuchtung mit intelligenten RGB-LEDs
  • über Browser einstellbare Lichteffekte

Checkliste

  • Zeitaufwand: maximal ein Wochenende
  • Kosten: weniger als 50 Euro
  • Programmieren: Arduino IDE

Werkzeug

  • 3D-Drucker
  • Lötkolben
  • Kunststoff-Kleber
  • Lochrasterplatte oder Herstellung einer Platine

Material

  • Transparentes Filament
  • 18 intelligente RGB-Led WS2812B einzeln auf Trägerplatine
  • ESP8266-01S Mikrocontroller
  • 3.3 Volt SMD-Spannungsregler für Leiterplatte oder bedrahtet für Lochrasterplatte
  • einseitige Leiterplatte 20x25 mm, alternativ Lochrasterplatte
  • 2x4 zweireihige Federleiste
  • 2 Widerstände mit 10kOhm
  • 2 Elektrolyt-Kondensatoren 47µF/10V
  • Molex Steckverbinder 3-pol
  • Molex Steckverbinder 2-pol
  • USB-A-Stecke
  • Schaltdraht
Mehr von Make Mehr von Make [2]

Zur Ansteuerung verwenden wir den Mikrocontroller ESP8266 in Form des Moduls ESP-01S. Da der Controller mit 3.3 Volt arbeitet und die Versorgung über ein USB-Ladegerät erfolgen soll, wird ein 3.3 Volt-Spannungsregler benötigt. Der Mikrocontroller mit Spannungsregler werden wir dann im Verlauf des Projekts in der Basiskonstruktion des Sterns unterbringen.

Schaltplan

Die Schaltung ist vergleichsweise einfach: Die 5 Volt via USB werden über einen Spannungsregler auf 3.3 Volt reduziert. Der Pin GPIO2 (General Purpose Input/Output, Allzweckeingabe/-ausgabe) des ESP8266 wird zur Ansteuerung der LEDs verwendet. Dieser Anschluss sowie der Chip-Enable Pin (EN, Steuersignal) und GPIO2 werden über einen 10 kOhm Widerstand mit 3.3 Volt verbunden. Die Versorgung der LEDs erfolgt mit 5 Volt. Der GPIO2 des ESPs wird als DOUT verwendet und mit dem Lötpad DIN der ersten LED verbunden.

Platine

Den Aufbau der Schaltung kann man entweder auf einem Stück Lochrasterplatte oder auf einer kleinen Platine umsetzen. Auf meiner hier vorgestellten Platine kommt ein MC1711 3.3 Volt SMD-Spannungsregler zum Einsatz. Für den Aufbau auf einer Lochrasterplatte sollte aber besser ein 78L033 verwendet werden.

Die Platine ist einseitig vorgesehen und kann entweder geätzt oder gefräst werden. Für beide Varianten stehen hier die entsprechende Produktionsdateien zum heruntergeladen zur Verfügung. [3]

Meine gefräste Platine samt Bestückung. Bilder von links nach rechts: gefräste Platine, die bestückte Unterseite, die bestückte Oberseite ohne Mikrocontroller (MCU) und mit aufgesteckter MCU.

Als Basis für die Software dient die Bibliothek FastLED von Daniel Garcia, die neben der Ansteuerung verschiedener intelligenter LEDs vor allem zahlreiche Effekte unterstützt. Die Konfiguration soll außerdem über eine HTML-Seite erfolgen können. Dazu wird die Bibliothek WebConfig eingesetzt. Wenn der Stern später fertig zusammengeklebt ist, kann der Mikrocontroller nicht mehr über die serielle Schnittstelle programmiert werden. Um trotzdem Updates einspielen zu können, verwenden wir OTA (over the air). So ist eine Programmierung über WLAN möglich. Ich möchte hier nicht genauer auf den Programmcode eingehen. Der ausführlich kommentierte Quelltext sollte euch aber die Möglichkeit zu Änderungen und Erweiterungen bieten und liegt hier zum download bereit. [4]

Um den Sketch kompilieren zu können, sind folgende Pakete und Bibliotheken erforderlich:

Nach dem Kompilieren kann der Sketch über einen USB-Adapter auf den ESP8266 geladen werden. Damit der Mikrocontroller in den Flash-Modus versetzt wird, muss GPIO0 beim Start mit GND (Masse) verbunden werden. Das kann mit einer kleinen Drahtbrücke (gelbe Linie im Bild) passieren. Die Drahtbrücke muss nach dem Flashen wieder entfernt werden. Manch ein USB-Adapter hat bereits einen kleinen Schiebeschalter, um GPIO0 mit GND zu verbinden.

USB-Adapter

Nachdem der Sketch geladen wurde, kann die Drahtbrücke entfernt und der Controller neu gestartet werden. Zur Verbindung mit dem lokalen WLAN benötigt das Programm eine SSID und ein Passwort. Da diese zuerst noch nicht bekannt sind, startet das Programm einen Accesspoint mit einer SSID, welche aus der MAC-Adresse des ESP8266 gebildet wird. Mit einem Smartphone kann man sich jetzt mit diesem Accesspoint verbinden. Passwort ist keins erforderlich. Wurde die Verbindung zum Accesspoint hergestellt, kann im Browser mit der URL http://192.168.4.1 die Konfigurationsseite aufrufen werden.

Konfiguration

Die zwei wichtigsten Eingaben sind der Name des lokalen WLANs und das zugehörige Passwort. Das Feld "Wiederholung" gibt an, wie oft eine Farbpalette im Thema Zufall wiederholt wird, ehe eine andere Palette verwendet wird. Die Helligkeit der LEDs kann zwischen 0 und 255 variiert werden. Der Wert 64 hat sich für mich als günstig erwiesen. Schließlich kann noch eines der 10 vordefinierten Themen ausgewählt werden. Mit dem Button "Save" wird die Konfiguration im Flash-Filesystem des ESP8266 gespeichert. Zum Schluss wird über "Restart" der Controller neu gestartet und sollte sich mit dem lokalen WLAN verbinden. Die Konfiguration ist jetzt über die URL LED-Stern.local aufgerubar. In der Arduino IDE sollte bei den Ports nun auch eine Netzwerkschnittstelle angezeigt werden. Mit dieser Schnittstelle kann man Programmänderungen über WLAN an den ESP8266 übertragen.

Netzwerk-Schnittstelle

Nun ist es an der Zeit, die Teile des Sterns mit dem 3D-Drucker anzufertigen. Damit das Farbspiel der LEDs zur Geltung kommt, empfiehlt sich transparentes Filament. Ich habe transparentes PLA+ Filament von SUNLU verwendet. Die STLs könnt ihr hier downloaden. [5] Für den Stern benötigt man zwei Stück "Käfig-halb.stl", 18 Stück "4Zack.stl", 8 Stück "3Zack.stl", 17 Stück "LED_Halter.stl" und ein Stück "LED_Halter_extra.stl". Für den Druck der Käfige und Sternspitzen empfiehlt sich eine erweiterte Haftungsart wie zum Beispiel Brim. Eine Stützstrucktur für die Käfige ist nicht erforderlich. Insgesamt hat das Drucken bei mir etwa 13 Stunden benötigt.

LED-Kette

Die 18 LEDs sollen nun zu einer Kette verbunden werden. Für die Verbindungsleitungen verwenden wir etwa 60mm lange Drahtstücke aus Schaltdraht 0.6mm. Die Lötanschlüsse der LEDs sind so gestaltet, dass sie einfach nur verbunden werden müssen.

Erste LED

Damit die LEDs in die Sternspitzen eingebaut werden können, benötigt man 17 3D-gedruckte LED_Halter und einen LED_Halter_extra. Der extra Halter hat zusätzlich eine Öffnung um die Versorgungsleitung, die durch die oberste Spitze geführt wird, an der LED vorbei zu leiten. Er wird darum nur für die letzte LED in der Kette verwendet. Wir beginnen die Kette mit etwas längeren Drähten, die an einem Ende einen dreipoligen JST-XH-Stecker erhalten (Achtung: Polung der Versorgungsleitungen beachten). Die Datenleitung liegt in der Mitte.

LED-Montage

Die drei Adern werden als Nächstes durch die Löcher der Halterung gesteckt und mit der Eingangsseite der LED verlötet. Auf der Ausgangsseite der LED werden kurze Drahtstücke angelötet und dann ebenfalls durch die Löcher der Halterung gesteckt, sodass die LED in der dafür vorgesehenen Vertiefung zum Liegen kommt.

Teil der zusammengebauten LED-Kette

Für die weiteren Dioden geht man genau so vor. Zuerst gehören die Drähte durch die Löcher der Halterung und dann mit dem Eingang der Diode verlöten. Dann lötet man neue Drähte am Ausgang an und steckt sie durch die Löcher der Halterung. Das geht so weiter bis alle 18 Dioden verbunden sind. Die letzte Diode benötigt keine angelöteten Drähte und keinen LED_Halter_extra am Ausgang.

Versorgungskabel

Für die Versorgung brauchen wir ein etwa ein Meter langes zweipoliges Kabel. Bei einer der viereckigen Pyramiden schneiden wir an der Spitze etwa 5 mm ab und bohren ein Loch um das Versorgungskabel durchzustecken. Da das Kabel auch zum Aufhängen des Sterns genutzt wird, machen wir einen Knoten ins Kabel, damit es nicht wieder herausgezogen werden kann. Am kurzen Ende bringen wir einen zweipoligen JST-XH-Stecker und am langen Ende einen USB-A-Stecker an. Vorsicht: Polung beachten!

Jetzt ist der Zeitpunkt gekommen, die gesamte Schaltung zu testen, ehe wir den Stern zusammenbauen. Denn nachdem der Stern zusammengebaut und verklebt ist, sind Änderungen an der Schaltung nicht mehr möglich. Für den Test verbinden wir die LED-Kette und das Versorgungskabel mit der Platine. Dann stecken wir den ESP8266-S01, auf den wir bereits die Firmware aufgespielt haben, in die entsprechende Buchse. Nun kommt der spannende Moment, wenn der USB-A Stecker in ein USB-Ladegerät gesteckt wird. Nach kurzer Wartezeit für das Verbinden mit dem WLAN, sollten alle LEDs zu leuchten beginnen und je nach eingestelltem Thema ihr Farbenspiel abspielen. Eine Bilderstrecke mit dem schönen Geleuchte könnt ihr am Ende des Textes angucken.

Zusammenbau

Die letzte LED mit der speziellen Halterung gehört oben in der Mitte durch einen der beiden Käfighälften gesteckt.

Bei der Spitze mit der Zuleitung wird die Leitung zuerst so weit herausgezogen, dass der Knoten fest oben in der Spitze sitzt. Dann wird die LED, die wir vorher durch die Käfighälfte gesteckt haben, unten eingesteckt. Die spezielle Halterung hat auf einer Seite eine Einkerbung durch die die Zuleitung geführt wird. Die Spitze samt LED wird nun mit der Käfighälfte verklebt.

Die letzte Spitze

Die nächsten vier LEDs werden durch die vier quadratischen Löcher der Käfighälfte gesteckt und in die Spitzen unten eingesetzt. Dann werden die Spitzen mit der Käfighälfte verklebt. Die vier dreieckigen Spitzen werden ohne LED mit dem Käfig verklebt.

Der fertiger Stern

Nun werden acht LEDs der Kette ausgelassen und dann die letzten fünf durch die fünf quadratischen Öffnungen der zweiten Käfighälfte gesteckt. Die LEDs werden in die Spitzen eingesetzt und die Spitzen mit dem Käfig verklebt. Ebenso werden die dreieckigen Spitzen verklebt.

Nun wird endlich die Verbindung mit der Platine hergestellt. Die beiden Käfighälften werden aufeinander gesetzt, wobei die verbliebenen acht LEDs durch die Öffnungen gesteckt werden. Jetzt noch die LEDs in die Spitzen einsetzen und die Spitzen verkleben. Dann ist der Stern nun endlich fertig. Wir wünschen besinnliches Basteln und entspanntes Beobachten der hübschen LEDs!

Bunter Weihnachtsstern (4 Bilder) [6]

[7]

Falls der 3D-Drucker noch nicht ausgelastet ist und Sie das Weihnachtsfieber gepackt hat, haben wir hier noch mehr schöne 3D-Druck-Ideen für Weihnachten zusammengestellt. [8] (stri [9])


URL dieses Artikels:
https://www.heise.de/-6287537

Links in diesem Artikel:
[1] https://www.heise.de/hintergrund/3D-Druck-Herrnhuter-Sterne-fuer-die-Weihnachtszeit-4965492.html
[2] https://www.heise.de/make/
[3] https://www.heise.de/downloads/18/3/2/2/7/9/1/0/Datein_Platine.zip
[4] https://www.heise.de/downloads/18/3/2/2/7/9/1/0/Stern_Multi.ino
[5] https://www.heise.de/downloads/18/3/2/2/7/9/1/0/stls.zip
[6] https://www.heise.de/bilderstrecke/bilderstrecke_6290223.html?back=6287537
[7] https://www.heise.de/bilderstrecke/bilderstrecke_6290223.html?back=6287537
[8] https://www.heise.de/hintergrund/Schoener-Weihnachten-feiern-mit-3D-Druck-4953046.html
[9] mailto:stri@make-magazin.de