Boa tarde,
Gostaria de saber qual tempo o sensor mencionado leva para realizar a leitura e enviar para a serial monitor do arduino. Estou utilizando o mesmo no modo padrão de 12 bits. Não estou utilizando função delay em meu código. Segue esbouço abaixo:
void loop(){
Tags:
Olá, Felipe!
Em primeiro lugar, sugiro dar uma olhada no tópico LINK >>> Sugestões de como "postar" no LdG por Rui Viana &....
Principalmente na parte que fala em não postar o código no próprio corpo do post. Inclusive, como você não postou o código inteiro, não sabemos qual a biblioteca que está usando.
Quanto ao DS18B20, faz uns 20 anos que não o uso mas, se bem me lembro, 0.75 s é o tempo que ele leva para fazer uma leitura de temperatura a uma dada resolução, no caso, 12 bits.
Pelo que me lembro, e posso estar errado, você pode fazer leituras de temperatura em sequência, sem conversão e sem delay entre elas, mas a temperatura lida será a da última conversão feita através do comando CONVERT T, que dispara o procedimento que leva os 0.75 s.
Além disso, se você estiver utilizando uma biblioteca, terá de verificar se toda vez que solicita uma leitura, a biblioteca primeiro emite um comando CONVERT T. Neste caso, se não houver tempo suficiente para uma conversão entre 2 solicitações consecutivas de leitura, provavelmente a temperatura correta nunca será lida, pois o processo de conversão estaria sendo abortado por um novo antes do seu final.
D. T. Ribeiro.
Bom dia,
estou utilizando a biblioteca OneWire e a DallasTemperature
Olá.
Se vc quer saber de quanto em quanto tempo vc consegue uma leitura recomendo medir com o proprio arduino, com uma rotina do tipo:
oldTime = currentTime;
currentTime = millis();
deltaTime = currentTime - oldTime;
inserida no meio do loop();
Se precisar mesmo da informação de velocidade ela pode ser encontrada no manual:
https://www.analog.com/media/en/technical-documentation/data-sheets...
Vc vai ver que os tempos dos pulsos tem limites inferiores e superiores, são determinados como uma faixa válida, não é como usa serial comum que tem baud rate determinado.
Ainda, a temperatura é afetada por questões mecanicas, físicas, etc. Se vc tem por ex um encapsulamento metálico é preciso que a temperatura se propague pela carcaça toda do sensor até chegar ao elemento sensível lá dentro dele.
Certamente isso demora muuuuito mais que a leitura.
Também, no seu loop, possivelmente mandar dados para a serial pode demandar bem mais tempo que fazer a leitura da temperatura, faça o teste, meça o tempo por ex de 100 leitura de temperatura com e sem impressão na serial de cada uma.
Ref: https://forum.arduino.cc/t/calculating-delta-time/490002
Ok, obrigado pela ajuda!
Boa noite, Segundo as informações do Datasheet:
Temperature Conversion Time = 750 ms (para 12 bits)
Portanto sugiro que o intervalo entre as medições de temperatura seja de 1 segundo.
obrigado!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2023 Criado por Marcelo Rodrigues.
Ativado por