Produkteinführung #

Das DS1307 ist ein gängiges Echtzeituhrmodul (RTC), das Uhr- und Kalenderfunktionen integriert und genaue Zeit- und Datumsinformationen liefert. Es wird häufig mit einem Controller verwendet, um einen genauen Zeitstempel zu erhalten oder zeitgesteuerte Aufgaben auszuführen, wenn keine Netzwerkverbindung besteht.
Das DS1307-Modul verwendet den I2C-Bus zur Kommunikation und kann an den I2C-Bus des Mikrocontrollers angeschlossen werden. Es enthält einen 32-kHz-Echtzeituhrkristall, um eine hochpräzise Zeitreferenz bereitzustellen. Das Modul verfügt außerdem über eine Schnittstelle für eine Batterie-Notstromversorgung, um die Zeitdaten stabil zu halten, wenn die Hauptstromversorgung unterbrochen wird. Das DS1307-Modul speichert Informationen zu Jahr, Monat, Datum, Stunde, Minute und Sekunde, die durch Lesen und Schreiben von Registern eingestellt und abgerufen werden können.
Anwendungsreferenz: elektronische Uhren, Timer, Zeitschalter, Temperaturüberwachung und andere Szenarien, in denen eine genaue Zeitangabe erforderlich ist.
Parameterspezifikation #
| Parameter | Wert//Beschreibung |
|---|---|
| Betriebsspannung | 5V |
| Betriebstemperatur | -40 ° C ~ + 85 ° C |
| Speicherkapazität | 56Byte |
| Taktfrequenz | 32.768KHz |
| Kommunikationsmodus | IIC |
| Größe | 4.72cm * 2.38cm |

Schaltplan #

| PIR-Bewegungssensor | Ein |
|---|---|
| VCC | 5V |
| GND | GND |
| SCL | SCL |
| SDA | SDA |
Beispielcode #
//www.acebott.com
#include // Includes RtcDS1307 library
#include // Includes Wire library for I2C communication
volatile int year;
volatile int month;
volatile int day;
volatile int hour;
volatile int minute;
volatile int second;
RtcDS1307 Rtc(Wire);
// Create RtcDS1307 object for I2C communication using Wire library
void setup(){
year = 0;
month = 0;
day = 0;
hour = 0;
minute = 0;
second = 0;
Rtc.Begin(); // Initialize RtcDS1307
Rtc.SetIsRunning(true); // Start the DS1307 real-time clock
Rtc.SetDateTime(RtcDateTime(__DATE__, __TIME__)); // Set the date and time of the DS1307 to the date and time at compile time
Serial.begin(9600); // Initialize serial communications
}
void loop(){
// Get the current date and time from the DS1307 real-time clock
year = Rtc.GetDateTime().Year();
month = Rtc.GetDateTime().Month();
day = Rtc.GetDateTime().Day();
hour = Rtc.GetDateTime().Hour();
minute = Rtc.GetDateTime().Minute();
second = Rtc.GetDateTime().Second();
// Print date and time to serial port
Serial.println(String(String(year) + String("Year")) + String(String(String(month) + String("Month")) + String(String(day) + String("Day"))));
Serial.println(String(String(hour) + String(":")) + String(String(String(minute) + String(":")) + String(second)));
delay(1000); // 1 second delay to control output frequency
}
Testergebnis #
Nachdem Sie den Code auf die Controllerplatine hochgeladen haben, öffnen Sie den seriellen Port-Monitor der Arduino IDE und stellen Sie die Baudrate auf 9600 ein.
Der serielle Anschluss druckt die aktuelle Uhrzeit aus.


Relevante Unterlagen #
Holen Sie sich jetzt eins #
B2B-Geschäft: info@acebott.com
