Introdução
Um Real Time Clock (RTC) é um dispositivo que mantém o registro do tempo real mesmo quando o dispositivo principal está desligado. O RTC DS3231 é um dos mais populares RTCs utilizados em projetos de eletrônica e programação.
Neste artigo, você aprenderá o que é o RTC DS3231, para que serve e como utilizá-lo em conjunto com o Arduino.
O que é o RTC DS3231?
O RTC DS3231 é um chip de relógio em tempo real que contém um oscilador de cristal de quartzo, uma bateria interna e circuitos que permitem ao dispositivo manter o registro do tempo real mesmo quando o dispositivo principal está desligado. É uma ótima opção para projetos que exigem precisão no registro de horários e datas.
01 – Real Time Clock DS3231
01 – Bateria CR2032
Especificações:
– Tensão de operação: 3,3-5V
– Computa segundos, minutos, horas, dias da semana, dias do mês, meses e anos (de 2000 a 2099)
– Sensor de temperatura com ± 3 °C de exatidão.
– Chip de memória: AT24C32 (capacidade de 32K bytes que podem ser usadas como RAM extendida 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: 0 a 40°C
– Dimensões: 38 x 22 x 14mm
– Peso: 8g
– Chip: DS3231 (datasheet)
Para que serve o RTC DS3231?
O RTC DS3231 é amplamente utilizado em projetos que requerem a exibição do horário e data atual em um display, assim como em projetos que precisam gravar a data e hora de eventos específicos. Alguns exemplos de aplicações incluem:
- Sistema de controle de acesso com horários restritos;
- Sistema de irrigação com horários pré-determinados;
- Sistema de monitoramento de temperatura com registro de horário;
- Sistema de segurança com gravação de horário em vídeo.
Como utilizar o RTC DS3231 com o Arduino?
Para utilizar o RTC DS3231 com o Arduino, você precisará seguir os seguintes passos:
- Conexões: Conecte o RTC DS3231 ao Arduino seguindo o diagrama de pinagem do chip. Geralmente, os pinos SDA e SCL são conectados aos pinos A4 e A5 do Arduino, respectivamente. Além disso, conecte a bateria CR2032 ao RTC DS3231 para garantir que o relógio continue funcionando mesmo quando o Arduino estiver desligado.
- Biblioteca: Baixe a biblioteca RTClib para Arduino IDE e instale-a. Essa biblioteca é responsável por fornecer funções que permitem que o Arduino leia e grave a hora atual no RTC DS3231. Link da biblioteca aqui. Video como fazer no final deste post!
- Programação: Utilize as funções da biblioteca RTClib para ler a hora atual do RTC DS3231 e exibi-la em um display LCD ou para gravar a hora atual em um arquivo no cartão SD.
Exemplo de código para exibir a hora atual do RTC DS3231 em um display LCD:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <Wire.h> #include <RTClib.h> #include <LiquidCrystal.h> RTC_DS3231 rtc; LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { lcd.begin(16, 2); Wire.begin(); rtc.begin(); } void loop() { DateTime now = rtc.now(); lcd.setCursor(0,0); lcd.print(now.hour()); lcd.print( ":" ); lcd.print(now.minute()); lcd.print( ":" ); lcd.print(now.second()); lcd.setCursor(0,1); lcd.print(now.day()); lcd.print( "/" ); lcd.print(now.month()); lcd.print( "/" ); lcd.print(now.year()); delay(1000); } |
Conclusão
Em resumo, o RTC DS3231 é uma ótima opção para quem precisa manter o registro de horários e datas com precisão em projetos de eletrônica e programação. Com sua fácil integração com o Arduino e sua bateria interna, ele permite que os projetos continuem registrando a hora mesmo quando o dispositivo principal está desligado. Com o conhecimento adquirido neste artigo, você estará pronto para começar a utilizar o RTC DS3231 em seus próprios projetos e criar soluções ainda mais avançadas e precisas.