Datum und Zeit mit dem NTP-Protokoll auf einem OLED anzeigen

Kate­go­rien: ,



Ziel des Projekts

Mit dem NTP-Pro­to­koll sol­len Zeit und Datum sol­len auf einem OLED ange­zeigt wer­den. Als Mikro­con­trol­ler kann ein WiFi-fähi­ger Ardui­no oder ein ESP32 ver­wen­det wer­den.

Bei­spiel: Ardui­no MKR 1010 und 0,96 Zoll OLED

Board installieren

Es kön­nen belie­bi­ge Mikro­con­trol­ler mit WiFi-Funk­tio­na­li­tät und OLEDs unter­schied­li­cher Grö­ße ver­wen­det wer­den.

1,54 Zoll OLED mit UNO R4 WiFi, 1,3 Zoll OLED mit Ardui­no MKR 1010, 0,96 Zoll OLED mit ESP32D

I²C-Pins

Nach dem Start des Pro­gramms wer­den die IP und die aktu­el­le Zeit im Seri­el­len Moni­tor ange­zeigt. Weil die IP über DHCP ver­ge­ben wird, kann sie jedes­mal eine ande­re sein. Für die Anzei­ge spielt das aber kei­ne Rol­le.

Benötigte Bibliotheken

Bibliothek U8g2
Info
u8g2

Das Programm

Bibliotheken und Variablen

Je nach ver­wen­de­tem Mikro­con­trol­ler muss eine ande­re WiFi-Biblio­thek ein­ge­bun­den wer­den.
Das wird mit #ifdef abge­fragt

  • MKR 1010, Nano 33 IoT (ARDUINO_ARCH_SAMD)
    WiFiNINA.h
  • UNO R4 WiFi (ARDUINO_UNOR4_WIFI)
    WiFiS3.h
  • ESP32 (ESP32)
    WiFi.h
  • ESP8266 (ESP8266)
    ESP8266WiFi.h

Ab Zei­le 31 musst du das ent­spre­chen­de OLED aus­wäh­len

Der setup-Teil

Der loop-Teil

Der loop-Teil ruft im Abstand von einer Sekun­de die Funk­ti­on Zeit­an­zei­gen() auf.

Die Funktion Zeitanzeigen()

Der zwi­schen­zeit­li­chen Unter­bre­chung des WiFi-Signals soll vor­ge­beugt wer­den:

  • der Rück­ga­be­wert der Aktua­li­sie­rung der Zeit mit ntp.update() ist im Erfolgs­fall true.
    Bei einem Miss­erfolg ver­sucht das Pro­gramm die WiFi-Ver­bin­dung neu auf­zu­bau­en. Der Wert der Varia­ble Start wird auf true gesetzt, im loop-Teil wird die Zeit sofort aktua­li­siert.
  • ntp.isValid() gibt true zurück, wenn die ermit­tel­te Zeit gül­tig ist. Ist das nicht der Fall, ver­sucht das Pro­gramm die WiFi-Ver­bin­dung neu auf­zu­bau­en. Die Varia­ble Start wird auf true gesetzt und die Zeit wird sofort aktua­li­siert.

Quellen

Ähnliche Projekte


Letzte Aktualisierung: Aug. 1, 2026 @ 20:31