Eine Eingabe eines Datums vor dem Jahr 2000 und nach 2099 habe ich in meiner Library nicht vorgesehen.Sollte die Library jemand verwenden oder testen, würde ich mich über eine Rückmeldung sehr freuen!Leider kann ich hier keine "cpp"- oder "h"-Files hochladen, daher zum Verwenden der Library ".txt" aus den Dateinamen entfernen und in einem neuen Verzeichnis mit dem Namen "MyDS31231" dort speichern, wo eure anderen Libraries gespeichert sind.Neben den beiden nachfolgenden Programmbeispielen zur Ausgabe von Datum und Uhrzeit, ist hier nocheinmal der Link zu meinem Sketch "Set_DS3231", mit dem Datum, Uhrzeit und Wochentag eingestellt werden können: Datum und Uhrzeit werden als Bytes am Seriellen Monitor ausgegeben:Datum und Uhrzeit wird als char-String am Seriellen Monitor ausgegeben. Zunächst einmal müssen wir die Zeit setzen, dieses können wir mit zwei Methoden tun, einmal manuell über die Eingabe des seriellen Monitors oder über einen Zeitstempel eines Sketches. Bei früheren Projekten habe ich, wenn ich die Uhrzeit benötigte, das RTC-Modul DS1307 verwendet. Als Datum/Uhrzeit kommt allerdings nur „Dienstag, 165.
Mit dem Modul RTC DS3231 ist es möglich einen Datum / Uhrzeit Wert zu speichern bzw. [ Placeholder content for popup link ] Ein Ausgang (mit Pullup-Widerstand) für ein 32 kHz Signal, welches über ein Register ein- und ausgeschaltet werden kann, steht dem Anwender zur Verfügung. mit der LiquidCrystal-Library ausgegeben werden:
✔️ Dank eingebauter Batterie wird die Uhrzeit auch bei einem Ausfall der Versorgungsspannung weiter gespeichert. Woran kann das liegendas liegt daran das die Monate mit 0 beginnen somit ist 0 = Januar, 1 = Februar usw.. Du solltest also im Quellcode Wire.write(decToBcd(monat)); in Wire.write(decToBcd(Monat-1)); ändern. auszugeben ohne das dieser mit dem Computer verbunden ist. Auf der Rückseite des Moduls ist ein Batteriehalter für eine wiederaufladbare Knopfzelle (LIR2032) vorgesehen, die über einen 200 Ohm Widerstand aufgeladen wird.
Eine Funkuhr läuft wie jede Uhr nicht wirklich präzise. Jahrhundert" beschränkt. Um Schaltjahre braucht man sich keine Gedanken zu machen, diese sollen bis zum Jahr 2100 berücksichtigt sein, nur die Umstellung auf Sommer-/Winterzeit muss händisch erfolgen.Auch ein AT24C32 EEPROM befindet sich auf dem Modul, welches für eigene Zwecke verwendet werden kann. Deswegen gleicht sie sich jede Stunde wieder über das DCF77-Signal mit der Atomuhr ab. Die für die Temperaturkompensation des Quarzes gemessene Temperatur, kann auch aus den Registern des DS3231 ausgelesen werden, wobei die mögliche Abweichung (lt. Datenblatt) mit +/-3°C jedoch sehr hoch sein kann.Damit die RTC auch ohne Stromversorgung weiterläuft, kann sie über eine Batterie mit Strom versorgt werden. Zusätzlich hat der DS3231 einen Ausgang für ein 32kHz Signal, was über ein Register ein- oder ausgeschaltet werden kann. Anstelle der Ausgabe am Seriellen Monitor könnten so auch Datum und Uhrzeit auf einem LCD-Display, z.B. Dieses Modul hat allerdings den Nachteil, dass es schon nach einigen Tagen eine Abweichung von einigen Sekunden aufweist und daher häufig nachgestellt oder - wie in einem meiner Projekte gezeigt - mittels einer Funkuhr, z.B. Und sollte der Microcontroller einmal ausgefallen oder abgeschaltet worden sein so läuft dieses Modul durch die mitgelieferte Batterie zuverlässig weiter.Das Modul verfügt über 6 PIN’s welche wiefolgt am Arduino Nano angeschlossen werden:In folgender Zeichnung ist ein Arduino Mega 2560 angebildet, dieser verfügt über die PIN’s SDA & SCL und somit kann man statt an die analogen PIN’s auch an diese anschließen.Für den Betrieb des RTC DS3231 Moduls werden verschiedene Bibliotheken angeboten, jedoch kann durch die „Wire Bibliothek“ welche der Arduino IDE beiliegtAls eine kleine Beispielanwendung werde ich nun das Datum und die Uhrzeit auf einem Display (LCD 16×2) anzeigen. Ich kann keinen Fehler finden. Somit erhältst du das korrekte Datum.Den Monat in Wire.write(decToBcd(Monat-1)); mit -1 zu ändern bewirkt daß die Wochentage des Vormonats angezeigt werden. Der DS3231 ist mit der I2C Adresse und Registern abwärtskompatibel zum DS1337, so daß die Software für den DS1337 auch mit DS3231 läuft. der DCF77, laufend abgeglichen werden muss (siehe Wesentlich genauer läuft da die RTC DS3231, da hier - mit Hilfe eines auf dem Modul integrierten Temperatursensor - Abweichungen des Quarzes, die durch Temperatureinfluss entstehen, kompensiert werden. Der Pfeil zeigt auf den 200 Ohm Widerstand, der bei Verwendung einer nicht aufladbaren Knopfzelle entfernt werden muss!Die beiden I2C-Leitungen SDA und SCL sind auf dem Modul mit Pullup-Widerständen versehen.Es gibt im Internet einige umfangreiche Libraries zum DS3231 zu finden, die alle Möglichkeiten die der Baustein bietet, abdecken können.Mit meiner Library wollte ich mich auf das Wesentliche des DS3231 beschränken, nämlich Datum und Uhrzeit einzustellen und abzufragen.Deshalb habe ich mich auch auf den Zeitraum "21. Mit dem betätigen der Schaltfläche "Cookie akzeptieren" willigen Sie ein das ein Cookie gesetzt wird.