Programmierung der Sekundenanzeige und Fertigstellung

Für die Zeitanzeige haben wir eine Endlosschleife implementiert, in der die Sekundendarstellung der anspruchsvollste Teil ist. Zunächst laufen die vier Pixel des Sekundenwurms außen um die Uhr herum. Damit er gut sichtbar ist, führen wir ihn nicht am äußersten Rand des LED-Panels entlang, sondern rücken ihn ein bisschen nach innen.

Stellenmarkt
  1. Scrum Master / Agile Coach (m/w/d)
    SEITENBAU GmbH, Konstanz (Home-Office möglich)
  2. Projektmanager für Prozessdigitalisierung (m/w/d)
    OBO Bettermann Holding GmbH & Co. KG, Menden
Detailsuche

Er folgt einem Pfad, für dessen Pixel wir ein Array definiert haben. Von diesem Array zeigen wir immer nur vier zusammenhängende Pixel in einer bestimmten Farbe an. Die restlichen Pixel werden bei jedem Initialisieren des Panels im Schleifendurchlauf geschwärzt und sind damit unsichtbar.

Den Array-Index des Führungspixels ermitteln wir aus dem Verhältnis der abgelaufenen Millisekunden zur Gesamtzahl der Millisekunden pro Umlauf (also pro Minute) und der Gesamtlänge des Pixel-Arrays. Beim Start mit dem ersten Pixel (Index = 0) und auch bei den folgenden zwei Pixeln müssen wir aufpassen, da am Pfadanfang keine vier Pixel zur Verfügung stehen. Wir nehmen also hier die jeweils fehlende Pixel-Anzahl vom Ende des Arrays hinzu.

Den laufenden Füllstand des Rhombus errechnen wir ähnlich wie den Index des Führungspixels, hier jedoch auf Basis der verstrichenen Sekunden. Nach 59 Sekunden ist die Füllhöhe von 13 Pixeln erreicht, so dass wir den Rhombus beim Vollenden der Minute wieder leeren.

Golem Karrierewelt
  1. Adobe Photoshop Aufbaukurs: virtueller Zwei-Tage-Workshop
    25./26.08.2022, Virtuell
  2. Cinema 4D Grundlagen: virtueller Drei-Tage-Workshop
    05.-07.09.2022, Virtuell
Weitere IT-Trainings

Die farbigen Pixel der tröpfelnden Sekunden blenden wir in einer eigenen Schleife mit 13 Durchläufen wechselseitig ein. Die sogenannte Tropfgeschwindigkeit wird durch den Sleep-Timer am Ende der Endlosschleife bestimmt. Den Sleep-Parameter wählen wir so, dass uns die Tropfgeschwindigkeit gefällt, aber auch der Sekundenwurm läuft, ohne Sekunden zu überspringen oder auszulassen. Dies können wir allerdings nicht komplett verhindern, da die Gesamtanzahl der Pixel des Pfad-Arrays nicht ganzzahlig durch 60 teilbar ist. Am Ende ist dieser Effekt aber so gering, dass er nicht auffällt.

Bei der Gelegenheit: Die verwendeten Farben sind Konstanten, die wir in der statischen Klasse CColor definieren. Diese Klasse benutzt ihrerseits die Klasse Color, die aus der LED-Panel-Bibliothek kommt und nicht aus dem .NET-Framework System.Drawing.

Raspberry Pi: Das umfassende Handbuch. Über 1.000 Seiten in Farbe. Mit Einstieg in Linux, Python und Elektrotechnik. Aktuell zum Raspberry Pi 4

Fertigstellung auf dem Raspberry

Die Skripte werden auf dem Raspberry mit folgender Anweisung in ein ausführbares Programm kompiliert. Voraussetzung hierfür ist, dass die RGBLedMatrix-Bibliothek und alle beteiligten cs-Skripte in dem Verzeichnis liegen, in dem dieser Befehl ausgeführt wird:


sudo mcs -r:RGBLedMatrix.dll -out:berlinuhr.exe programm.cs *_classes.cs

