Olá pessoal. Vou descrever o problema e agradeço, desde já, se alguém puder me ajudar. Estou usando o módulo citado juntamente com um display LCD. Tudo funciona normalmente quando carrego o sketch. Ele atualiza data e hora e continua funcionando normalmente. Não esqueço de comentar a linha de ajuste.  Porém quando desligo o módulo e o LCD, e ligo novamente,  ele não retorna com a data atual e nem a hora e sim as últimas que foram ajustadas. Já verifiquei a carga da bateria e está ok. Como não é uma bateria recarregável, liguei na tensão de 3,3 V. do Arduíno. Espero que tenha sido claro na minha explicação. E novamente agradeço a atenção de vocês. Muita PAZ a todos e um grande abraço.  Márcio Araújo.

Exibições: 342

Responder esta

Respostas a este tópico

Olá, Márcio!

   Em primeiro lugar, sugiro uma olhada no tópico Como postar, por minerin RV <-- LINK

   Inclusive o RV já solucionou problemas de outros garagistas com este módulo, mas ele teve acesso ao código para ver o que estava errado e sugerir a correção, que funcionou.

   Portanto, se você se dispuser a fornecer mais informações, acho que fica mais fácil.

D.T. Ribeiro.

Olá, D.T. Ribeiro, obrigado pelas dicas. Antes de postar, eu só não dei uma "olhada", como li atentamente o tópico do mineirin RV. Também fiz questão de ler os outros problemas, mas nenhum se enquadra no que eu estou tendo. Não enviei o código porque , com certeza, o problema não está nele. Pois quando  ligo e atualizo o RTC ele funciona normalmente até ser desligado. O problema, como disse, é quando ligo novamente. Ele não mostra o horário atualizado. Muita PAZ a todos e um grande abraço. 

Márcio Araújo.

Boa tarde,

Envie o link do módulo que está usando. 

"Como não é uma bateria recarregável, liguei na tensão de 3,3 V." 

Não entendi isso. Qual bateria está usando?

O que você ligou na tensão de 3,3V do Arduino? 

Bom dia, Jose Gustavo.

Estou usando a bateria CR2032, que veio junto com módulo.  Ela está com carga de 2,8 V.

Na tensão 3.3 V. do Arduino eu liguei o VCC do módulo. Estou anexando o código. 

Muita PAZ a todos e um grande abraço. 

Márcio Araújo.

Bom dia Márcio, 

Você não enviou o link do seu módulo.

Sua bateria esta descarregada! (2,8V). 

Os módulos RTC normalmente devem ser conectados em 5V. Qual módulo usou? 

Oi José Gustavo. Eu anexei o arquivo. Como descarregada? A carga dela é de 3V!! É o módulo DS 3231.

Mas como a bateria não é recarregável eu liguei no 3,3 V. É a informação que tenho. Isso procede?

Um abraço.

Boa tarde,

Não estou encontrando esse arquivo em anexo que indica o modelo do RTC usado.

Pode enviá-lo novamente?

pilha CR2032: 

nova = 3,3V 

normal = 3,0V 

descarregada = 2,8V 

Você esta alimentando todo o módulo com a pilha? Mostre fotos nítidas da sua montagem. 

Você não pode e não deve conectar a pilha diretamente numa fonte de tensão de 3,3V. 

Ela não é recarregável como disse. 

Olá José Augusto. Só hoje pude responde-lo. Como não estou conseguindo anexar o arquivo, colei o código aqui. Me desculpe por isto. Como disse o relógio e o calendário funcionam normalmente, o problema é que quando desligo e religo ele não traz a hora atual e sim a última atualização. Abraço.

//Relógio digital - Tempo Real
//****************************
//Módulos usados
//RTC DS3231
//Display LCD 16 x 2-I2C
//****************************
//Ligação do DS3231
//GND-GND
//VCC-3,3V
//SDA-A4
//SCL-A5
//Ligação do DISPLAY
//GND-GND
//VCC-5V
//SDA-A4
//SCL-A5
//***************************
#include <Wire.h>
#include "RTClib.h"
#include <LiquidCrystal_I2C.h>
RTC_DS3231 rtc;
#define endereco 0x27
#define colunas 16
#define linhas 2
LiquidCrystal_I2C lcd(endereco, colunas, linhas);
char daysOfTheWeek[7][12] = {"Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab"};
char month [12][12] = {"Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"};
void setup () {
lcd.init();
lcd.backlight();
lcd.clear() ;
rtc.begin();
//rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
void loop () {
DateTime now = rtc.now();
lcd.setCursor(0,0);
lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
lcd.print(' ');
if (now.day()<10){
lcd.print('0');
}
lcd.print(now.day(), DEC);
lcd.print(' ');
lcd.print(month[now.month()]);
lcd.print(' ');
if (now.hour()>10){
lcd.setCursor(11,0);
lcd.print('0');
}
lcd.setCursor(11,0);
lcd.print(now.hour(), DEC);
lcd.print(':');
if (now.minute()<10){
lcd.print('0');
}
lcd.print(now.minute(), DEC);
}

Bom dia, 

Minhas sugestões = Use outra biblioteca e outro programa:

https://portal.vidadesilicio.com.br/real-time-clock-rtc-ds3231/

Olá Marcos, bom dia,

    Cara, eu comprei alguns modulos desses e alguns vieram com problemas, logo, como seu codigo não apresenta no VOID SETUP a clausula para alterar a data, já que você a comentou, e mesmo assim ele não segura a data,  a primeira coisa obviamente é trocar a bateria,  pois essas 2032 podem apresentar problemas mesmo apresentando tensão.     

    Se não for isso, tenta outro modulo,  e vê se no outro da o mesmo problema.

    Eu geralmente faço teste desses modulos fora dos circuitos, ou seja, eu plugo eles em um arduino UNO,  carrego um codigo padrão do exemplo da biblioteca do proprio modulo, em geral que me traga uma leiruta no monitor serial,   desplugo, aguardo, plugo de novo e vejo o resultado,  se der pau, troco a bateria,   se mesmo assim continuar dando pau, eu troco o modulo.

Weider, bom dia.

Tenho dois módulos RTC DS3231.

Um veio com uma bateria recarregável LIR 2032- OK

E o outro veio com uma bateria comum CR2032. Errado! 

O cicuito do módulo carrega a pilha. E uma pilha comum não pode recarregada! Chinês é foda....

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço