Für die Anzeige der aktuellen Uhrzeit eignet sich sehr gut ein 7-Segment-Display, das aus vier Digits
besteht und in der Mitte, nach zwei Stellen, einen Doppelpunkt hat. Mit ihm kann man problemlos eine Uhrzeit im Format
HH:MM anzeigen. Solche Displays (hier 3642BH) sind zusammen mit dem passenden Treiber TM1637 überall zu günstigen Preisen
erhältlich.
Als Zeitgeber kommt hier der IC DS3231 zum Einsatz. Auch dieser Chip, eingebettet auf einer kleinen elektronischen
Platine in passender elektronischer Umgebung (hier ZS-042), ist leicht zu bekommen.
Die Korrespondenz zwischen den beiden Komponenten wird von Arduino synchronisiert.
Eine Testschaltung ist ganz schnell aufgebaut:
Aus dem Schaltplan ist zu entnehmen, dass für notwendige Verbindungen lediglich vier Drähte notwendig sind.
Alles andere bezieht sich auf die Stromversorgung.
Der Schaltplan
Schaltplan (Arduino ohne USB-Anschluss oder Netzteil: Vin > 6 V)
Das Programm
Bei der ersten Übertragung des Programms muss die aktuelle Zeit (Datum und Uhrzeit) gesetzt werden. Dies
geschieht mit der Sequenz
clock.setDateTime(2020, 03, 14, 7, 01, 0); Anschließend, damit die Zeit nicht immer wieder zurückgesetzt wird, muss diese Zeile gelöscht oder als Kommentar
markiert und das Programm erneut geladen werden:
// clock.setDateTime(2020, 03, 14, 7, 01, 0); Mit
display.setBrightness(10); wird die Helligkeit der Anzeige festgelegt. Das Hauptprogramm beinhatet kaum Geheimnisse. Mit
dt = clock.getDateTime(); wird laufend aus dem Chip DS3231 die aktuelle Zeit ausgelesen. Nach der Umwandlung von String in Integer werden die
Werte mit
display.showNumberDecEx(Ausgabe.toInt(), 0b11100000, false, 4, 4); zum Display geschickt.
Mit der Byte-Eingabe "0b11100000" wird der Doppelpunkt aktiviert.
// *************************************************************
// Anzeige der aktuellen Uhrzeit
// RTC DS3231 + 7Segmentanzeige 4 Digit mit TM1637
// Arduino Mega 2560
// *************************************************************