Ir al contenido

2.18 Reloj de tiempo real 2560

En esta lección vas a aprender a usar el módulo RTC, basado en el chip de bajo consumo DS1307. Vas a ver cómo se comunica por I2C con la placa 2560 para llevar un registro preciso de la fecha y hora, incluso usando su batería de respaldo. D…

En esta lección vas a aprender a usar el módulo RTC, basado en el chip de bajo consumo DS1307. Vas a ver cómo se comunica por I2C con la placa 2560 para llevar un registro preciso de la fecha y hora, incluso usando su batería de respaldo.

Descripción General

El DS1307 es un chip de reloj de tiempo real que consume muy poca energía. Los datos se transfieren de forma serie a través de un bus I2C, lo que permite conectarlo a la placa 2560 usando solo tres cables de datos. El módulo registra segundos, minutos, horas, día de la semana, fecha, mes y año, manteniendo el funcionamiento mientras el componente opere desde la fuente de respaldo.

Componentes Necesarios

(1) x Elegoo MEGA 2560 R3
(1) x Módulo RTC DS1307
(4) x Cables Hembra-Macho (cables DuPont)

Introducción a los Componentes

El módulo de reloj de tiempo real permite que tus proyectos mantengan la hora exacta aunque se reinicie el microcontrolador, gracias a que cuenta con su propia batería.

Esquema de Conexión y Diagrama de Cableado

Seguí las conexiones indicadas para vincular los pines de alimentación y los pines de datos I2C (SDA y SCL) entre el módulo y tu placa Elegoo MEGA.

Código

Podés hacer clic en el link de texto azul para descargar el programa a tu dispositivo y abrirlo con un doble clic una vez terminada la descarga. Antes de abrir el archivo, asegurate de tener instalado el Arduino IDE y los componentes necesarios, como el paquete de soporte de la placa y el driver de la 2560 R3. Si tenés dudas, fijate en el capítulo "part 1" de la documentación para una guía detallada.

📥 DESCARGAR rtc_clock.ino

Este código muestra cómo usar un módulo RTC DS3231 con Arduino. Inicializa el reloj y muestra la fecha y hora actual en el Monitor Serie. Para activarlo, hacé clic en el botón del Monitor Serie (podés ver más detalles sobre esto en el tutorial 4 de la parte 2).

#include <Wire.h>
#include <DS3231.h>

DS3231 clock;
RTCDateTime dt;

void setup()
{
  Serial.begin(9600);

  Serial.println("Initialize RTC module");
  // Inicializar DS3231
  clock.begin();

  // Manual (AAAA, MM, DD, HH, II, SS)
  // clock.setDateTime(2016, 12, 9, 11, 46, 00);

  // Enviar hora de compilación del sketch al Arduino
  clock.setDateTime(__DATE__, __TIME__);
  /*
  Tip: Este comando se ejecutará cada vez que Arduino se reinicie.
  Comentá esta línea para mantener la memoria del módulo DS3231.
  */
}

void loop()
{
  dt = clock.getDateTime();

  Serial.print("Raw data: ");
  Serial.print(dt.year); Serial.print("-");
  Serial.print(dt.month); Serial.print("-");
  Serial.print(dt.day); Serial.print(" ");
  Serial.print(dt.hour); Serial.print(":");
  Serial.print(dt.minute); Serial.print(":");
  Serial.print(dt.second); Serial.println("");

  delay(1000);
}

Librerías y Configuración

El código usa Wire.h para la comunicación I2C y DS3231.h para el control del RTC. En el setup(), se inicializa el Monitor Serie a 9600 baudios y se configura el módulo con la hora actual de la PC al momento de compilar. La función loop() pide los datos al reloj y los imprime con el formato AAAA-MM-DD HH:MM:SS cada un segundo.

Solución de Problemas

No hay datos en el Monitor Serie: Revisá que la velocidad esté en 9600 baudios.
Hora incorrecta: Verificá que el módulo esté bien conectado y alimentado.
La hora no se actualiza: Asegurate de que el DS3231 tenga la pila de respaldo instalada.
Problemas de comunicación I2C: Chequeá las conexiones en los pines SDA y SCL.
Errores de librería: Asegurate de tener instaladas las librerías Wire y DS3231.

Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.

Fuente: Adaptado al español desde el wiki oficial (licencia CC BY-SA). Revisión técnica por equipo Breva.
25%
Tecnología real Impresión 3D en Rosario FilAr fabricado por nosotros Probá antes de comprar Soporte técnico local Academia Mini Makers Robótica y electrónica Showroom tecnológico Empresas y escuelas Asesoramiento real No somos marketplace Somos makers Kits para empezar Repuestos y mantenimiento Envío a todo el país Factura A para empresas Demos los sábados Tu proyecto empieza acá Tecnología real Impresión 3D en Rosario FilAr fabricado por nosotros Probá antes de comprar Soporte técnico local Academia Mini Makers Robótica y electrónica Showroom tecnológico Empresas y escuelas Asesoramiento real No somos marketplace Somos makers Kits para empezar Repuestos y mantenimiento Envío a todo el país Factura A para empresas Demos los sábados Tu proyecto empieza acá