Aprenda a utilizar o módulo RTC17 DS1307

modulo-RTC-DS1307
Font Size

Olá Makers, no projeto de hoje criaremos um alarme por tempo com o arduino. Neste post vamos apresentar um tutorial de como conectar o módulo RTC DS1307 com um Arduino Uno, e mostraremos todas as informações de data e hora no Serial Monitor da IDE Arduino. Bacana né, com esse módulo podemos fazer vários projetos como um despertador, ou colocar o arduino para desligar uma TV a partir de tal horário por exemplo, então antes de por a mão na massa vamos conhecer melhor o módulo?

Veja também Como Utilizar o módulo de Áudio YX5300

Módulo RTC

A sigla RTC significa Real Time Clock, ou seja, um Relógio de Tempo Real (RTC), o Tempo Real quer dizer que esse relógio quase nunca é perdido, ao contrário do arduino só em sí, quando desconectado ele armazena e conta as horas e datas, por isso uma pequena pilha para alimentar o circuito mesmo quando ele for desligado.

Uma outra coisa bem legal desse módulo é que ele tem um suporte para o sensor de temperatura DS18B20, o que simplifica bastante o circuito caso queira implementa-lo.

Especificações:

– Chip: DS1307
– 56 bytes de SRAM que podem ser usadas como RAM estendida do microcontrolador.
– Interface I2C
– Circuito de detecção de falha de energia.
– Consome menos de 500nA no modo bateria com oscilador em funcionamento.
– Faixa de temperatura: -40°C a +85°C.
– Dimenões: 2.9×2.6cm.

Figura 01 – Módulo RTC

Agora que já conhecemos todos o módulo que vamos utilizar, vamos lá montar o circuito

Circuito do projeto:

Conectaremos os pinos do módulo RTC da seguinte maneira:
SDA – pino 2
SCL – pino 3
VCC – 5v
GND – gnd

O Circuito final ficará da seguinte forma:

Figura 02 –  Circuito com o arduino e o módulo RTC

Conseguiu? Bom então agora vamos para a melhor parte, programar 😛

Programação do módulo RTC DS1307

Antes de tudo é fundamental instalar a biblioteca do módulo RTC, pois sem ela seria extremamente difícil conseguir ter acesso aos dados do módulo, então baixe ela nesse link, e extraia na pasta libraries da sua IDE arduino.

//Programa : Aprendendo a utilizar o módulo RTC17 DS1307
//Autor : Saulo Alexandre - Autocore Blog

#include <DS1307RTC.h>

//Definindo as portas utilizadas
// SCL <- 3
// SDA <- 2
DS1307 rtc(2, 3);

void setup()
{ 
 //Definicoes do pino SQW
 rtc.setSQWRate(SQW_RATE_1);
 rtc.enableSQW(true);
 
 rtc.setTime(10, 20, 0); //Definir o horario
 rtc.setDate(16, 9, 2017); //Definir o dia, mes e ano
 rtc.setDOW(FRIDAY); //Definir o dia da semana (em ingles e em maiusculo)
 
 
 //definindo a velocidade do serial
 Serial.begin(9600);
}

void loop()
{
 //Imprime a hora
 Serial.print("Hora : ");
 Serial.print(rtc.getTimeStr());
 
 //Imprime a data
 Serial.print(" - - Data : ");
 Serial.print(rtc.getDateStr(FORMAT_SHORT));
 
 //Imprime o dia
 Serial.print(" - - It is : ");
 Serial.println(rtc.getDOWStr(FORMAT_SHORT));
 
 //Atualiza a cada segundo
 delay(1000);
}

Conclusão

O projeto final ficou como queríamos, vejam só o vídeo:

Teve alguma dúvida, comentário ou observação? coloque aqui em baixo nos comentários!

Posts relacionados

Acionando Cargas por Palmas

por Danilo Nogueira
4 anos ago

Corrigindo o efeito bouncing com Arduino

por Danilo Nogueira
6 anos ago

Acessando a Raspberry Pi remotamente: SSH e VNC

por Artur Rodrigues
4 anos ago
Sair da versão mobile