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.
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 |

Diagrama de cableado #

| PIR Sensor de movimiento | A |
|---|---|
| VCC | 5V |
| GND | GND |
| SCL | SCL |
| SDA | SDA |
Código de muestra #
//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
}
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.


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