cytron
(usa Slackware)
Enviado em 26/07/2015 - 22:53h
Blz!?!
Estou enfrentando um problema simples e complicado hehehe. Faço a leitura da temperatura usando um termistor no arduino através da lib Thermistor. Até aí tudo bem. Só que devido a algumas interferências geradas na região de leitura, o valor fica um pouco instável mas não chega a atrapalhar a leitura correta da temperatura.
Não tem como eliminar as interferências devido a questões físicas e de funcionamento. Ou seja, preciso de um algorítimo para estabilizar o valor lido do sensor.
Exemplo:
A temperatura inicia em 10 e vai caindo até 0:
10...9...8...7...6...5...4...3...2...1...0
Porém, devido a interferência, vai caindo assim:
10...11...9...8...10...7...9...8...6...5...8...6...7...4...5...7...3...2....6...2...5...1...3...5...2...1...4...0...1...0...4...0...1...0...
Perceberam? Apesar de cair realmente de 10 até 0, oscila muito a cada valor decrescente. Isso gera um problemão, pois preciso ativar e desativar coisas conforme a temperatura, como no valor 5 por exemplo, se for igual ou menor que 5 liga um led, daí o led fica piscando feito louco, pois quando chega no 5 ele pula pra 6, depois 4, depois 7, depois 5, depois 3, depois 7 kkkkkkkkk
Imagino eu, que se aplicar um algorítimo de "amortecimento" kkkkk, vai resolver, mas eita algorítimo difícil heheheh. Não sou bom matemático, sei que existe fórmula matemática pra isso, mas não sei como fazer. Usando lógica de programação dá pra fazer, mas vai ficar tão grande e complexo que vai acabar virando um kernel linux kkkkkkk.
Alguém tem um jeito menos doloroso pra fazer este algorítimo?