Real-Time-Clock (RTC) DS1302, módulo reloj
| Actualizado:
Comentarios: 0
El módulo reloj DS1302 RTC permite ajustar la fecha y la hora, contiene un reloj-calendario en tiempo real con 31 bytes de RAM estática. El módulo reloj proporciona información de segundos, minutos, días, semanas, meses y años. El número de días de cada mes se ajusta de forma automática, también hay una función de compensación del año bisiesto. Incluye una celda para batería con la que puede mantener la actualización de la fecha.
Nota: Los módulos baratos con DS1302 y DS1307 a menudo tienen problemas con el cristal de cuarzo y el voltaje. Es normal que no funcionen muy bien. Se recomienda utilizar un DS3231, que es más confiable y preciso, solo necesita una batería para funcionar (el cristal de cuarzo está integrado dentro del DS3231).
Esquema con Arduino:
Conectar VCC con el pin de 5V de Arduino, GND con el de masa de la placa, CLK al pin 6, DAT con el pin 7 y RST al pin 8.
Código de ejemplo:
La librería utilizada es RTC Virtuabotix Library
#include "virtuabotixRTC.h"
// SCLK -> 6, I/O -> 7, CE -> 8
// CLK -> 6 , DAT -> 7, Reset -> 8
virtuabotixRTC myRTC(6, 7, 8);
void setup() {
Serial.begin(9600);
// Formato para la fecha:
// segundos, minutos, horas, día de la semana, día del mes, mes, año
// myRTC.setDS1302Time(0, 58, 17, 4, 17, 12, 2020); //Configuración del tiempo actual
// Recuerda comentar la línea anterior, una vez configurado
}
void loop() {
myRTC.updateTime();
Serial.print("Fecha / Hora: ");
Serial.print(myRTC.dayofmonth);
Serial.print("/");
Serial.print(myRTC.month);
Serial.print("/");
Serial.print(myRTC.year);
Serial.print(" ");
Serial.print(myRTC.hours);
Serial.print(":");
Serial.print(myRTC.minutes);
Serial.print(":");
Serial.println(myRTC.seconds);
delay(1000);
}
Vista del resultado en el monitor serial: