Projeto Arduino RTC DS1302

Arduino RTC DS1302 Projeto Verificando o Tempo

O Projeto Arduino RTC DS1302 Verificando o Tempo é um simplificado tutorial de como utilizar esse pequeno e prático dispositivo em conjunto com o microcontrolador Arduino Uno, permitindo que com poucos passos seja possível fazer toda a conexão e obtenção dos dados.

Algum dia você já deve ter precisado ou até pensado em colocar a hora e data em sua aplicação, isso agora esta muito fácil, com o Relógio de tempo real DS1302, você poderá construir um Rádio-Relógio, ou até mesmo um letreiro de horas com alguns de nossos displays.

 

Módulo RTC DS1302

Módulo RTC DS1302 utilizado no projeto com Arduino para identificação do dia e das horas de forma precisa.

 

A informação de data e hora também pode ser importante em projetos complexos onde é preciso registar dados recolhidos de sensores e armazenar o momento exato em que o registro ocorreu, possibilitando criar arquivos ou planilhas de dados que podem ser convertidas em gráficos por programas de computador.

Como diferencial, o Arduino RTC DS1302 apresenta um exclusivo slot para uma bateria CR2032, a qual permite que ele registre data e hora mesmo diante de falta de energia, mantendo a contagem exata dos segundos, minutos, horas, bem como, dos dias, semanas, meses e anos.

 

Produtos Necessário para Projeto Arduino RTC DS1302

 

Padrão de Comunicação do RTC DS1302

O padrão de comunicação do Módulo Relógio digital é por SPI (Serial Peripheral Interface) a qual se delimita em Mestre – Dispositivo (ou Master/Slave), esse padrão de comunicação foi criado pela Motorola, é utilizado para pequenas distancias.

Existe 4 tipos deste padrão: 4 Fios, 3 Fios, 2 Fios, 1 Fio; a qual condição depende do dispositivo utilizado, no nosso caso é o de 3 Fios.

 

Montagem do Projeto Arduino RTC DS1302

Para que o projeto apresente perfeito funcionamento é necessário que o passo a passo abaixo seja rigorosamente seguido, assim vamos obter resultados exatos e precisos.

Faça as montagens na seguinte ordem: Arduino-Módulo: 7 – RST; 6 – DAT; 5 – CLK; 3.3V – VCC; GND – GND.

Confira as ligações no esquema:

Esquemático Projeto Arduino RTC DS1302

Esquemático Projeto Arduino RTC DS1302 com ligação entre a Placa UNO R3 e o Relógio de Tempo Real com utilização de uma protoboard para intermediação.

 

Código de Programação Arduino RTC DS1302

O código utilizado na programação do Relógio Tempo Real DS1302  tem a função de ler os dados obtidos do  RTC e converte-los para fazer a apresentação na porta serial, diretamente na tela de seu computador. Lembramos que pode ser facilmente adaptado para amostragem diretamente em displays lcd, led ou amoled.

Download do Código de Programação

Download da Biblioteca DS1302

 

 

Conclusão

O Projeto Arduino RTC DS1302 teve perfeito funcionamento durante o teste de uso, se as ligações forem corretas e sem interferências você terá sucesso no seu projeto. Você poderá usar esse dispositivo em diversas coisas, entre elas, estações meteorológicas, rádios despertadores, dataloggers e etc.

Vale mencionar ainda a incrível capacidade que o DS1302 possui de correções automáticas para meses com 31 dias, além de apresentar correção para ano bissexto, o que vem a confirmar a alta confiabilidade dos dados obtidos a partir dessa pequena placa.

Autor: Leonardo Dalla Porta

Categorias
Arduino

