Schlagwort-Archive: LED-Streifen

22.01.2020

eigentlich ist ja technisch alles fertig…

Da Henrike heute mit dem Design der Holzoberfläche für die Uhr begonnen hat, sind dabei noch ein paar Kleinigkeiten zur Reihenfolge und Anordnung der LEDs aufgefallen. Dementsrechend habe ich heute zuerst noch ein paar Änderungen im Code umgesetzt. Da die Verwendung der Wetterdaten und die Ansteuerung aller LEDs zuverlässig funktioniert, habe ich mich zudem an einige programmiertechnische Optimierungen im Python Script gemacht. Wärend das Modell der Uhr weiter Form annahm und wärend ich mich weiter mit dem Programmcode beschäfftigte, kam mir eine neue Idee: Wäre es nicht super, wenn zusätzlich auch noch Windrichtung und Windstärke angezeigt werden könnten?

Da zum einen, auf der Uhr noch Platz war, als auch, weil die Wetterdaten diese Informationen hergaben, beschloss ich diese kleine Erweiterung noch umzusetzen. Da auch noch genügend LEDs vom LED-Streifen verfügbar waren, versuchte ich nun, die Wanduhr noch um die Anzeige dieser Informationen zu erweitern.

Zuletzt eine gute Nachricht: Unser letztes, lang erwartetes Bauteil war angekommen: Der Raspberry Pi Zero W. Wir konnten uns also nebenbei auch noch damit befassen, unser Projekt auf den richtigen Pi zu übertragen. Dieses Vorhaben erwies sich nach einer kleinen Hürde einfacher als zuvor befürchtet. Die Hürde dabei war, dass wir zuerst noch nicht über das passende Mini-HDMI-Kabel verfügten, sodass wir kein Display an den Pi anschließen konnten. Da uns dieses Problem jedoch bereits gestern Abend aufgefallen war, hatten wir über Nacht bereits ein Kapel bestellt, dass heute Morgen schon ankam.

Mit der umgesteckte Speicherkarte startete der Pi Zero W dann ohne Probleme. Drei Nachteile tauchten jedoch bei der Benutzung des neues Pis auf: Erstens läuft er deutlich langsamer, was sich zum einen auf die Startdauer, aber auch auf die Performance beim Abspielen der Fotos auswirkte. Zweitens verfügt der Pi Zero W über keine integrierte Pin-Bank, an die der LED-Streifen einfach angeschlossen werden können. Stattdessen müssten diese direkt verlötet werden. Der dritte Nachteil sind die fehlenden USB Type A Anschlüsse. Stattdessen sind nur zwei micro-USB-Anschlüsse vorhanden. Demnach konnten wir auch keine Tastatur mehr anschließen. Aufgrund dieser Faktoren beschlossen wir daher, dass wir erst sobald alles fertig ist, auf den Pi Zero W umsteigen und bis dahin weiter mit dem Pi 3 A+ arbeiten werden.

20.01. – 21.01.2020

alles leuchtet, … so schön bunt …

Nachdem in der letzten Woche das Python-Skript zur Umsetzung der Wetterdaten in die Ansteuerung der entsprechenden LEDs auf dem LED-Streifen entwickelt und ausgiebig getestet wurde, stehen nun nur noch Feinheiten und kleine programmier-stylistische Optimierungen des Codes an. Dabei sollen einige Doppelungen im Code in Funktionen ausgelagert und dieser damit übersichtlicher gestaltet werden.

Der letzte Punkt in der Softwareentwicklung zu meiner Hälfe des Projekt ist die Automatisierung des Python Skripts. Da auch dem Display des Pi’s dauerhaft die Diashow angezeigt werden soll und man auch in der Regel keine Tastatur an seine Uhr anschließen möchte, soll das Wetter automatisch abgefragt und im Hintergrund regelmäßig aktualisiert werden. Für die Realisierung der regelmäßigen Ausführung des Python-Skripts habe ich mich dem Raspbian Onboard-Tools Crontab bedient. Dieses ermöglicht eine einfache Umsetzung von geplanten regelmäßigen Ausführungen.

