Weihnachten kommt bekanntlich jedes Jahr überraschend. Wir liefern deshalb zeitig Anregungen für Maker, um das Thema Advent kreativ umzusetzen.
Seit Jahren gestaltet der Autor Ende November den Adventskranz per Hand – ganz klassisch mit Kerzen, Dekomaterial und Heißklebepistole. Das macht Spaß und wird auch in Zukunft so bleiben. Damit aber auch der Elektronikgeek im Menschen seinen Spaß hat, gibt es dieses Jahr (mindestens) einen Zusatzkranz. Die Komponenten dafür kommen dabei aus der Elektronikbastelkiste und dem 3D-Drucker. Den Einstieg macht eine einfache Löt- und Programmierübung, die sich auch für Kinder eignet.
Minimalismus
Unser Mini-Kranz besteht aus vier LEDs, vier Vorwiderständen und einem Button (Abbildung 1). Die Vorwiderstände sind auf der Unterseite montiert und deshalb nicht zu sehen, genauso wie eine Pin-Leiste mit sechs Leitungen (vier für die LEDs, je einer für den Button und die Masse).
Die Schaltung sehen Sie in Abbildung 2. Sie können sie problemlos auf einer Streifenraster- oder Lochplatine löten, bei Dienstleistern bekommen Sie aber eine echte Platine für wenig Geld passend in runder Form (JLCPCB: 7 Euro inklusive Versand und Zoll). Die KiCad-Quellen für das Board finden Sie auf Github [1]; das Repo hat auch einen Branch mit einer Variante, bei der der Mikrocontroller gleich unterhalb der Platine sitzt.
Noch etwas schöner als normale LEDs wirken flackernde Dioden, die es im Fachhandel oder auf den üblichen Marktplätzen gibt. Vorsicht bei der Wahl: Die LEDs sollten nicht für 12 Volt ausgelegt sein. Es gibt auch Exemplare für 3,3 Volt, die Sie theoretisch ohne Vorwiderstand am RasPi oder Pi Pico betreiben können. Allerdings liegt dabei meist die Stromstärke zu hoch. Der Raspberry Pi verträgt auf Dauer pro Pin maximal 16 mA, der Pico 12 mA.
Für die Steuerung hängen Sie die Platine an einen RasPi, Pi Pico oder einen anderen Mikrocontroller Ihrer Wahl. Da die Schaltung nur fünf Pins benötigt, tun es selbst die kleinsten Exemplare. Vier Pins als Output steuern die LEDs, ein Pin als Input überwacht den Button. Letzterer schaltet die fünf Zustände Aus-1-2-3-4-Aus der Reihe nach durch. Das passende CircuitPython-Programm zeigt Listing 1.
Listing 1
LED-Steuerung
#!/usr/bin/python3
import time
import board
import digitalio
LED = [board.GP16,board.GP17,board.GP18,board.GP19]
BTN = board.GP20
def make_led(nr):
led = digitalio.DigitalInOut(nr)
led.direction = digitalio.Direction.OUTPUT
return led
btn = digitalio.DigitalInOut(BTN)
btn.direction = digitalio.Direction.INPUT
btn.pull = digitalio.Pull.UP
leds = [make_led(nr) for nr in LED]
counter = 0
while True:
if not btn.value:
counter = (counter+1) % 5
for i in range(4):
leds[i].value = i < counter
time.sleep(0.3)
time.sleep(0.05)
Das Programm definiert vier LEDs sowie einen Button und führt einen Zähler mit. Abhängig von der Anzahl der Tastendrücke schaltet es dann die LEDs ein oder aus. Erklärungsbedürftig sind nur die Zeilen 23 und 25. Die Zeile 23 nutzt den Modulo-Operator (Modulo: Rest bei der Division), damit der Zähler von 4 auf 0 zurückspringt. Die Zeile 25 sorgt dafür, dass nur die richtigen LEDs leuchten. Steht etwa der Zähler auf 3, dann sollen alle LEDs angehen, für die i<3 gilt. Da Python bei Listen von null zählt, sind das die Dioden mit den Nummern 0 bis 2 (im Beispiel also GP16 bis GP18).
Das ist jedoch nur als Anregung gedacht. Mit einem RasPi oder einem WLAN-fähigen Mikrocontroller können Sie auch auf den Taster verzichten und die LEDs abhängig vom Datum automatisch schalten. Oder Sie verwenden vier Taster, für jede Kerze einen.
Der Platinen-Adventskranz ist ein starkes Statement, aber auf Dauer nicht wirklich ansprechend. Deshalb bekommt die Platine noch einen stilisierten Kranz aus dem 3D-Drucker (Abbildung 3). Fündig wurden wir auf Tinkercad [2]; die Variante des Autors [3] ist ein auf die Dimensionen der Platine abgestimmter Remix.
Das Sahnehäubchen setzen dem Ganzen “Flammen” [4] aus dem 3D-Drucker auf, im Projekt-Repository passend für 5-Millimeter-LEDs verkleinert. Diese lassen sich im Vasenmodus (dazu später mehr) mit klarem PET drucken. Wirklich klar ist das PET zwar nicht, aber hier geht es um simple Diffusoren für die LEDs – dafür taugt das Material sehr gut. Zur Not tun es auch normales weißes PET oder, noch einfacher, die Flammen von ausgeschlachteten LED-Teelichtern.
Alternativen zur Kerze
Wenn schon Plastik, dann wenigstens schön, so lautet die Devise der zweiten Anregung. Statt echter Kerzen kommen Gebilde aus dem 3D-Drucker an den Kranz, die dann von innen per LED leuchten. Wer etwas künstlerische Begabung mitbringt und auch die notwendigen Tools beherrscht, entwirft die Objekte selbst. Ansonsten lohnt sich etwas Zeit für eine Suche auf Thingiverse. Besonders schön sind zum Beispiel das Ornament [5] in Abbildung 4 oder Weihnachtskugeln [6] in verschiedenen Formen.
Bei diesen Objekten erfolgt der Druck im sogenannten Vasenmodus. Hier extrudiert der Drucker das Filament, ohne abzusetzen, und fährt dabei die Außenschicht des Objekts ab. Technisch muss das Objekt dafür massiv sein, dadurch entfällt eine Innenwand. Im Vasenmodus gedruckte Stücke wiegen überraschend wenig – unser Hirn erwartet intuitiv bei gegebenem Volumen ein gewisses Gewicht. Trotzdem sind die Objekte überraschend stabil, vorausgesetzt, es gab beim Druck keine Probleme.
Für ein optimales Ergebnis drucken Sie mit Standfuß, einer Schichtdicke von 0,2 Millimetern und einer Extrusionsbreite von 0,6 Millimetern. Letzteres erhöht die Wandstärke. Einen Boden brauchen wir nicht; hier genügt eine Schicht, die sich dann leicht entfernen lässt (der Prusa-Slicer beherrscht auch Löcher im Boden). Drucken Sie wie empfohlen nur eine Schicht, genügt zum Entfernen des Bodens rohe Gewalt, alternativ hat sich auch eine grobe Feile bewährt.










