Arduino mit DS3231 RTC meistern – Schritt-für-Schritt-Anleitung
In diesem Arduino-Tutorial lernen Sie, wie Sie das DS3231 Real Time Clock Modul verwenden. Sie können das folgende Video ansehen oder die schriftliche Anleitung unten lesen. Die erste Frage: Warum ein separates RTC-Modul, wenn der Arduino einen eingebauten Zeitgeber hat? Der Punkt: Das RTC-Modul läuft mit Batterie und behält die Zeit auch bei Neuprogrammierung oder Trennen der Hauptstromversorgung bei. Der DS3231 ist ein kostengünstiger, hochpräziser Echtzeituhr-Baustein, der Stunden, Minuten, Sekunden sowie Tag, Monat und Jahr verwaltet. Er kompensiert automatisch Schaltjahre und Monate mit weniger als 31 Tagen. Das Modul arbeitet mit 3,3 V oder 5 V und ist damit für viele Plattformen geeignet. Die Batterieeingangsspannung beträgt 3 V; eine typische CR2032 versorgt das Modul über ein Jahr lang. Die Kommunikation erfolgt über I2C – der Anschluss an den Arduino ist sehr einfach. Hier der Schaltplan: Es werden nur 4 Drähte benötigt: VCC, GND, SDA und SCL. Benötigte Komponenten: Nach dem Anschluss programmieren wir den Arduino für die RTC. Die I2C-Programmierung ist nicht trivial, aber es gibt fertige Bibliotheken. Für dieses Tutorial nutze ich die Bibliothek von Henning Karlsen (www.rinkydinkelectronics.com). Nach Installation der Bibliothek können wir das erste Demo-Beispiel nutzen, um die RTC-Uhr initial zu aktivieren. Im Die erste Zeile setzt den Wochentag, die zweite die Uhrzeit (Stunden, Minuten, Sekunden), die dritte das Datum (Tag, Monat, Jahr). Nach dem Hochladen dieser Version kommentieren wir die drei Zeilen wieder aus und laden den Code erneut hoch. Im Trennt man nun die Arduino-Stromversorgung und verbindet sie wieder, läuft die Zeit weiter, ohne zurückgesetzt zu werden. Die RTC läuft nun und kann in jedem Arduino-Projekt verwendet werden. Als zweites Beispiel habe ich ein LCD angeschlossen und Zeit sowie Datum darauf angezeigt. Hier der Quellcode dieses Beispiels: Das war dieses Arduino-Tutorial. Fragen gerne in den Kommentaren!Überblick

DS3231 Real Time Clock


Programmierung
setup() des Demo-Codes sind drei Zeilen auszukommentieren, um Wochentag, Uhrzeit und Datum initial einzustellen.// Code aus dem Demo-Beispiel der DS3231-Bibliothek
void setup() {
Serial.begin(115200);
// Bei Arduino Leonardo folgende Zeile auskommentieren:
// while (!Serial) {}
rtc.begin();
// Folgende Zeilen auskommentieren für initiale Einstellung:
// rtc.setDOW(WEDNESDAY); // Wochentag auf MITTWOCH setzen
// rtc.setTime(12, 0, 0); // Uhrzeit auf 12:00:00 setzen (24h-Format)
// rtc.setDate(1, 1, 2014); // Datum auf 1. Januar 2014 setzen
}Code language: Arduino (arduino)void loop() {
Serial.print(rtc.getDOWStr());
Serial.print(" ");
Serial.print(rtc.getDateStr());
Serial.print(" -- ");
Serial.println(rtc.getTimeStr());
delay(1000);
}Code language: Arduino (arduino)loop() geben drei benutzerdefinierte Funktionen die RTC-Informationen auf dem Serial Monitor aus. So sieht es aus:

/*
* Arduino DS3231 Real Time Clock Module Tutorial
* Crated by Dejan Nedelkovski, www.HowToMechatronics.com
* DS3231 Library by Henning Karlsen, www.rinkydinkelectronics.com
*/
#include <DS3231.h>
#include <LiquidCrystal.h>
DS3231 rtc(SDA, SCL);
LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // (rs, enable, d4, d5, d6, d7)
void setup() {
rtc.begin();
lcd.begin(16,2);
}
void loop() {
lcd.setCursor(0,0);
lcd.print("Time: ");
lcd.print(rtc.getTimeStr());
lcd.setCursor(0,1);
lcd.print("Date: ");
lcd.print(rtc.getDateStr());
delay(1000);
}Code language: Arduino (arduino)
Herstellungsprozess
- Arduino POV-Uhr: Persistence-of-Vision LED-Display selbst bauen
- Sicheres Arduino RFID-Schloss bauen – Schritt-für-Schritt-Anleitung
- Einen eigenen LED-Master-Clock mit Alarm bauen – aus 12 Metern Entfernung ablesbar
- Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display
- Berlin-Uhr mit Arduino UNO bauen – DIY LED-Matrix-Uhr
- TM1637 Digitaluhr mit Zeiteinstellung & Alarm – Arduino Nano Prototyp
- eDOT: Präzise Arduino-Uhr & Wetterstation mit IR-Fernbedienung
- Arduino Echtzeit-Wetteruhr: OLED-Display für Zeit, Datum & Temperatur
- Arduino Nano Fingerabdruck-Sensor-Projekt – Schritt-für-Schritt-Tutorial
- Echtzeit-3D-Änderungserkennung durch Roboter erhöht Soldatensicherheit via AR