Real Time Clock DS1302

Sensor

Funktion

Die DS1302 Echtzeituhr von Maxim erlaubt die Bestimmung von Zeit und Datum. Die aktuellen Werte müssen einmal übergeben werden, danach erhält der Speicher die die Information. Eine CR2032 Batterie sorgt dafür, dass die Information auch im ausgeschalteten Zustand erhalten bleibt.

Achtung: im Gegensatz zu vielen anderen RTC Chips ist DS1302 nicht I2C basiert! Es ist ein serielles Datenprotokoll. Ich habe eine lange Nacht damit zugebracht, den Fehler zu finden, als ich den DS 1302 in einen I2C Bus mit anderen Sensoren eingebunden hatte!

Verdrahtung

VCC an 3,3 oder 5V, GND and GND, CLK, DAT und RST an drei GPIO Pins anschließen, die serielle Kommunikation beherrschen. Das können auch SLC SLA des I2C Busses sein, dort dürfen dann aber keine anderen I2C Sensoren angeschlossen werden.

Getestet:

myRTC(16,27,14) ESP32 (CLK,DAT,RST)

myRTC(5,4,7); Uno (CLK,DAT,RST)

Programmierung

Es wird die ArduinoRTClibrary-master eigsetzt, hier zu finden:

https://drive.google.com/file/d/1GDuLWUANun5toL-XsEaFfaw2tv0mvhjB/view

#include "virtuabotixRTC.h"  
virtuabotixRTC myRTC(16,27,14); //Uhr: Ein Objekt initialisieren ESP32  (CLK,DAT,RST)
//virtuabotixRTC myRTC(5,4,7); //Uno

void setup() {
//Nur ausführen, um die Uhrzeit zu stellen!!!!
//seconds, minutes, hours, day of the week, day of the month, month, year
//myRTC.setDS1302Time(00, 40, 23, 4, 26, 11, 2020);
}

void loop() {
  myRTC.updateTime();  // Zeit updaten
  dtostrf(myRTC.dayofmonth,2,0,day);
  dtostrf(myRTC.month,2,0,month);
  dtostrf(myRTC.hours,2,0,hours);
  dtostrf(myRTC.minutes,2,0,minutes);
}

Quellen und hilfreiche Links

QuelleThema
AZ-Delivery Datenblatt
https://www.az-delivery.de/en/products/rtc-modul-ds1302-kostenfreies-e-book
DS1203
Quellen und hilfreiche Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.