Utilizando o RTC com o Arduino

179 views

Hoje aprenderemos como utilizar o RTC (Real Time Clock) com o Arduino Uno e suas aplicações.

O que é um RTC?

RTC (Real Time Clock)

Para projetarmos sistemas automatizados que nos auxilie no dia a dia provavelmente será necessário que o mesmo esteja sincronizado com o tempo e para isto será preciso um relógio. O uso do RTC, que é um relógio de tempo real, é extremamente importante para este tipo de aplicação, pois o microcontrolador, qualquer que seja deve estar alinhado com o tempo.

Como já foi citado, o Real Time Clock é um relógio de tempo real onde é possível fazer a aquisição dos valores de data e hora, assim caso necessitamos de um sistema onde o controle é feito através de um determinado tempo, este componente será de grande utilidade.

Real Time Clock DS3231

O RTC que trabalharemos neste post utiliza o chip DS3231, que nada mais é um relógio de alta precisão, com baixo consumo de energia que nos fornece informações de segundos, minutos, horas, dia e mês e que se ajusta automaticamente para meses com menos de 31 dias. Além disso, é possível operar no sistema 24 ou 12 horas utilizando o formato AM/PM. O sistema de comunicação é feito pelo protocolo I2C.

Neste post utilizaremos os seguintes pinos:

VCC: alimentação positiva com mínimo de 2.3V e máximo de 5.5V;

GND: pino terra do sistema;

SDA (Serial Data): será ligado ao pino SDA do Arduino Uno (A4). Permite a troca de dados entre o mestre e escravo de forma não simultânea;

SCL (Serial Clock Line): sinal de clock gerado pelo mestre para sincronismo de comunicação. Será ligado ao pino SCL do Arduino Uno (A5).

Existem várias aplicações com o Real time clock como, por exemplo, em relógios digitais, hoje existentes em vários eletrodomésticos e em computadores. Todo RTC possui uma bateria para manter o tempo atualizado, pois sem a mesma este tempo poderia ser reinicializado ao desligar e ligar o sistema.

Circuito

Segue abaixo o circuito Real Time Clock com o Arduino:

Circuito completo RTC (Real Time Clock) com Arduino Uno

Materiais Necessários:

1 Unidade – Arduino Uno;

1 Unidade – Real Time Clock DS3231;

1 Unidade – Kit Jumper Macho – Fêmea.

Programação

O programa abaixo tem como função fazer a aquisição das informações de data e hora e enviar para o monitor serial.

Explicando a Programação

Primeiramente foram incluídas as bibliotecas de comunicação I2C e do RTC DS3231 e em seguida foram criados os objetos DS3231 RTC e RTCDateTime data este último manipulará a data e hora.

Em seguida foi iniciada a comunicação serial e o RTC. A função RTC.setDateTime (__DATE__, __TIME__inicializará os valores de data e hora assim que o código for compilado.

O trecho acima mostra a aquisição de data e hora data = RTC.getDateTime() e as enviando para o monitor serial.

Seguem as informações no monitor serial:

Motor Serial RTC com Arduino

Que tal acrescentar um display LCD ou até controlar o acionamento de um dispositivo em um determinado horário?

Esperamos que tenham gostado deste tutorial. Para tirar dúvidas e sugestões, deixe um comentário abaixo. Obrigado e confira outros produtos em nossa loja!

 

 

(Visited 176 times, 5 visits today)