Pessoal, veja se alguém consegue me ajudar.... tentarei explicar meu problema...

Pretendo tratar os dados de um determinado sensor da seguinte forma:

(pode ser qualquer um, mas no caso estou utilizando um sensor hall em conjunto com um motor DC com uma hélice imantada para simular uma vazão).

Quero que fique registrado na memória (utilizarei um SD Card Shield) o seguinte conteúdo:

- Dados acumulados por período, no caso, 30 dias.

Pensei em fazer da seguinte forma:

Criar um vetor com 30 posições - utilizando a função millis() (estoura aproximadamente depois de 50 dias) armazenar consecutivamente o valor obtido do sensor a cada dia.

Exemplo:

posição 1 - 20 litros (dia 1)

posiçao 2 - 34 litros (dia 2) e assim por diante até a posição 30...

Ou seja, ele conta o valor acumulado durante 24 horas (86400000 ms), guarda numa posição do vetor e zera o valor do sensor. Assim se repete para as 30 posições.

Após executar esses passos na 30ª posição, além de zerar a variável do sensor ele zera a função millis().

E tudo isso sendo armazenado num SD.

Alguém consegue ajudar?

Agradeço desde já!

Longevidade e força à todos!

obs: Estou escrevendo isso do trabalho, posteriormente posto o que já tenho do sketch.

Exibições: 516

Responder esta

Respostas a este tópico

Poste seu código, pois assim fica mais fácil de te ajudar.

Resetar o millis não é uma operação trivial. Eu particularmente não aconselho. Mas se quiser tentar veja esse link:

https://tomblanch.wordpress.com/2013/07/27/resetting_millis/

Não conheço a lógica do seu código, mas não seria melhor usar um módulo RTC (relógio)?

José,

Meu código está incompleto, mas postarei o que tenho.

Nunca utilizei o RTC, facilitaria esta aplicação?

Obrigado meu caro!

Como o José Augusto disse, resetar a millis não é uma operação trivial, portanto provavelmente um RTC vai sim simplificar todo o processo.
O RTC é capaz de te fornecer a data e hora atual, portanto você pode fazer as leituras até que o dia mude (esse valor do dia estará em uma variável) e quando essa variável dia tiver um incremente de 30 me relacao so valor inicial, zera o vetor inteiro. Com RTC ainda é possível determinar a hora "exata" que você desejar salvar os valores
Além de postar seu código, poste também em qual parte exatamente esta tendo problemas. A lógica não é tão complicada

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço