1. Introducción del producto
El DS1307 es un módulo de reloj en tiempo real (RTC) común que integra funciones de reloj y calendario y brinda información precisa de fecha y hora. Se suele utilizar con un controlador para obtener una marca de tiempo precisa o realizar tareas cronometradas cuando no hay conexión de red.
El módulo DS1307 utiliza el bus I2C para la comunicación y se puede conectar al bus I2C del microcontrolador. Contiene un cristal de reloj de tiempo real de 32 kHz para proporcionar una referencia de tiempo de alta precisión. El módulo también tiene una interfaz de alimentación de respaldo por batería para mantener estables los datos de tiempo cuando se desconecta la alimentación principal. El módulo DS1307 almacena la información del año, mes, fecha, hora, minuto y segundo, que se puede configurar y obtener mediante la lectura y escritura de registros.
Referencia de aplicación: relojes electrónicos, temporizadores, interruptores de temporización, monitoreo de temperatura y otros escenarios que necesitan lograr un tiempo preciso.
2.Especificación de parámetros
Parámetro | Valor//Descripción |
---|---|
Tensión de alimentación | 5V |
Temperatura de funcionamiento | -40 ° C ~ + 85 ° C |
Capacidad de almacenamiento | 56Byte |
Frecuencia de reloj | 32.768KHz |
Modo de comunicación | CII |
Tamaño | 4.72cm * 2.38cm |
3.Diagrama de cableado

PIR Sensor de movimiento | A |
---|---|
VCC | 5V |
GND | GND |
SCL | SCL |
SDA | SDA |
4. Código de muestra
1//www.acebott.com
2#include <RtcDS1307.h> // Includes RtcDS1307 library
3#include <Wire.h> // Includes Wire library for I2C communication
4volatile int year;
5volatile int month;
6volatile int day;
7volatile int hour;
8volatile int minute;
9volatile int second;
10RtcDS1307<TwoWire> Rtc(Wire);
11 // Create RtcDS1307 object for I2C communication using Wire library
12void setup(){
13 year = 0;
14 month = 0;
15 day = 0;
16 hour = 0;
17 minute = 0;
18 second = 0;
19 Rtc.Begin(); // Initialize RtcDS1307
20 Rtc.SetIsRunning(true); // Start the DS1307 real-time clock
21 Rtc.SetDateTime(RtcDateTime(__DATE__, __TIME__)); // Set the date and time of the DS1307 to the date and time at compile time
22 Serial.begin(9600); // Initialize serial communications
23}
24
25void loop(){
26 // Get the current date and time from the DS1307 real-time clock
27 year = Rtc.GetDateTime().Year();
28 month = Rtc.GetDateTime().Month();
29 day = Rtc.GetDateTime().Day();
30 hour = Rtc.GetDateTime().Hour();
31 minute = Rtc.GetDateTime().Minute();
32 second = Rtc.GetDateTime().Second();
33 // Print date and time to serial port
34 Serial.println(String(String(year) + String("Year")) + String(String(String(month) + String("Month")) + String(String(day) + String("Day"))));
35 Serial.println(String(String(hour) + String(":")) + String(String(String(minute) + String(":")) + String(second)));
36 delay(1000); // 1 second delay to control output frequency
37
38}
5. Resultado de la prueba
Después de cargar el código en la placa controladora, abra el monitor del puerto serie del IDE de Arduino y configure la velocidad en baudios a 9600.
El puerto serie imprimirá la hora actual.


6. Recursos relacionados
7.Consigue uno ahora
Negocio B2B: información@acebott.com