Dabei habe ich zudem darauf geachtet, dass die Ausführung auch bei laufender Diashow funktioniert und diese nicht beeinflusst.

15.01. – 19.01.2020

jetzt geht es an die Hardware…

Nachdem ich zuletzt bereits Abfrage und Auswertung der Wetterdaten aus dem Internet realisieren konnte, musste ich mich nun um die Ansteuerung der LEDs kümmern. Zum Glück war mittlerweile der Großteil unseres Materials angekommen, sodass ich direkt mit den LED-Streifen arbeiten konnte, die wir für unser Projekt eingeplant hatten.

Nach einigen Startschwierigkeiten bezüglich der Ansteuerung und beim Anschließen des LED-Streifens (ich habe mich dann doch zu Testzwecken dazu entschieden, nicht gleich den richtigen sondern unseren kurzen Teststreifen zu verwenden) konnte ich mich damit auseinandersetzen, auf welche Weise einzelne LEDs auf dem Streifen ansteuerbar sind und wie dessen Farbe und Helligkeit angepasst werden kann.

Im Laufe der Arbeit mit dem LED-Streifen festigte sich bei mir zudem die Idee, das ursprüngliche Konzept insofern umzuwerfen, als das ich auf die einzelnen LEDs, die ich vorher zur Beleuchtung der Wettersymbole vorgesehen hatte, verzichten wollte. Stattdessen entschied ich, dass es einfacher und schöner wäre, alle LEDs in der Uhr als Teil des LED-Streifens zu realisieren. Weitere Entscheidungen, die sich erst während der Entwicklung festigten, war die Festlegung, wielang der eingebaute Temperaturstreifen sein sollte, aber dazu gleich mehr. Neue Ideen und Möglichkeiten, wie ein multifunktionales Wettersymbol, dass vier Symbole in sich vereint, entstanden ebenso bei der Programmierung und der Erforschung der Möglichkeiten des LED-Streifens.

Um unsere weitere exakte Planung zur Größe, Form, Anordnung und Zusammensetzung aller Komponenten zu einer richtigen Uhr besser zu managen, fertigten wir aus Papier ein 2D-Modell in Originalgröße an. Da die sichtbaren Komponenten (Uhrwerk, LED-Streifen, Display) nun alle vorhanden waren, konnten wir alle Teile des Modells präzise anfertigen. Dabei stellte sich heraus, dass eine der schwierigsten Komponenten der lange LED-Streifen zur Anzeige der Temperatur war. Wir hatten dabei die fixe Idee, dass jede LED auch genau für ein Grad Celsius stehen sollte, aber auch sicherlich Temperaturen von -15 bis +35 Grad problemlos darstellbar sein sollten. Da die LEDs in verschiedenen Farben leuchten können, entstand daher die Idee, sowol für positive als auch für negative Temperaturen die gleiche Skala zu verwenden, jedoch in einer anderen Farbe zu beleuchten. Auf diese Weise konnten wir die benötigte Länge halbieren. Schlussendlich kamen wir überein, dass es möglich ist, den Temperaturstreifen mit 35 LEDs (Temperaturen bis +/- 35°C) übereinander auf der Uhr unterzubringen, ebenso wie die drei Wettersymbole, das 7″ Display und die analoge Uhr.

Die exakte Ansteuerung der LEDs auf dem LED-Streifen anhand der Wetterdaten war aufgrund der Vorarbeit in Python aus der Vorwoche gut umzusetzen, sodass „nurnoch“ die Feinheiten eingearbeitet werden mussten und zu einem guten Ergebnis führten.

Hier ein Beispiel des angesteuerten Streifens bei Gewitter mit Regen und +14 °C:

Ein Beispiel für starken Schneeregen bei 1°C:

Ein letztes Beispiel für klaren Himmel bei -7°:

Hier wird deutlich, dass die LEDs rechts später das enstsprechende Wettersymbol und links die LEDs das Thermometer, bzw. die Temperatur darstellen.