Componentes eletrônicos, Hobby, Microcontroladores, Microeletrônica, Projetos, Tutorial

Tutorial de Arduino (Parte 10, relógio de tempo real)

Esta é a parte 10 da série de tutoriais de Arduino, serão mostrados o funcionamento de um shield com relógio de tempo real e um exemplo de projeto.

O chip DS3231SN

Estes são os dois lados do shield relógio de tempo real ZS-042. Usa o circuito integrado DS3231SN, que pode mostrar data e hora corretamente.

A bateria de lítio é usada como tensão de backup caso a energia do Arduino for interrompida. Se comunica com o Arduino pelo protocolo I2C. O DS3231SN armazena informações do dia, mês, ano e hora, com correção de ano bissexto até 2100. Tem um oscilador com cristal e compensador de temperatura. Para detectar quedas de energia, um circuito comparador com tensão de referência e compensação de temperatura verifica a tensão de alimentação e envia um sinal de reset para usar a bateria.

Esquemático do módulo

Este é o esquemático do módulo.

O chip AT24C32N de 8 pinos é uma memória EEPROM de 32k, estes são outros componentes externos. O 1 é o indicador de que o módulo está ligado, 2 é um conjunto de resistores e o 3 é um circuito de proteção contra excesso de tensão com diodo zener.

Além dos pinos de alimentação VCC e GND, outros pinos são:

  • 32K: A saída do oscilador de 32 kHz.
  • SQW: Saída opcional do sinal de onda quadrada.
  • SCL: Pino de clock do I2C.
  • SDA: Pino de dados do I2C.

Projeto com relógio de tempo real (RTC)

Como conectar o módulo RTC com o Arduino Uno? Tem que ligar o SCL na entrada analógica 5 e o SDA na entrada analógica 4. Se a sua bateria for CR2032, como é a minha, o VCC deve ficar em 3.3V, pois esta bateria não é recarregável.

Se a placa for o Arduino Mega, SDA deve ficar ligado na porta digital 20 e o SCL na porta digital 21. Na placa Leonardo, SDA é na porta digital 2 e SCL na digital 3. Antes de escrever o código, é necessário baixar a biblioteca RTClib, clique neste link. Pegue o código que vem com a biblioteca. Para abrir este exemplo, faça como mostra o vídeo abaixo.

Este é o código completo do exemplo com DS3231.

Você deve ver isto na tela serial.

About Pedro Ney Stroski

2 thoughts on “Tutorial de Arduino (Parte 10, relógio de tempo real)

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *