ESP32 - Módulo RTC DS1307
Neste guia, vamos aprender a usar o módulo RTC DS1307 com o ESP32. Em detalhes, vamos ver os seguintes tópicos:
- Como conectar o módulo RTC DS1307 ao ESP32.
- Como programar o ESP32 para ler a data e a hora do módulo RTC DS1307 (segundos, minutos, horas, dia, data, mês e ano)
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Módulo de Relógio de Tempo Real DS1307
O próprio ESP32 tem algumas funções relacionadas a tempo, como millis() e micros(). Porém, elas não fornecem a data e a hora (segundos, minutos, horas, dia, data, mês e ano). Para obter a data e a hora, precisamos usar um módulo de Relógio de Tempo Real (RTC), como o DS3231 ou o DS1307. O módulo DS3231 tem precisão maior que o DS1307. Veja DS3231 vs DS1307
Pinagem
O módulo de Relógio de Tempo Real DS1307 tem 12 pinos. Porém, para uso normal, basta usar 4 pinos: VCC, GND, SDA, SCL:
- Pino SCL: é o pino de clock da interface I2C.
- Pino SDA: é o pino de dados da interface I2C.
- Pino VCC: alimenta o módulo. Pode receber qualquer tensão entre 3.3V e 5.5V.
- Pino GND: é o pino de terra.

O módulo DS1307 também tem um suporte para bateria.
- Se você colocar uma bateria CR2032, o módulo continua contando o tempo quando a alimentação principal está desligada.
- Se você não colocar a bateria, a informação de tempo é perdida quando a alimentação principal é desligada e você precisa acertar o horário novamente.
Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.
ESP32 - Módulo RTC DS1307
| Módulo RTC DS1307 | ESP32 |
|---|---|
| Vin | 3.3V |
| GND | GND |
| SDA | GPIO21 |
| SCL | GPIO22 |
Como Programar o Módulo RTC DS1307
- Inclua a biblioteca:
- Declare um objeto RTC:
- Inicialize o RTC:
- Na primeira vez, ajuste o RTC para a data e a hora do PC em que o sketch foi compilado
- Leia as informações de data e hora do módulo RTC
Código ESP32 – Como obter data e hora
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente do ESP32 na Arduino IDE.
- Faça a ligação como na imagem acima.
- Conecte a placa ESP32 ao seu PC por um cabo micro USB
- Abra a Arduino IDE no seu PC.
- Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
- Abra o Library Manager clicando no ícone Library Manager na barra de navegação esquerda da Arduino IDE
- Pesquise “RTClib” e encontre a biblioteca RTC da Adafruit
- Clique no botão Install para instalar a biblioteca RTC.

- Pode ser que a Arduino IDE peça para instalar as dependências da biblioteca
- Instale todas as dependências da biblioteca clicando no botão Install All.

- Copie o código acima e cole na Arduino IDE
- Compile e faça o upload do código para a placa ESP32 clicando no botão Upload da Arduino IDE
- Abra o Serial Monitor na Arduino IDE
- Veja a saída no Serial Monitor.