Raspberry Pi – Unicorn Hat Weihnachtsbaum
Nach der kurzen Weihnachtspause melde ich mich noch einmal mit einem Artikel zum Raspberry Pi Erweiterungsboard Unicorn Hat zurück. Wie bereits im letzten Artikel zum Game of Life berichtet kann man mit der Python Bibliothek recht einfach das RGB LED Board ansteuern und damit schöne farbige Ausgaben erzeugen. 64 LEDs sind zwar nicht viele, ausreichend jedoch um einfach Grafiken zu zeichnen. So zeige ich euch in diesem Artikel wie ihr einen netten Weihnachtsbaum ausgeben könnt.
Unicorn Hat Weihnachtsbaum
Nach meinem Artikel über den Raspberry Pi Adventskranz ist das nun mein zweiter Artikel in dem ich Weihnachten in meine Projekte einbaue. Weihnachten ist ja bekanntlich eine Zeit der vielen Lichter und da passt das Unicorn Hat Board sehr gut dazu. Man kann damit nette Grafiken und sogar Animationen ausgeben, speziell jetzt wo es früher finster wird ideal um auch den Nachbarn seine neuen Projekte zu präsentieren. Ein Weihnachtsbaum kann recht einfach gezeichnet werden.
Wir benötigen zuerst den bereits vom vorangegangenen Artikel bekannten Aufbau:
#!/usr/bin/env python import unicornhat as unicorn unicorn.brightness(1.0)
Wir importieren die Unicorn Hat Python Bibliothek und legen die Helligkeit der LED Lichter fest. Für dieses Beispiel habe ich mich für 100 Prozent Leuchtkraft entschieden. In weiterer Folge initialisieren wir unser Array, welches der 8×8 Pixel großen LED Matrix des Erweiterungsboards entspricht. Mit den 1er und 0ern definiere ich bereits den Weihnachtsbaum. Zusätzlich legen wir noch zwei Farben an. Ein grün für den Baum und ein braun für den Stamm:
board = [[0,0,0,0,0,0,0,0], [0,1,1,0,0,0,0,0], [0,1,1,1,1,0,0,0], [0,1,1,1,1,1,1,0], [1,1,1,1,1,1,1,1], [0,1,1,1,1,1,1,0], [0,1,1,1,1,0,0,0], [0,1,1,0,0,0,0,0]] color_green = [2,97,0] color_brown = [142,127,67]
Unser Programm wird genau eine einzige Funktion besitzen. Diese gibt das Bild aus. Die einzige Besonderheit zum letzten Beispiel ist, dass wir abhängig von der Zeilennummer die Farbe definieren. In diesem Fall wird alles grün ausgegeben bis auf die letzte Zeile, diese ist braun.
def draw(board): for y in range(8): for x in range(8): #set pixel with color or unset it if board[x][y] == 1: if y != 0: unicorn.set_pixel(x,y,color_green[0],color_green[1],color_green[2]) else: unicorn.set_pixel(x,y,color_brown[0],color_brown[1],color_brown[2]) #draw whole unicorn led matrix unicorn.show()
In unserer Spielschleife zeichnen wir einfach den Baum so lange bis das laufende Programm unterbrochen wird:
while True: draw(board)
So kurz und knapp ist das Weihnachtsbaum Skript. Wie immer kann man das fertige Skript hier downloaden. Ausgeführt wird das Beispiel folgendermaßen:
sudo python christmastree.py
Fazit
Die einfache Ausgabe von Bildern oder gar Animationen ist mit der Unicorn Hat RGB LED Matrix extrem einfach. Man kann schnell kreativ werden und eigene Ideen umsetzten. Mein Weihnachtsbaum Beispiel dient euch hoffentlich als leichten einstieg und wer weiß, vielleicht programmiert ja schon bald jemand das erste kleine Space Invaders auf dem Raspberry Pi und benutzt das Unicorn Hat als Ausgabe.
Ich wollte meinen Baum eigentlich noch um Lichter ergänzen, jedoch sah das immer zu brav und geordnet aus… Wenn ihr Lust habt könnt ihr ja mein Skript um eine Weihnachtsbaum Beleuchtung erweitern. Falls ihr Lust habt könnt ihr hier ja Erweiterungen des Skripts posten.