0% encontró este documento útil (0 votos)
4 vistas6 páginas

Practica RTC DS1302

Lcd

Cargado por

yael.chavezid
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas6 páginas

Practica RTC DS1302

Lcd

Cargado por

yael.chavezid
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

PRÁCTICA

Módulo de Tiempo Real


RTC DS1302

Alumno: Yael Chavez Reyes


Grado: 4°
Fecha: 01/06/2026
INTRODUCCIÓN

¿Qué es el módulo DS1302?


El DS1302 es un circuito integrado de reloj en tiempo real (RTC, Real Time Clock)
fabricado por Dallas Semiconductor. Su función principal es mantener un registro
preciso de segundos, minutos, horas, día del mes, mes, día de la semana y año, con
corrección automática de meses con menos de 31 días y años bisiestos hasta el 2100.
Una de sus características más importantes es que puede operar con una batería de
respaldo tipo CR2032, lo que le permite seguir contando el tiempo aunque el circuito
principal esté apagado. La comunicación con el microcontrolador se realiza mediante
una interfaz serial sincrónica de 3 hilos: RST (Reset), DAT (Datos) y CLK (Reloj), lo que
lo hace simple de conectar y programar.

Características principales
• Alimentación: 2.0 V a 5.5 V (compatible directamente con Arduino 5V).
• Interfaz: Serial de 3 hilos (RST, DAT, CLK).
• Batería de respaldo: CR2032 de 3 V para mantener la hora sin alimentación externa.
• Registro de tiempo: segundos, minutos, horas (12/24 h), día de semana, día, mes y
año.
• RAM interna: 31 bytes de memoria RAM estática que conserva datos con la batería.
• Bajo consumo: menos de 300 nA en modo batería.

Aplicaciones
El módulo DS1302 se utiliza en proyectos como relojes digitales, sistemas de registro
de eventos con fecha y hora, alarmas programables, dataloggers y cualquier aplicación
donde sea necesario conocer la hora exacta sin depender de Internet o de un servidor
externo.

Objetivo de la práctica
El objetivo es conectar el módulo DS1302 con un Arduino UNO R3 y programarlo para
mostrar la hora y fecha exacta en el Monitor Serial del IDE de Arduino, comprendiendo
el protocolo de comunicación serial de 3 hilos y el uso de la librería DS1302.h.
DESARROLLO

La práctica consiste en mostrar la hora exacta en el Monitor Serial de Arduino UNO.


Para ello se conectó el módulo DS1302 al Arduino siguiendo el esquema y la tabla de
conexiones indicados.

Tabla de conexiones
Módulo DS1302 Arduino UNO R3
RST 2
DAT 3
CLK 5
VCC 5V
GND GND

Diagrama de conexiones
A continuación se muestra el diagrama con las conexiones entre el módulo DS1302, la
batería CR2032 y el Arduino UNO R3:
Código 1 – Sincronización del módulo
El primer programa inicializa el módulo DS1302 y le configura la fecha y hora exacta.
Solo se carga una vez al inicio para sincronizar el reloj:

#include <DS1302.h>
DS1302 rtc(2, 3, 5); // RST / DAT / CLK
Time t;

void setup() {
[Link](false); // Desproteger contra escritura
[Link](false);
[Link](SUNDAY); // Configurar día de la semana
[Link](16, 00, 30); // Hora en formato 24h (hh, mm, ss)
[Link](10, 05, 2026); // Fecha: día / mes / año
}

void loop() {
digitalWrite(13, HIGH); // LED integrado confirma finalización
}

Código 2 – Lectura y visualización en Monitor Serial


El segundo programa lee continuamente los datos del módulo y los imprime en el
Monitor Serial cada 3 segundos:

#include <DS1302.h>
DS1302 rtc(2, 3, 5);
Time t;

void setup() {
[Link](9600); // Inicialización del puerto serie
}

void loop() {
t = [Link](); // Obtener datos del módulo

[Link]("HOY:");
if ([Link] == 1) [Link]("lun"); // 1 = lunes
if ([Link] == 2) [Link]("mar");
if ([Link] == 3) [Link]("mie");
if ([Link] == 4) [Link]("jue");
if ([Link] == 5) [Link]("vie");
if ([Link] == 6) [Link]("sab");
if ([Link] == 7) [Link]("dom"); // 7 = domingo
[Link]();

[Link]("DIA:"); [Link]([Link], DEC); [Link]();


[Link]("MES:"); [Link]([Link]); [Link]();
[Link]("DE:"); [Link]([Link], DEC); [Link]();

[Link]("HORA:"); [Link]([Link], DEC);


[Link](", MIN:"); [Link]([Link], DEC);
[Link](", SEG:"); [Link]([Link], DEC);
[Link]();
[Link]();

delay(3000); // Esperar 3 s para no sobrecargar el módulo


}
CONCLUSIÓN

En esta práctica se aprendió a conectar y programar el módulo de tiempo real DS1302


con Arduino UNO R3 para mostrar la hora y fecha exacta en el Monitor Serial. Se
comprendió el funcionamiento de la interfaz serial de 3 hilos (RST, DAT, CLK) y la
importancia de la batería CR2032 para mantener el tiempo cuando el Arduino no tiene
corriente.
También se aprendió a usar una librería externa (DS1302.h) en el IDE de Arduino, a
declarar objetos de tipo Time, y a extraer cada campo de tiempo (hora, minuto,
segundo, día, mes, año) para mostrarlo de forma organizada y legible en el Monitor
Serial.
La práctica demostró que el módulo DS1302 es una solución sencilla, económica y
confiable para agregar la función de reloj en tiempo real a cualquier proyecto con
Arduino, siendo una base importante para futuras aplicaciones como alarmas,
dataloggers o sistemas de control con horario.

También podría gustarte