Módulo reloj de tiempo real RTC DS3231
| Actualizado:
Comentarios: 0
El DS3231 es un reloj de tiempo real (RTC) I2C de bajo coste y extremadamente preciso, con un oscilador de cristal con compensación de temperatura (TCXO). Comparado con el DS1302, el DS3231 tiene muchas ventajas, funciona con una alimentación que puede variar de 2.3V a 5.5V y tiene una batería de respaldo. A diferencia del DS1307, el DS3231 también tiene un cristal de cuarzo integrado (por lo que no requiere un cristal externo), un sensor de temperatura, 2 alarmas programables, un pin de salida de 32.768 kHz para garantizar una mayor precisión. El módulo también incluye una memoria EEPROM AT24C32 con 32Kb para almacenar todo tipo de datos. Dispone de un zócalo para pila de botón.
Características:
- Mantiene la fecha y el horario (año, mes, día, hora, minutos, segundos)
- Oscilador interno compensado por temperatura (TCXO)
- Error de +-2 ppm (unos pocos minutos al año)
- Batería de respaldo, mantiene la fecha y el horario.
- Salida directa de oscilador interno de 32.768 Khz (32 K)
- Salida programable de 1 Hz, 1 Khz, 4 Khz, 8 Khz (SQW)
- Fácil conexión mediante interfaz I2C
Esquema de montaje con Arduino:
Conectar el pin SCL con el pin analógico 5 de la placa Arduino, SDA con el pin analógico 4, VCC con alimentación de 5V y el GND con el de masa de Arduino.
Código de ejemplo:
#include "Wire.h"
#include "RTClib.h"
RTC_DS3231 rtc;
void setup (){
Serial.begin(9600);
if (! rtc.begin()) {
Serial.println("Módulo RTC no encontrado !");
while (1);
}
rtc.adjust(DateTime(__DATE__, __TIME__));
}
void loop (){
DateTime fecha = rtc.now();
Serial.print(fecha.day());
Serial.print("/");
Serial.print(fecha.month());
Serial.print("/");
Serial.print(fecha.year());
Serial.print(" ");
Serial.print(fecha.hour());
Serial.print(":");
Serial.print(fecha.minute());
Serial.print(":");
Serial.println(fecha.second());
delay(1000);
}