Módulo RTC com NodeMCU
Neste artigo iremos aprender a utilizar o módulo RTC com o NodeMCU, para acompanhar este artigo iremos necessitar dos seguintes artigos:
Neste artigo, iremos criar um servidor capaz de monitorizar a temperatura e humidade de uma divisão usando o NodeMCU esp8266 com o DHT11.
Para acompanhar este tutorial precisará dos seguintes artigos:
| Imagem | Produto | Comprar |
|---|---|---|
|
|
NodeMcu Esp8266 |
|
|
|
Módulo RTC |
|
|
|
Cabos Jumper Macho-Femêa |
Sobre RTC
O Relógio Digital DS3231 (“Real Time Clock” ou RTC) é um relógio de tempo real de alta precisão e de baixo consumo de energia. Na placa está embutido um sensor de temperatura e um cristal oscilador para melhorar a sua precisão. Este módulo DS3231 é capaz de fornecer informações como segundos, minutos, dia, data, mês e ano. Correções como meses com menos de 31 dias e anos bissextos são corrigidos automaticamente e pode operar tanto no formato 12 horas como 24 horas
Em caso de falha de energia o DS3231 aciona automaticamente a bateria que acompanha o módulo para evitar perda de dados. O endereço e as informações são transferidas via protocolo I2C.

Especificações
- Tensão de operação: 3,3-5V;
- Chip: DS3231;
- Indica segundos, minutos, horas, dias da semana, dias do mês, meses e anos;
- Sensor de temperatura com ± 3 °C de precisão;
- Chip de memória: AT24C32 (capacidade de 32K bytes que podem ser usadas como RAM extendida do microcontrolador);
- Interface I2C;
- Circuito de deteçã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.
Esquema de Montagem

Código Utilizado
#include <Wire.h>
#include <RtcDS3231.h>
RtcDS3231<TwoWire> Rtc(Wire);
void setup()
{
Serial.begin(115200);
Rtc.Begin();
RtcDateTime tempoatual = RtcDateTime(__DATE__,__TIME__);
Rtc.SetDateTime(tempoatual);
}
void loop()
{
RtcDateTime instante = Rtc.GetDateTime();
char valores[20];
sprintf(valores, "%d/%d/%d %d:%d:%d",
instante.Year(),
instante.Month(),
instante.Day(),
instante.Hour(),
instante.Minute(),
instante.Second()
);
Serial.println(valores);
delay(20000);
}
Para mais projetos, percorram o nosso blog, onde podem encontrar vários artigos interessantes relacionados com electrónica, robótica e muito mais! Visitem também o nosso site, onde encontram tudo para eletrónica e robótica!



