Raspberry Pi Pico: Digitale Uhr mit Anzeige (TM1637)

Wenn man einen Raspberry Pi Pico mit einer 4-fach 7-Segment-Anzeige vom Typ TM1637 hat, dann wäre es denkbar eine digitale Uhr daraus zu bauen, die die aktuelle Uhrzeit anzeigt. Also Stunden und Minuten.

Aufbau und Bauteile

Raspberry Pi Pico: 4-fach 7-Segment-Anzeige programmieren (TM1637)

Raspberry Pi Pico TM1637
Pin 38 GND GND
Pin 36 VCC +3,3V VCC
Pin 27 GPIO 21 (I2C SCL) CLK
Pin 26 GPIO 20 (I2C SDA) DIO

MicroPython-Bibliothek für TM1637

Zur Ansteuerung der 7-Segment-Anzeige TM1637 ist eine externe Bibliothek erforderlich, die heruntergeladen und mit dem Dateinamen „tm1637.py“ auf dem Raspberry Pi Pico gespeichert werden muss.

Programmcode

Im folgenden Programmcode werden zuerst Bibliotheken geladen, die Anzeige, sowie die interne Echtzeituhr (RTC) und ein Timer initialisiert.

Im Programmcode wird die Uhrzeit von der internen Echtzeituhr (RTC) mitgeführt. Das Auslesen der Echtzeituhr und die Aktualisierung der Anzeige erfolgt über eine Funktion, die von einem Timer aufgerufen wird.
Die Periode des Timers ist auf 60.000 Millisekunden (ms) eingestellt, was 60 Sekunden bzw. 1 Minute entspricht. Zu einer einfachen Uhrzeit-Anzeige ist diese Aktualisierungshäufigkeit sicherlich ausreichend. Man kann die Zeit auch verkürzen, dann würde die Uhrzeit öfter nachgeführt. Dann würde Uhrzeit eine kürzere Zeitspanne nachgehen. Zum Beispiel auf einen Wert von 30.000 Millisekunden (ms), was 30 Sekunden entspricht.

# Bibliotheken laden
from machine import Pin, RTC, Timer
import tm1637

# Display initialisieren
display = tm1637.TM1637(clk=Pin(21), dio=Pin(20))

# Echtzeituhr im Mikrocontroller initialisieren
rtc = RTC()

# Funktion: Datum und Uhrzeit lesen und ausgeben
def outputDisplay(value=0):
    datetime = rtc.datetime()
    print('Aktuelle Uhrzeit: %02d:%02d' % (datetime[4], datetime[5]))
    display.numbers(datetime[4], datetime[5])

# Initialisierung Timer für die Uhrzeit (60000 ms = 60 Sekunden = 1 Minute)
clock = Timer(period=60000, mode=Timer.PERIODIC, callback=outputDisplay)

# Display einstellen
outputDisplay()

Ideen für Erweiterungen

Diese Lösung hat verschiedene Nachteile. Der erste Punkt ist die Frage, woher der Raspberry Pi Pico die aktuelle Uhrzeit bekommt? Wenn der folgende Programmcode ausgeführt wird und der Raspberry Pi Pico mit der Thonny Python IDE auf einem Host-Computer verbunden ist, dann bezieht der Pico die aktuelle Uhrzeit vom Host-Computer mit Hilfe der Thonny Python IDE. Eine Lösung dafür wäre, den Raspberry Pi Pico zusammen mit einer Batterie-betriebenen externen RTC, wie dem DS3231, zu betreiben. Dort müsste man die Uhrzeit nur einmal richtig einstellen.
Alternativ könnte man einen Raspberry Pi Pico W verwenden, der sich bei einer WLAN-Verbindung die NTP-Zeit von einem Zeitserver zieht. Das Problem ist, die Zeitzone und die Zeitumstellung. Von Normalzeit auf Sommerzeit und wieder zurück.

Ein vergleichsweise dummer Wecker hat zu diesem Zweck Einstellmöglichkeiten vorgesehen:

  • Uhrzeit einstellen
  • Weckzeit einstellen
  • Normalzeit und Winterzeit umstellen

Vielleicht versuchst Du Dich einfach mal an einer allumfassenden und intelligenten Lösung, die sich universell verwenden lässt. Viel Spaß dabei.

Weitere verwandte Themen:

Teilen:

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das "Elektronik-Set Pico Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Online-Workshop Mehr Informationen Elektronik-Set jetzt bestellen

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Programmieren mit dem Raspberry Pi Pico

Online-Workshop mit einer Einführung ins Physical Computing mit Leuchtdioden, Taster und Temperatursensor.

  • Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython ohne Vorkenntnisse
  • Optimaler Einstieg, um eigene Ideen zu verwirklichen und Steuerungen zu programmieren
  • Inklusive Elektronik-Set mit einem Raspberry Pi Pico, Zubehör und elektronischen Bauteilen

Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)

Zum PicoTalk Mehr Informationen Am Online-Workshop teilnehmen

Elektronik-Set Pico Edition
Elektronik-Set Pico Edition

Hardware-nahes Programmieren mit dem Raspberry Pi Pico

Das "Elektronik-Set Pico Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Online-Workshop Mehr Informationen Elektronik-Set jetzt bestellen