Boa tarde, galera.

Estou com um pequeno problema em meu projeto. Tenho que colher a hora através de RTC para pegar esses dados e jogar na minha lógica fuzzy. Porém os dados saem assim (xx:xx:xx) e para rodar teria que ser (xx.xx.xx). Tentei entrar na biblioteca do rtc ds3231 e alterar por lá, mas não deu certo. Se alguém puder ajudar, agradeço. Segue o exemplo que estou usando.

#include <DS3231.h>
DS3231 rtc(SDA, SCL);

void setup()
{

Serial.begin(9600);
rtc.begin();
//rtc.setTime(15, 22, 0);
//rtc.setDate(7, 10, 2019);
}

void loop()
{

Serial.print(rtc.getDateStr());
Serial.print(" -- ");
Serial.println(rtc.getTimeStr());
delay (1000);
}

Exibições: 832

Responder esta

Respostas a este tópico

Beleza. Vou olhar agora.

Amigo José Cintra, 

Tutorial completo! Muito bom! 

Olá Murta,Obrigado!

Quero aproveitar e parabenizá-lo pelos artigos que tem escrito no seu blog (https://jgamblog.wordpress.com/) e no blog da Eletrogate (https://blog.eletrogate.com/author/gustavo/).

Muito bons!

Obrigado, amigo! 

Valeu Jose Augusto.

Acabei usando essa do seu blog. Deu certo, o código tá rodando.

Agradeço a ajuda.

Bom dia MFB,

Por questões de princípios evito ajudar em tópicos onde se colam o código na área de texto do mesmo,

mas como o seu código é pequeno e não contem caracteres que somem ao postar,

resolvi abrir uma das minhas exceções.

Lendo seu tópico, verifiquei que já resolveu sua dificuldade.

Mas fiquei curioso porque não conseguiu alterar a biblioteca.

Se modificar apenas 2 linhas na biblioteca,  ela atenderá sua necessidade sem ter que fazer

malabarismos no seu código.

Baixei sua biblioteca para confirmar que era igual a minha, a qual usei para os testes.

As linhas a serem modificada são a 137 e a 143 do arquivo DS3231.cpp.

Originalmente elas são assim:  

137   output[2]=58;

143    output[5]=58;

este valor 58 é o carácter ": " hexa 0x3A.

Se você alterar para:

137   output[2]=46;

143    output[5]=46;

este valor 46 é o carácter ". " hexa 0x2E.

Ao usar a função " Serial.println(rtc.getTimeStr()); ", terá o seguinte retorno " 11.29.39 "  conforme você deseja.

RV

Olá Rui, Tudo bem? Feliz em falar com você novamente.

Eu não acho boa prática alterar bibliotecas pelo seguinte:

A libs controladas pelo gerenciador de bibliotecas do Arduino muitas vezes são atualizadas periodicamente. E , muitas vezes, para corrigir problemas em outros pontos do código. Dessa forma, o arquivo alterado pode ser sobreposto.

Você fica amarrado. Ou não permite a atualização da biblioteca. Ou permite e altera o código de novo.

Precisa ter um bom controle das bibliotecas que vc alterou.

Por isso acho melhor alterar o código principal ou adotar outra biblioteca que tenha tudo que você precisa, sem alterar nada.
Não sei se esse é o caso dessa biblioteca.

O que você acha?

Boa tarde JAC.

tudo bem obrigado.

E com você por aí?

Visitei seu blog e achei muito legal.

Sob o aspecto de atualização vc tem toda razão.

O objetivo na postagem foi mostrar a possibilidade e alterar a biblioteca sob o olhar de

como ela define o :.

Abraços.

RV

Sim. Vamos esperar o Matheus dizer porque não conseguiu alterar a lib.

Matheus, as libs do Arduino costumam ser instaladas na pasta Documentos\Arduino. Foi lá que você alterou a Biblioteca?

Uma outra sugestão é alterar o nome da biblioteca. 

Dessa forma essa seria uma Biblioteca única e pessoal. 

Boa noite, RV e José. 

Com relação à biblioteca, não conseguir alterar, pois não sabia desses parâmetros que o RV falou. Mas sim, entrei na pasta Arduino em documentos e tentei editar o arquivo .cpp. Mas acabei usando a biblioteca que tem no blog do José, achei mais simples de alterar. Agradeço a ajuda de vocês. Só falta montar agora o carregador para minha bateria e o projeto acaba. 

Boa noite, 

Talvez possa ser útil - meu tutorial:

https://jgamblog.wordpress.com/2017/01/05/projeto-carregador-de-bat...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço