Benötigte Komponenten
- Arduino UNO kompatibles Board + USB-Kabel
- Echtzeituhr-Modul (RTC)
- Jumperkabel Buchse-Stecker
Einleitung
Das DS1302 RTC-Modul ist ein günstiges Echtzeituhrmodul für verschiedenste DIY-Elektronik Projekte. Es zählt Sekunden, Minuten, Stunden, Tage, Wochentage, Monat und Jahr und Schaltjahre. Es ist sehr einfach in der Handhabung und kann durch Arduino Bibliotheken im Handumdrehen in vorhandene Projekte implementiert werden.
Es eignet sich ideal für Microcontroller Projekte mit Arduino und Raspberry Pi. Solche RTC-Module findet man in allen Projekten, die einen synchronen Zeitablauf benötigen. Sie werden besonders oft in digitalen Uhren, Kalendern oder Wetterstationen benutzt.
Wozu wird das DS1302 RTC-Modul benötigt?
Das Modul wird benötigt, um unserem Arduino ein genaueres Zeitgefühl zu ermöglich. Der Arduino nimmt Zeit nur mit der Millis() Funktion wahr, es zählt also die Millisekunden seit dem letzten Neustart. Dies sorgt für zweierlei Probleme:
- Nach etwa 50 Tagen läuft die Zahl über und startet wieder bei Null.
- Durch Unregelmäßigkeiten im Frequenztakt vom Quarz entstehen schnell Abweichungen von mehreren Sekunden.
Diese Nachteile von der Zeiterfassung mit dem Arduino können mit dem DS1302 RTC-Modul umgangen werden.
Wozu dient die Batteriehalterung vom DS1302 RTC-Modul?
Die CR2032 Knopfzelle ist optional und dient dazu, dass der DS1302 RTC-Chip auch ohne Stromversorgung weiterläuft und die Uhrzeit beibehält.
Nachteile gegenüber dem teureren DS3231 RTC-Modul
- Weniger präzise
- Ansteuerung über 3-Wire SPI statt I2C (benötigt mehr Pins)
- Kein Ladeschaltkreis für die Batterie
DS1302 Schaltplan
DS1302 Blockdiagramm
Anschlussplan
RTC-Modul | Arduino |
VCC (Stromversorgung 2-5V) | 3.3V |
GND (Masse Pin) | GND |
CLK (Clock Pin) | D5 |
DAT (Data Pin) | D4 |
RST (Reset Pin) | D2 |
Code für Arduino
Für diesen Beispielcode wird die Bibliothek „RTC by Makuna“ verwendet. Der Code benötigt keine manuelle Eingabe und nimmt als Startpunkt die Uhrzeit des Kompiliervorgangs.
Ergebnis
Nachdem Sie den Code hochgeladen haben, können Sie den seriellen Monitor öffnen und die Uhrzeit ablesen.