Módulo RTC DS1302: manter a hora em projetos com bateria
By Official Hobby Components Online Store | Buy Electronic Kits, Components, Boards, Shields, Modules | Published: 2026-11-02
Category: Guias Práticos
Saiba como ligar um módulo de relógio em tempo real DS1302 ao Arduino, adicionar uma pilha de reserva e definir a hora, para que o seu projeto mantenha a hora exata mesmo quando a alimentação é cortada.
Resposta rápida
Ligue o módulo DS1302 ao seu Arduino utilizando três linhas de sinal, mais alimentação e terra, coloque uma pilha de reserva nova e, em seguida, execute um pequeno sketch para acertar a hora uma única vez. Depois disso, o módulo mantém a hora por si só, desde que a pilha de reserva permaneça carregada.
Porque é que o DS1302 precisa de uma pilha de reserva e como se comporta
O chip DS1302 mantém o seu relógio e calendário a funcionar a partir de uma pequena pilha de reserva quando a alimentação principal é removida. É isso que o torna útil para projetos alimentados por bateria ou com alimentação intermitente. O módulo que compra inclui normalmente um suporte de pilha, mas a pilha em si pode ou não estar incluída, por isso verifique a listagem do produto antes de assumir que pode simplesmente ligá-lo.
O DS1302 utiliza uma interface série simples de três fios (reset, dados e relógio) em vez de I2C, pelo que ocupa três pinos digitais no seu microcontrolador. É um compromisso: é fácil de ligar e muito económico, mas não é tão eficiente em termos de barramento como um RTC I2C. Também armazena o ano com dois dígitos, pelo que precisa de decidir como o seu código irá interpretar o século.
O que o DS1302 faz e não faz por si
O chip acompanha horas, minutos, segundos, dia da semana, data, mês e um ano de dois dígitos. O seu calendário corrige automaticamente os meses com diferentes números de dias e os anos bissextos, pelo que não precisa de escrever essa lógica. Não corrige a mudança de século, nem ajusta a hora de verão ou as mudanças de fuso horário — o seu sketch tem de o fazer se o seu projeto precisar disso.
A precisão depende do cristal e da tensão da pilha. O DS1302 não é um módulo com compensação de temperatura, pelo que é de esperar um pequeno desvio ao longo do tempo. Para projetos que exijam maior precisão a longo prazo, o DS3231 é a alternativa habitual, mas para muitos projetos de passatempo o DS1302 é suficientemente preciso e custa muito menos.
Passo a passo: ligar, alimentar e configurar o DS1302
- Ligue o módulo ao seu Arduino: Ligue o VCC a 5V (ou 3.3V se o seu módulo for especificado para isso), o GND à terra e os três pinos de sinal (RST, DAT, CLK) a três pinos digitais. Um erro comum é trocar o DAT e o CLK; verifique novamente as etiquetas na serigrafia antes de ligar a alimentação. Se o módulo não responder, verifique novamente se o RST é realmente alternado pelo seu código — uma linha RST flutuante fará com que o barramento pareça inativo.
- Coloque e verifique a pilha de reserva: Insira uma pilha de célula tipo moeda nova se o seu módulo tiver um suporte e a pilha não estiver pré-instalada. Meça a tensão da pilha com um multímetro antes de confiar nela; uma célula fraca fará com que a hora seja reposta quando a alimentação principal for removida. Alguns módulos são enviados sem pilha — confirme o que vem na caixa antes de planear uma montagem alimentada por bateria.
- Carregue uma biblioteca e acerte a hora uma vez: Utilize uma biblioteca compatível com o DS1302 para a sua placa (por exemplo, uma biblioteca RTC comum para Arduino) e execute o seu exemplo de acerto da hora com a data e hora atuais. Carregue-o uma vez e, em seguida, comente ou remova a chamada de acerto para que o relógio não seja reposto em cada arranque. Deixar a chamada de acerto ativa é a razão mais comum para um projeto mostrar a mesma hora errada após cada ciclo de alimentação.
- Verifique a contagem do tempo ao longo de um ciclo de alimentação: Depois de acertar a hora, desligue a alimentação principal durante um minuto, volte a ligar e leia a hora novamente. Deverá ter avançado aproximadamente o tempo decorrido. Se foi reposta para o valor predefinido, a pilha de reserva ou o seu suporte são a primeira coisa a verificar. Um relógio que é reposto quando há perda de alimentação aponta quase sempre para o circuito da pilha de reserva, não para o código.
- Trate do ano de dois dígitos e da hora de verão no seu sketch: Decida como o seu código mapeia o ano de dois dígitos para um ano completo (por exemplo, tratar 00–69 como 2000–2069) e adicione qualquer desvio de hora de verão ou de fuso horário por software. O DS1302 não fará isso por si. Anote a sua regra de século num comentário para que a próxima pessoa que ler o sketch não tenha de adivinhar.
Factos do produto
- Módulo de Relógio em Tempo Real DS1302: O módulo de relógio em tempo real DS1302 é um módulo de relógio compacto com pilha de reserva, com um relógio de 24 horas e um calendário que armazena o ano em dois dígitos e corrige os comprimentos dos meses e os anos bissextos. Esse tratamento de calendário integrado significa que pode concentrar-se na lógica do seu projeto em vez de escrever aritmética de datas, e o tamanho compacto encaixa perfeitamente em invólucros pequenos.

Módulo de Relógio em Tempo Real DS1302
