Módulo RTC:o guia absoluto para um projeto fácil
Você tem um dispositivo eletrônico que requer cronometragem precisa? Ou seu projeto exige que você conte segundos, minutos, horas e até meses?
Bem, se você não sabe como fazer isso, não se preocupe, você está no lugar certo. Projetos que envolvem cronometragem, mesmo quando não há energia, podem ser complicados. Felizmente, nós cobrimos você.
Tudo o que você precisa é de um módulo de relógio em tempo real (RTC). Então, neste artigo, veremos tudo sobre o módulo RTC e mostraremos como fazer um projeto fácil usando o circuito do módulo RTC.
Você está pronto? Então, vamos começar!
O que é um módulo RTC?
Módulos RTC
Um relógio em tempo real (RTC) é um módulo de relógio de circuito integrado geralmente encontrado em computadores, servidores ou sistemas embarcados modernos. Além disso, o módulo RTC tem um propósito; cronometragem.
Este dispositivo pode contar segundos, minutos, horas e anos. Além disso, é capaz de lidar com várias aplicações de manutenção de tempo com precisão.
Como funciona o módulo RTC?
Como os RTCs têm funções tão importantes, ele mantém o tempo mesmo quando o sistema está desligado. Por esse motivo, um RTC pode servir como um gatilho para ligar um sistema em eventos como despertadores ou energia programada encontrada em dispositivos móveis.
Como os RTCs conseguem isso? Bem, este circuito integrado funciona com uma fonte de energia diferente daquela que alimenta seu sistema. Assim, o RTC pode operar continuamente em situações de baixa potência ou falha de energia. Além disso, você só precisa de um pouco de corrente para executar o RTC.
Além disso, os módulos RTC mais antigos apresentavam baterias de lítio como fontes alternativas de energia, enquanto as versões mais recentes usam supercapacitores ou baterias auxiliares. Agora, existem diferenças entre os dois CIs RTC.
Os módulos de relógio em tempo real com supercapacitores possuem recursos recarregáveis e você pode soldá-los ao seu circuito. Por outro lado, RTCs com baterias auxiliares são mais comuns, pois você pode encontrá-los na maioria das placas-mãe de nível de consumidor. Nesse caso, o RTC recebe energia de uma única bateria. Então, quando você remove esta bateria, ele redefine o RTC e o envia de volta ao seu ponto de partida.
Além disso, os módulos de relógio em tempo real utilizam osciladores de cristal para regular o tempo. Assim, eles são diferentes dos relógios de hardware comuns, pois não precisam de sinais de relógio.
Recursos e especificações do módulo RTC DS3231
Aqui estão os recursos e especificações do módulo DS3231:
Recursos
- O módulo DS3231 RTC é capaz de contar em segundos, minutos, horas, dias, meses e anos
- Não precisa de alta potência para operar
- Ele usa uma bateria CR2032 para alimentação de reserva. A bateria pode durar até três anos.
- Tem um tamanho pequeno
- Você pode usar o módulo DS3231 RTC como um registro para trim de envelhecimento
- Você pode programar a saída de onda quadrada deste módulo
- Ele vem com um sensor de temperatura digital com precisão extra de 3°C
- O módulo RTC usa uma interface I2C de 400Khz
- Também tem dois alarmes de hora do dia
- A precisão deste módulo RTC é:+3,5ppm a -3,5ppm para -40°C a +85°C, +2ppm a -2pmm para 0°C a +40°C
- Ele muda automaticamente para a energia da bateria sempre que há uma falha de energia
Especificações
- O módulo DS3231 RTC opera na seguinte tensão:2,3v – 5,5v
- Você pode usar este módulo RTC em baixas tensões
- Com bateria, consome apenas 500mA
- A tensão máxima SDA e SCL é VCC =0,3V
- Tem uma temperatura operacional de -45°C a +80°C
Aplicativos
Aqui estão alguns casos a serem considerados ao entender os aplicativos do DS3231:
- Se você estiver preocupado com problemas de consumo de energia em seu circuito, o DS3231 não requer grandes quantidades de energia para funcionar. Assim, você pode usar este módulo em aplicativos de sistema móvel ou periféricos de computador.
- Apesar de uma tonelada de módulos RTC no mercado, o DS3231 é conhecido por sua precisão de alto nível. Então, se você está procurando uma hora e data precisas para o seu projeto, o DSC3231 tem o que você precisa. O DS3231 é capaz de manter o tempo atualizado do que outros módulos RTC.
- Nos casos em que você precisa de comunicação de alta velocidade, o módulo DS3231 RTC pode se comunicar com qualquer interface TWI rápida, tornando-o o ideal para aplicativos como robótica, jogos e aplicativos de servidor.
- Além disso, você pode usar o DS3231 por métodos de 12 e 24 horas para encontrar aplicativos, especialmente em aplicativos de GPS.
- Ele tem alguns atributos de despertador e sensores de temperatura que o tornam mais útil para vários outros aplicativos, como aplicativos de medidores de energia elétrica.
Configuração do pino RTC DS3231
Configuração do pino RTC do DS3231
O DS321 tem seis terminais. No entanto, não é obrigatório usar dois desses pinos. Assim, temos principalmente quatro terminais ou pinos. E você pode vê-los no lado adicional do módulo. Aqui está a configuração de pinos do módulo DS3231 RTC:
NOME DO PIN | DESCRIÇÃO |
VCC | Conecta-se ao terminal positivo da fonte de energia |
GND | Conecta-se ao solo |
SDA | O pino dos dados seriais (interface I2C) |
SCL | O pino do relógio serial (interface I2C) |
SQW | O pino da saída de onda quadrada |
32K | A saída do oscilador de 32k |
Como usar o módulo RTC DS3231
Você só pode se comunicar com o módulo DS3231 RTC por meio da interface I2C. A interface I2C trata os dados enviados e recebidos do DS3221. Assim, você pode obter qualquer informação de hora e data através do I2C.
DS3231 e I2C
Além disso, a transmissão entre o módulo e o I2C é complexa. Além disso, a comunicação ocorre em formato de byte. Assim, seria melhor se você usasse bibliotecas escritas especificamente em relação ao DS3231. Por quê? Bem, o uso de bibliotecas melhora a comunicação. Assim, você pode fazer download das bibliotecas do DS3231 e usar programas para chamá-las.
Assim, depois de incluir o arquivo de cabeçalho, o controlador começa a se comunicar e mostra a hora e a data. Além disso, você pode usar essas bibliotecas para controlar e definir o alarme com facilidade.
Além disso, quando há pouca ou nenhuma energia, o módulo RTC automaticamente consome energia da bateria, permitindo que o chip forneça dados e tempo precisos continuamente. Uma vez que o sistema reinicie, a comunicação entre o controlador e o módulo pode continuar sem erros.
Projeto:Arduino Calendar Clock
Nesta seção, aprenderemos como usar um relógio de tempo real com Arduino e construir um projeto de relógio de calendário Arduino.
Projeto de circuito
Aqui está o design do simples relógio de calendário Arduino usando o módulo DS3231 RTC. Por causa do IC2, conectamos todos os dispositivos a um barramento comum que consiste em apenas quatro fios:
Diagrama de circuito do relógio de calendário do Arduino
Componentes necessários
Aqui estão os materiais necessários para este projeto:
- (1) Arduino Uno
- (1) Protoboard
- (1) LCD de caracteres I2C 16×2
- Fios de ligação
- (1) Módulo de relógio em tempo real DS3232
Código
Aqui, usaremos bibliotecas e criaremos funções personalizadas para tornar a criação de nosso código mais fácil e legível. Assim, este projeto fará uso das seguintes bibliotecas:
- Fio. h biblioteca para a interface I2C
- Biblioteca LiquidCrystal_I2C.h (por Frank de Brabander) para o módulo LCD I2C 16×2
- Biblioteca RTClib.h (da Adafruit) para o módulo DS3231 RTC
Depois de baixar essas bibliotecas, adicione-as ao seu código por meio do #include palavras-chave. Então, com isso, vamos definir dois objetos. O primeiro é o lcd() e o outro é o rtc. Esses dois objetos ajudarão na comunicação com os módulos LCD e DS3231.
Código para LCD() e rtc
Em seguida, crie duas funções personalizadas para que você possa gerenciar facilmente seu código. O updateRTC() é a primeira função que você codificará. É a função que solicita ao usuário a data e hora atuais e atualiza o relógio interno do RTC com a entrada.
Código para updateRTC()
Em seguida, crie duas funções personalizadas para que você possa gerenciar facilmente seu código. O updateRTC() é a primeira função que você codificará. É a função que solicita ao usuário a data e hora atuais e atualiza o relógio interno do RTC com a entrada.
Código para updateRTC()
A próxima função que você criará é a função updateLCD(). Ele é responsável por atualizar o texto que o LCD exibirá.
Código para updateLCD() 2
O último passo para criar nosso código é adicionar as funções normais do Arduino:setup() e loop(). Aqui estão os códigos para as duas funções:
Código para configuração()
Código para loop()
Por fim, faça o upload do seu código e seu Arduino Uno deve começar a exibir a data e a hora no LCD.
Arredondando
O módulo RTC é um método barato e simples de adicionar recursos de cronometragem ao seu circuito. O que mostramos é apenas um arranhão na superfície. Se você mexer mais nele, encontrará muitas outras maneiras divertidas de usar este módulo.
Vale ressaltar que se você não encontrar o DS3231 no mercado, o DS12C997 e o DS1307 são equivalentes dignos. Além disso, para o projeto Arduino mencionado acima, você pode usar seu monitor serial para modificar a data e a hora do seu projeto. Tudo o que você precisa fazer é digitar a letra “U” e seguir as instruções. Isso completa este artigo. Se você tiver alguma dúvida, sinta-se à vontade para entrar em contato conosco, e ficaremos felizes em ajudá-lo.
Tecnologia industrial
- Automação industrial:um guia para o OEM
- Robôs industriais:o guia nº 1 de robótica para todas as indústrias
- O guia definitivo para uma estratégia de marketing de 2021 para empresas de manufatura
- Mídia social para fabricantes:o guia definitivo [e-book]
- Navegando no Velho Oeste do E-Commerce:Um Guia para Distribuidores B2B
- O guia definitivo para paletizadores robóticos
- Guia de segurança do trabalhador para a indústria de manufatura
- Ultiboard – O melhor guia para iniciantes
- Protocolo de comunicação Bluetooth – O melhor guia de protocolo para alunos
- Os benefícios do jateamento para seu projeto de fabricação de metal personalizado