Damit die Berlin-Uhr nach dem Hochfahren des Raspberry-Computers angezeigt wird, tragen wir den Programmaufruf in die Datei /etc/rc.local ein. Unser kompiliertes Programm liegt im Verzeichnis RGBPanel des pi-Users. Wir ergänzen also in der genannten Datei vor der exit-0-Anweisung folgende Zeile:


sudo mono /home/pi/RGBPanel/berlinuhr.exe &

Das LED-Panel passt genau in einen im Einzelhandel erhältlichen 20 x 20 cm großen Bilderrahmen. Bei Verwendung des kleinen Raspberry Pi Zero kann dieser mit einer kurzen GPIO-Verkabelung an der Rückwand des Rahmens befestigt werden.

Dann bleiben nur noch das Netzteil, das irgendwo versteckt werden muss, und die Kabel für die Stromversorgung von dort zur Uhr. Damit hätten wir bei relativ wenig Aufwand eine schicke Berlin-Uhr für das Wohnzimmer fertiggestellt.

Ganz nebenbei haben wir bei diesem Projekt ein paar fortgeschrittene OOP-Konzepte verwirklicht. Diese werden wir später auch bei anderen Ausgaben auf dem LED-Panel einsetzen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 C#-Klassen und cs-Skripte
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5


Lemo 13. Jul 2022 / Themenstart

Wieso muss man dann immer wieder neue Konzepte erfinden, nur um etwas zu verkomplizieren...

amagol 08. Jul 2022 / Themenstart

Kurz nachgeschaut und ein DS3231 scheint allein schon teurer zu kommen als ein ESP-01 (z...

pinki 06. Jul 2022 / Themenstart

Statt mono könnte man auch das aktuelle dotnet (mit deutlich mehr Features) nehmen und...

AvailableLight 05. Jul 2022 / Themenstart

Ne, die Zeiger werden per festgeklebtem Sitzstreik am weiterlaufen gehindert und dürfen...

Kommentieren



Aktuell auf der Startseite von Golem.de
Galaxy-Z-Serie im Hands-on
Samsungs Fold 4 und Flip 4 mit Top-SoCs und tollen Displays

Samsungs neue Falt-Smartphones sehen ihren Vorgängern sehr ähnlich - technisch gibt es aber einige praktische Neuerungen.
Ein Hands-on von Tobias Költzsch

Galaxy-Z-Serie im Hands-on: Samsungs Fold 4 und Flip 4 mit Top-SoCs und tollen Displays
Artikel
  1. Manipulierte Ausweise: CCC macht Videoident kaputt
    Manipulierte Ausweise
    CCC macht Videoident kaputt

    Hinter dem Stopp von Videoident-Verfahren bei den Krankenkassen steckt ein Hack des Chaos Computer Clubs. Der Verein fordert weitere Konsequenzen.

  2. Peripheriegeräte: Mechanische Tastatur hat 12,6-Zoll-Touchscreen integriert
    Peripheriegeräte
    Mechanische Tastatur hat 12,6-Zoll-Touchscreen integriert

    Die Ficihp K2 kann über USB-C als Tastatur und zusätzlicher Bildschirm genutzt werden - mit mechanischen Schaltern und USB-Hub.

  3. Datenschutz bei Whatsapp etc.: Was bei Messengerdiensten zu beachten ist
    Datenschutz bei Whatsapp etc.
    Was bei Messengerdiensten zu beachten ist

    Datenschutz für Sysadmins In einer zehnteiligen Serie behandelt Golem.de die wichtigsten Themen, die Sysadmins beim Datenschutz beachten müssen. Teil 1: Whatsapp & Co.
    Eine Anleitung von Friedhelm Greis

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Günstig wie nie: Samsung SSD 2TB Heatsink (PS5) 219,99€ • Grafikkarten zu Tiefpreisen (Gigabyte RTX 3080 Ti 1.089€, Gigabyte RTX 3080 12GB 859€) • MSI-Sale: Gaming-Laptops/PCs bis -30% • Sharkoon PC-Gehäuse -53% • Philips Hue -46% • Der beste Gaming-PC für 2.000€ [Werbung]
    •  /