Como usar com Arduino – Módulo Real Time Clock RTC DS1307

Como usar com Arduino – Módulo Real Time Clock RTC DS1307

img00_como_usar_com_arduino_modulo_real_time_clock_rtc_ds1307_uno_mega_2560_nano_relogio_horas_data

– Descrição:

Módulo Real Time Clock RTC DS1307 é um relógio em tempo real (RTC) que possui calendário completo e conta com 56 Bytes de SRAM. O mesmo é capaz de fornecer informações de hora, minutos, segundos, dia, data, mês e ano.

Para o funcionamento do Módulo Real Time Clock RTC DS1307 é necessário além da alimentação da placa, uma bateria CR2032 para poder permitir que os dados fiquem armazenados mesmo com a falta de energia. Além disso, o módulo é capaz de detectar falhas de energia e consequentemente acionando a bateria para evitar que os dados sejam perdidos. O módulo também é capaz de ajustar automaticamente o final dos meses que possuem menos de 31 dias, faz a correção de ano bissexto e trabalha tanto no formato de 12 horas quanto 24 horas. Além disso, a placa possui um local para que um Sensor de Temperatura DS18B20 seja soldado e utilizado em conjunto.

– Especificações e características:

– Controlador: DS1307
– Tensão de operação: 5VDC
– Interface: I2C
– Memória RAM não volátil: 56 bytes
– Computa horas / minutos / segundos / dias da semana / mês / meses / anos (de 2000 a 2099)
– Consome menos de 500nA no modo bateria com oscilador em funcionamento
– Armazenamento de memória: 24C32 EEPROM I2C 32K
– Possui circuito de detecção de falha de energia
– Possui espaço para um Sensor de Temperatura DS18B20
– Bateria compatível: CR2032 (inclusa)
– Temperatura de operação: -40° a 85°celsius

– Datasheet:

Datasheet DS1307

– Aplicações:

Projetos com Arduino ou outras plataformas microcontroladas em que seja necessário obter informações das horas, dia e data.

– Proposta da prática:

Utilizar o Módulo Real Time Clock RTC DS1307 em conjunto com o Arduino e obter informações de horas, dia e data atual. Estas informações serão exibidas no monitor serial do ambiente de programação do Arduino.

– Lista dos itens necessários:

01 – Arduino com Cabo USB
01 – Módulo Real Time Clock RTC DS1307
04 – Cabos Jumper macho-fêmea

– Esquema de ligação da prática

img01_como_usar_com_arduino_modulo_real_time_clock_rtc_ds1307_uno_mega_2560_nano_relogio_horas_data

– Tutorial de instalação e configuração do ambiente de programação do Arduino:

Arduino – Instalação e Configuração da IDE no Windows

– Biblioteca:

Download RTClib

– Importando bibliotecas para o ambiente de programação do Arduino:

Arduino – Importando bibliotecas para a IDE

– Código:

OBS: se o RTC estiver sendo ligado pela primeira vez, ficou sem energia, esgotou a bateria ou você precisa de ajustar as informações do mesmo, remova o comentário da linha 18 ou 19 para que as informações sejam atualizadas. A linha de código de número 18 captura as informações no momento em que o sketch for compilado e define no RTC. Na linha de código de número 19 você pode inserir as informações manualmente. Lembre-se de usar somente uma das linhas e deixar uma delas comentada.

– Resultado final:

Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!

Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop

Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.

Obrigado e até a próxima!

Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.



Postagem anterior:
Próxima postagem:
Postagem feita por

Formado em Engenharia da Computação, Técnico em Eletroeletrônica, Fundador e Diretor da MasterWalker Electronic Shop. Se preocupa com o aprendizado dos seus clientes e daqueles interessados em aprender sobre Arduino e plataformas embarcadas em geral.

Existem 9 comentários para esta postagem
  1. Tiago Lago de às 23:50

    Olá Euler, tudo bem? Gostaria de sua ajuda com a seguinte situação; após ajustar a data e hora espero um tempo máximo de 1 minuto e desligo o arduíno. Para minha surpresa não segura os dados, reseta tudo. O que pode ser?

    • Luiz às 17:49

      Olá, amigo, um pouco tarde, mas… isso me parece problema de bateria fraca.

  2. drikah às 10:00

    Bom dia Euler. Tenho uma dúvida no código, você poderia me ajuda? É nessa parte:

    if (! rtc.isrunning()) { //SE RTC NÃO ESTIVER SENDO EXECUTADO, FAZ
    Serial.println(“DS1307 rodando!”); //IMPRIME O TEXTO NO MONITOR SERIAL (…)

    Se o RTC não estiver sendo executado, o DS1307 esta rodando? ou seria:
    if (! rtc.isrunning()) { //SE RTC NÃO ESTIVER SENDO EXECUTADO, FAZ
    Serial.println(“DS1307 não esta rodando!”);

    Desde já agradeço!

  3. Mailson Malaquias às 21:06

    Estou começando a conhecer os sensores. Seu tutorial ajuda demais. Vlw

  4. Rogério Pedroso às 22:41

    Boa noite Euler, estou precisando de uma ajuda para enviar a hora e a data para uma IHM nextion, vc poderia me orientar?

    • Euler Oliveira Autor às 06:02

      Olá Rogério.

      Agradeço pelo comentário!

      Ainda não utilizei o display nextion,logo, não tenho informações para conseguir te orientar.

  5. Sílvia às 19:29

    Olá, boa noite! Estou tendo um problema em configurar a hora. Preencho os campos, como indicado, porém somente a data é alterada. O horário não modifica. O que pode estar acontecendo?

    • Euler Oliveira Autor às 20:17

      Olá Silvia.

      Remova a bateria do módulo, deixe fora por uns 20 segundos, coloque novamente no módulo e faça os procedimentos.