Mecânico de Manutenção com Experiência em Sistemas Embarcados, Automação e Desenvolvimento de Projetos; Graduado nos Cursos de Matemática - URI e Física - UFFS.
14 Número de Comentários
  • Lux BRUGNAGOX
    18 setembro 2017 at 00:30
    Deixe seu Comentário

    Oi?!
    Podem me ajudar a fazer uma sonda para colocar em um balão, que eu chamo de mini-satélite, que eu receba os dados coletados e recuperar quando cair de volta na terra, arquivo X!

    • Equipe Usinainfo
      26 setembro 2017 at 19:06
      Deixe seu Comentário

      Boa tarde!
      Para poder resgatar os dados você pode optar por dois métodos, um deles é gravando os dados em um cartão SD que você retira do projeto sempre que o equipamento cai de volta na terra e realiza a sua leitura ou através de uma memória EEPROM para mandar estes dados através de um meio de comunicação como Ethernet, Bluetooth ou até mesmo através de um chip por sms ou via internet sempre que o mesmo reconhecer sinal de telefone, porém este sistema de armazenamento possui um limite e caso esteja arquivando muitos dados não é o mais recomendado.
      Qualquer duvida estamos a disposição.
      Att Equipe UsinaInfo

  • Antonio Eduardo
    19 junho 2018 at 19:36
    Deixe seu Comentário

    Efetuei as conexões, coloquei a pilha mas aparece a informação dia não encontrado. No caso usei as portas 4,5 e 6. O que acontece?

    • Equipe Usinainfo
      13 agosto 2018 at 12:53
      Deixe seu Comentário

      Bom dia Antonio! Você alterou somente os pinos físicos ou também lembrou de alterar junto ao código os respectivos pinos alterados?

  • Davidson fellipe pena
    25 setembro 2018 at 19:14
    Deixe seu Comentário

    ola boa tarde o meu apareceu a seguinte msg Arduino: 1.8.6 Hourly Build 2018/06/18 03:33 (Windows 7), Placa:”Arduino/Genuino Uno”

    relogio_com_displ2:1:10: error: #include expects “FILENAME” or

    #include <stdio.h>

    ^

    relogio_com_displ2:2:10: error: #include expects “FILENAME” or

    #include <DS1302.h>

    ^

    exit status 1
    #include expects “FILENAME” or

    Este relatório teria mais informações com
    “Mostrar a saida detalhada durante a compilação”
    opção pode ser ativada em “Arquivo -> Preferências”

    o uqe poderia ser? so copie e colei

    • Equipe Usinainfo
      16 outubro 2018 at 13:29
      Deixe seu Comentário

      Bom dia Davidson!

      Pedimos desculpas pelo ocorrido, infelizmente o nosso código estava com problema no momento de nomear as bibliotecas, problema já foi corrigido e vale ressaltar que as bibliotecas utilizadas precisam estar dentro da pasta libraries do seu programa Arduino.

  • Patrícia
    17 novembro 2018 at 14:37
    Deixe seu Comentário

    No esquemático de ligação, os jumpers dos pinos Clk e Rst estão invertidos quando comparados com o código.

    • Equipe Usinainfo
      28 novembro 2018 at 12:57
      Deixe seu Comentário

      Olá Patrícia!
      Pedimos desculpas pelo equívoco, ambos os modelos estão certos, porém não correspondiam ao mesmos pinos, já corrigimos o código para ficar condicente com a imagem, obrigado pela dica!

  • Edgar De Paulis
    25 maio 2019 at 13:46
    Deixe seu Comentário

    Bom dia,
    Vi este anuncio via youtube e achei que poderia servir para o que eu preciso.
    Seria montar um conjunto de módulos Arduíno especifico para horário onde este sistema teria que …ao invés de monitorar num lcd ou Oled…seria entregar um pulso a um rele, fechando contato e acionando um mostrador de relógio eletromecânico com 32vcc…
    Então….. seria um Arduíno UNO + Módulo Relógio Tempo Real RTC – DS1302 / Código: 05619 + modulo de rele + bateria+ fonte + programa e a cada hora tocar uma musica pré-gravada em modulo Arduíno com saida para amplificador….
    Vcs teriam como verificar se da para configurar estes módulos?
    Gostaria um celular com whatsapp vcs tem?

    • Equipe Usinainfo
      16 julho 2019 at 15:24
      Deixe seu Comentário

      Boa Tarde Edgar!
      O projeto que deseja é totalmente possível, você vai precisar de um Arduíno UNO, um Módulo Relógio Tempo Real, um Módulo Relé, uma fonte de alimentação para o Arduino e outra para o seu equipamento (o modelo e maneira que preferir), uma bateria Bateria CR2032 para o RTC e o programa Arduino compatível com as funções que deseja executar. Caso deseje reproduzir som por sua vez, é necessária a inclusão de um Mini Amplificador de Som, alto-falantes e demais componentes que vão variar com o projeto que irá desenvolver.

  • Mayk Alves Oliveira
    12 maio 2020 at 23:36
    Deixe seu Comentário

    Eu gostaria de saber se é possivel fazer um programa que seja capaz de acionar saidas digitais de reles apartir de um determinado horario com auxilio do modulo ds1302. Alguem poderia me ajudar?

  • Danilo
    5 agosto 2020 at 09:43
    Deixe seu Comentário

    Olá, bom dia

    Estou fazendo um projeto usando o ds1302, onde faço a leitura da hora e em um determinado horario aciono um relê, até ai tudo bem. O que acontece é que do nada a leitura do ds1302 trava no mesmo horario, para de incrementar, oque pode ser? Desde já muito obrigado!

    • Matheus Gebert Straub
      11 agosto 2020 at 11:43
      Deixe seu Comentário

      Bom Dia Danilo! Pode ser algo no código que não esteja conseguindo dar continuidade ao projeto, por exemplo, acionou o relé mas interrompeu o loop neste passo. Pode ser algum problema com a bateria fraca, caso ocorra em outros momentos além dos selecionados para funcionamento do servo, mas recomendo iniciar pelo código.

    Deixe seu Comentário

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões

    Artigos Relacionados