Média das leituras de um sensor ao longo de um dia inteiro.

Boa noite pessoal. tenho um projeto com controle de umidade e preciso saber uma forma de calcular uma média de todos os valores acumulados ao longo de um dia para que o sistema, ao final do dia, informe ao usuário qual a umidade e lhe dê opções de controle. O aparelho deve operar por 13 horas, em média. em um laboratório para ajudar no controle da umidade para ensaios de liga com memória de forma. A média seria lida para valores maiores que 10 e menores que 40 (exigência do coordenador do projeto). Alguém sberia como fazer isso?

A maioria dos códigos são para valores definidos, 10, 100, 1000... preciso da média de todos os dados lidos ao final do dia...

Exibições: 387

Responder esta

Respostas a este tópico

Ueh, vc precisa somar todas as leituras e dividir pela quantidade ?

Se vc criar uma variável que comporte a somatória, por ex um longint ou double, zerar no inicio;

Vamos chamar essa de somatoria:

doube somatoria;

outra que pode ser int ou longint ou mesmo double para a quantidade;

double quantidade;

A cada leitura vc soma o novo valor na somatoria e incrementa a quantidade.

somatoria+=novaleitura;

quantidade++;

E assim vai... Não estourando a capacidade da vairável. por ex some a cada minuto, não a cada segundo..

Aih basta um

media=somatoria/quantidade;

Ou algo parecido com isso.

Ref:

https://www.arduino.cc/reference/en/language/variables/data-types/d...

Obrigado por responder... Eu estou pensando em montar, assim como você disse, dois contadores, um dos contadores faria a soma dos valores que simultaneamente são maiores que 10 e menores que 40 e iria acumular em uma variavel (V1). O segundo contador realizaria a soma dos números maiores que 10 e menores que 40 foram lidos e armazenaria em outra variavel (V2).

O problema é que em média eu leio 70 mil dados em 12 horas de trabalho, sendo destes 70 mil uns 60 mil valores que possiivelmente podem ficar dentro da faixa de maiores que 10 e menores que 40, em média,. Eu fiz algo parecido, que deu certo, onde eu guardava os valores de uma dada variavel (B) quando ela era maior que 25, por exemplo, e convertia esse tempo em horas (é um processo bem louco que deu certo), só que 1 hora medida com base na variavel B acabava sendo dado por B/1000/60/60...
Então, preciso acumular a soma e a qunatidade de valores em duas variaveis diferentes e ir calculando a média ao longo do processo, sendo que minha preocupação são duas, a primeira é "quando acontecer um valor menor ou maior que dado intervalo, será que ela vai manter os valores anteriores salvos?" e a segunda é "será que da certo?"
O problema é que ao final do processo essa média que eu vou calcular vai ser função de duas equações dentro do proprio arduino, onde essa média é a variavel de entrada para achar outros parâmetros. 

Boa tarde JFS,

modifiquei seu code.

Testa aí e depois conta o resultado.

RV

Anexos

Bom dia pessoal, depois de tantos dias venho contar a resposta. O sistema funcionou muito muito bem, até ser pego por um temporal e queimar kkk, mas são coisas normais que ocorrem. 

Queria agradecer a todos que me ajudaram e tiraram as dúvidas, o sistema funcionou muito bem, além do esperado.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço