O RTC Arduino ou Real Time Clock é um módulo eletrônico que mantém o controle da hora atual e pode ser usado em qualquer dispositivo que precise manter a hora precisa, sendo desenvolvido a partir de uma pequena placa com alguns componentes, oscilador e uma bateria embutida.
De forma simplificada, é um dispositivo de cronometragem na forma de um Circuito Integrado ou IC, sendo um componente integral de muitos aplicativos e dispositivos críticos de tempo, como servidores, GPS, registradores de dados, etc.
Os RTCs geralmente têm uma fonte alternativa de energia, para que possam continuar a marcar o tempo enquanto a fonte primária de energia está desligada ou indisponível. Eles costumam usar um oscilador de cristal de 32,768 kHz, podendo trabalhar com microcontroladores, como o Arduino, por exemplo.
Além disso, o cristal deve ser pequeno, com largura adequada e consumo reduzido de energia, podendo ser satisfeito com o uso de 32876 Hz. As frequências mais altas são cristais maiores e frágeis, e as frequências mais baixas têm mais consumo de energia do que 32,768KH, por exemplo.
Usar o RTC Arduino para manter o controle da data / hora atual tem muitos propósitos. Um uso para isso é para fins de registro / registro. Por exemplo, uma estação meteorológica Arduino precisa de carimbos de data / hora para registrar dados meteorológicos. Outro exemplo é para um relógio ou calendário digital Arduino.
Os relógios baseados no Arduino usam a hora atual como um cronômetro para lembretes ou para executar um comando programado por meio dos pinos de E / S do Arduino. Dependendo do projeto, ter uma maneira de obter a data e a hora atuais é muito útil.
RTC Arduino / Real Time Clock
Entre as vantagens de utilizar um RTC Arduino podemos destacar:
O RTC Arduino DS1307 é um dos módulos RTCs mais acessíveis e comuns, tendo como características poder controlar com precisão os anos, os meses, os dias, as horas, os minutos e os segundos, entre alguns dos recursos importantes do DS1307 podemos citar:
Pinout RTC Arduino DS1307
O módulo DS1307 tem a capacidade de instalar uma bateria de backup CR2023 de 3 volts. há também uma memória EEPROM 24c32 embutida neste módulo que pode salvar 32kb de dados. Além disso, você pode medir a temperatura ambiente instalando um sensor DS18B20 no local integrado. E você também pode ler a tensão da bateria de backup do pino BAT.
O uso deste módulo é simples, a parte RTC DS1307 se comunica com o microcontrolador usando o protocolo I2C. O circuito:
Interface RTC DS1307 com Arduino
O módulo RTC Arduino dispositivo de relógio em tempo real que usa o DS3231 IC. O DS3231 IC é um RTC muito acessível e extremamente preciso com uma interface I2C. É muito preciso porque usa um oscilador de cristal com compensação de temperatura (TCXO) integrado junto com um cristal.
Para controlar o tempo, mesmo se a fonte de alimentação principal for removida, o DS3231 tem uma bateria de backup montada na parte traseira do módulo. O chip alterna automaticamente entre as fontes de alimentação principal e reserva quando necessário.
Pinout RTC Arduino DS3231
O RTC mantém registro de dados de precisão os anos, os meses, os dias, as horas, os minutos e os segundos. Ele também se ajusta automaticamente para meses com menos de 31 dias e também para anos bissextos. O relógio pode operar nos formatos 24H ou 12H (com AM / PM). Existem também dois alarmes programáveis de hora do dia e também uma saída de onda quadrada programável. A comunicação com o RTC é feita por meio de uma interface I2C com um endereço padrão fixo de 0x68.
Além do chip RTC, este módulo em particular também possui um chip EEPROM 24C32. Um EEPROM é um tipo de dispositivo de armazenamento de dados em que você pode ler / gravar dados. Ele compartilha o barramento I2C do módulo com o DS3231 e tem o endereço padrão de 0x57. Podemos alterar o endereço padrão da EEPROM ligando as almofadas de solda indicadas por A0 , A1 e A2.
Entre os principais funcionalidades dos pinos do RTC Arduino DS3231 podemos citar:
Os pinos SCL , SDA , VCC e GND no lado direito do módulo são conectados internamente nos pinos do lado esquerdo com a mesma etiqueta.
O Arduino pode controlar o tempo com muita precisão usando a função millis (), mas apenas a partir do momento em que foi ligado. Se o Arduino for desligado ou uma reinicialização for feita, o cronômetro do Arduino começa com 0. Este recurso do Arduino não é muito útil no caso de o tempo real ser necessário em projetos do Arduino. Resolvemos este problema usando um módulo Real-Time Clock (RTC).
Um módulo RTC mantém o controle do re um l-tempo, utilizando um mecanismo de relógio interno e uma bateria de longa duração. O módulo vem com uma bateria de íon de lítio de 3V, um cristal de 32 kHz e um chip DS1302 em uma pequena placa com cinco pinos. O chip DS1302 é muito eficiente em termos de energia e pode funcionar com bateria de lítio de 3 V por até 5 anos.
RTC Arduino DS1302
A tensão de alimentação é 5V. O módulo RTC usa o protocolo serial I2C para de comunicação, o que facilita muito a interface deste módulo com o microcontrolador. Apenas dois pinos (CLK e DAT) são necessários para fazer a interface com o Arduino, exceto VCC e GND. Os pinos DAT e CLK são, na verdade, os pinos DAS e SCL necessários para a comunicação I2C, enquanto RST é o pino de reinicialização (opcional).
Onde vamos demonstrar como usar o relógio em tempo real DS1302 com placa Arduino, o chip de cronometragem de carga lenta DS1302 contém um relógio e calendário em tempo real e 31 bytes de RAM estática e sua comunicação com um microcontrolador ou microprocessador por meio de uma interface serial simples. O relógio e calendário em tempo real do DS1302 fornece informações os anos, os meses, os dias, as horas, os minutos e os segundos, onde a data do final do mês é ajustada automaticamente para meses com menos de 31 dias, incluindo correções para anos bissextos. O relógio funciona no formato de 24 ou 12 horas com indicador AM e PM.
Este módulo é muito útil para fazer as coisas rodarem na data e hora, pode ser interface com qualquer microcontrolador ou microprocessador para controlar os eventos. isso também é útil especialmente ao dirigir tempos e execução em um tempo preciso.
A interface do DS1302 com um MCU é simplificada pelo uso de SSC (comunicação serial síncrona). Apenas três fios são necessários para se comunicar com a memória de acesso aleatório ou RAM do relógio do DS1302. O fio necessário será CE (Chip Enable), IO (Input Output Data Line) e SCLK (Serial Clock). do relógio, a RAM tem 1 byte de cada vez ou em uma rajada de até 31 bytes e os dados também podem ser transferidos. Esse chip foi projetado para operar com energia muito baixa e reter dados e informações do relógio em menos de 1uW.
Pinout RTC Arduino DS1302
O diagrama esquemático de fiação acima para o módulo de relógio DS1302 pode suportar duas fontes de alimentação de entrada de tensão 1 e entrada de tensão 2, a tensão é definida como primária e o chip pode lidar normalmente com 3,3 V ~ 5 V, a entrada de tensão 2 também está definida para aceitar o potência primária.
O VCC 1 é configurado para a alimentação de reserva, fornecida pela bateria moeda de 3,3v. O cristal quarts é colocado entre os pinos 2 e 3, os pinos 5 e 7 são atribuídos para a comunicação de dados entre o módulo e o microcontrolador. O módulo também pode lidar com pinos de pulso com modulação, digital, comunicação ou analógico e funcionar bem.