Bom dia, estou fazendo a leitura de um sensor analógico no arduino e o valor só estabiliza a partir da 130° leitura com um delay de 50ms (tempo de amortecimento até o valor ficar aproximadamente constante), o que dá uns 6,5s. Até aí tudo bem, está dentro previsto. O problema é que tenho outros sensores pra ler e queria fazer a leitura deles a cada 1 segundo, inclusive desse sensor que já estaria estabilizado depois.
Ele precisa fazer essas 130(ou umas 150 pra dar mais confiabilidade) leituras pra estabilizar toda vez que o arduino é ligado ou resetado. O que eu quero fazer é que o programa funcione pra ler apenas esse sensor nos primeiros 7 ou 10 segundos com um delay de 50ms pra estabilizar ele e logo depois o programa comece a funcionar normalmente no loop com delay de 1s por exemplo.
Alguma dica de como fazer?
Tags:
E se você fizer um loop de leitura para ele ler o sensor várias vezes e tirar a média dos valores lidos. Resolveria o seu caso ?
Dá uma pesquisada sobre estabilizar valores do ADC.
http://labdegaragem.com/forum/topics/duvida-como-voc-estabiliza-var...
Bom dia. Já vi esse post e até respondi nele. Eu resolvi o problema fazendo uma média móvel pra estabilizar e é por isso que ele precisa fazer tudo aquilo de leituras pra estabilizar
"[...] O que eu quero fazer é que o programa funcione pra ler apenas esse sensor nos primeiros 7 ou 10 segundos com um delay de 50ms pra estabilizar ele e logo depois o programa comece a funcionar normalmente no loop com delay de 1s por exemplo."
A forma mais simples acredito que seria fazer isso até no próprio setup(). A função setup() é a primeira a inicializada, sempre antes do loop().
Ou, para não "poluir" seu setup(), você pode fazer no início do seu loop() um bloco que garanta somente a execução uma única vez logo após ligar/resetar o hardware:
bool x = true;
void loop()
{
if(x)
{
//Cods a serem executados somente uma vez após iniciar/resetar
x = false;
}
//Continuação do seu código
}
Gostei muito das duas dicas.
Obrigado, amigo.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por