Olá pessoal!
Acabei de iniciar um pequeno projeto com UNO não original , BMP180 como sensor de pressão e temperatura e AM2302 DHT22 como sensor de umidade e temperatura. Uso as lib DHT.h e Adafruit_BMP085.h.
Assim que ativei o DHT notei que este sensor indicava uma temperatura maior que a sensível. Inidicava, por exemplo, 26ºC enquanto a sensação era em torno de 20º o que era confirmado pela serviços de previsão do tempo e pelos termometros de rua.
Posteriormente agreguei o BMP180 e notei que este também inidicava uma tempereratura maior que a real e sempre 1,7ºC abaixo do DHT, ou seja quando o DHT indicava 26ºC o BMP indicava 24,3ºC...
O BMP também não acertava na pressão ou altura, estou em uma região a 721mts de altura e o BMP indicava 621mts.
Alguém já teve essa experiência? Há algum ajuste ou calibração a fazer?
Muito obrigado!
Acho que estás a colocar fé a mais nos serviços de meteorologia.
Tens algum termómetro em casa?
O BMP calcula a altura com base na pressão base no ponto zero (nível do mar)... os exemplos da Adafruit normalmente incluem essa definição que depois torna o cálculo da elevação correcto durante algumas horas já que a pressão varia durante o dia e nas diferentes elevações. Talvez ler um pouco sobre como esse cálculo é feito??
Como disse o Bubulindo, a questão da altitude não vai ser fácil de resolver, pelas razões apontadas.
No que diz respeito às temperaturas, tens de ter em atenção que até mesmo dentro da tua casa podes ter amplitudes de 2 a 5 graus, dependendo da zona da casa (exposição solar, ventilação e etc...).
Portanto, para se poder usar comparação tens de ter um termometro cuja sonda esteja no mesmo local onde estás a usar os sensores.
Obrigado pessoal!
Acabei de fazer uma medição com um termometro profissional, enquanto esse indicava 23º, o DHT marcava 24,7º e o BMP180 26,4º.
Vou introduzir um "off set" de 1,7 para o primeiro e 3,4 para o outro e ver como se comportam.
Abraço!
Nota que o offset pode ser multiplicativo e não aditivo como supões.
Que tipo de termómetro profissional usaste?
Pois é , ainda não estou certo disso. Vou fazer adicionar 1,7 e ver como se comporta.
Eu trouxe o Arduino para o escritório, quando o rapaz que controla o ar condicinado passou pedi para ele me dizer que temperatura media...
Abraço!
E o rapaz que controla o ar condicionado por acaso tinha um autocolante a dizer quando é que o termómetro tinha sido verificado?
Nota que muitos destes sensores que se compra por tuta e meia no eBay quase de certeza que falharam algum teste de qualidade na fábrica (daí o preço, particularmente nos sensores da Bosch). Por outro lado o DHT também não é famoso por ser particularmente preciso.
O BMP180, por exemplo, tem configurações internas para o tipo de medição que faz que podem fazer diferença. A biblioteca da Adafruit normalmente permite fazer essa configuração.
Outras coisas a ter em conta é o tempo de resposta de cada sensor e para isso tens de deixar os sensores ligados com o instrumento de controlo sem variação da temperatura durante algum tempo.
Finalmente, nota que por vezes a electrónica (neste caso, o Arduino) aquece o sensor se o tiveres montado mesmo ao lado do processador. Eu tive um problema desses com um ESP8266 que aquecia bastante e tornava as medições do sensor erráticas. Para resolver, tive apenas de colocar o sensor alguns centimetros afastado do processador.