Retornar
ao topo
ao topo
Talvez o sensor mais famoso de se medir temperaturas de uma forma fácil e precisa: o LM35DZ da Texas Instruments. Este sensor mede temperaturas diretamente em ºC.
Características:
- Calibrado diretamente em ºCelsius (Centigrados)
- Fator de escala linear de +10.0mV/ºC
- Precisão garantida de 0.5ºC em 25ºC
- Grande faixa de medição: 0ºC a +100ºC
- Ótimo para aplicações remotas
- Baixo custo devido ao nível de corte do wafer
- Opera de 4 a 30V
- Baixo consumo de corrente: 60uA
- Tipica não linearidade de apenas +/-1/4ºC
- Baixa impedância de saída, 0.1 Ohm para carga de 1mA
- Datasheet do LM35
- Video de Explicação do Produto (por André Michelon - Canal Internet e Coisas)
Para fazer comentários é necessário estar logado. Efetuar login.
Você ainda nao é cadastrado? Cadastre-se agora!
Olá Francois, fiz como vc falou e usei o exemplo do 18B20 que tem no site da robocore. Deu certo :D Funcionou muito legal. Está como eu queria. Muito obrigado. Uma duvida, em cima desse código que faz a leitura simples de um sensor 18B20 eu consigo adicionar mais um sensor 18B20? Para o projeto ficar com dois sensores.
Olá pessoal, seguinte. Quanto ao cabo tentei com um cabo de CFTV de 3 metros e por enquanto está filé. A leitura do sensor 18B20 ficou perfeita. Lê normal sem interferência. Aí :D tentei adaptar ele no código arduino do projeto Measurament System. E....deu problema rs Nessa parte do código: Temperatura = analogRead(LM35); Temperatura= temperatura * 1075268817204301; Temp = (int) temperatura; NovoCliente.print(temp); Essa parte aí do código não consigo adaptar para o sensor 18B20. Liguei o sensor 18B20 na porta 2 Seria possível uma ajudinha? Obrigado.
Dê uma olhada nos exemplos que estão na página do DS18B20 (www.robocore.net/loja/produtos/sensor-de-temperatura-digital-ds18b20.html). Como esse sensor é digital e usa o protocolo OneWire, é necessário usar uma comunicação específica, mas facilmente adaptável com a biblioteca.
Olá Francois, entrei no link mas por enquanto nada. No código quando coloco a linha "analogRead" apresenta leitura na página html. Porém uma leitura doida nada a vê. E se tirar esse "analogRead" não lê nada. Sei que o sensor é digital e a porta onde está ligado também é. Poderia me ajudar novamente? Obrigado
Não se deve usar a função analogRead() para o sensor DS18B20 porque ele usa o protocolo de comunicação OneWire. Na aba Documentação da página do DS18B20 em nosso site há um link para um exemplo para Arduino. Neste exemplo há uma ligação simples para fazer entre o sensor e o Arduino, além da biblioteca e do código para fazer uma leitura simples de temperatura e exibir na serial. Execute primeiro o exemplo para entender como funciona, em seguida você conseguirá adaptá-lo no seu código.
Olá estou com um problema, quando ligo o sensor lm35 sozinho é marcado a temperatura corretamente, no entanto quando adiciono um sensor de umidade do solo o lm35 começa a marcar errado. O que poderia estar causando esse problema já que o valor de conversão está correto(0.4887585532), pois não estou usando o comando exernal.
Entre uma leitura analógica e outra, coloque um delay(20), indicando que quer fazer uma pausa de 20 milisegundos entre as leituras. Como as entradas analógicas da placa estão ligadas ao microcontrolador por uma espécie de Mux, a leitura de uma interfere na leitura da outra.
Olá, fiz como vocês recomendaram. Comprei 5 metros desse cabo aí do link. Para fazer um teste. Não deu certo. A temperatura fica variando muito. 7, 20, 22, 40, 5 graus e por aí vai. Teria alguma outra alternativa que eu posso tentar? Eu vi na net um cabo de rede com capa dupla + blindagem será que funciona? Já gastei quase 100 reias de cabos tentando achar algum que preste. Mas nada até agora. No meu projeto eu quero colocar dois sensores LM35. Um dentro de casa e o outro do lado externo da casa. Ambos a uns 10 metros do arduino. Obrigado...
Que tal mudar para um sensor digital então? Veja: https://www.robocore.net/loja/produtos/sensor-de-temperatura-ds18b20-a-prova-de-agua.html https://www.robocore.net/loja/produtos/sensor-de-temperatura-digital-ds18b20.html
Então, como foi dito, os sinais analógicos são mais suscetíveis a interferências e atenuações do que o sinal digital. É esperado que você não tenha esse tipo de problema com sensores digitais mesmo com um cabo de 10 metros. Ainda mais se você já está utilizando cabos blindados.
Como o sensor tem saída analógica, quanto maior o cabo maior a atenuação do sinal e mais sujeito a ruídos ele estará. Você pode tentar utilizar cabos blindados para amenizar as interferências, veja: https://www.robocore.net/loja/produtos/cabo-tiaflex-014mm-3vias.html
Você também pode usar um Digitator (www.robocore.net/loja/produtos/digitator.html) para "digitalizar" (em nível lógico alto ou baixo) o sinal e ter um alcance maior. De qualquer maneira o uso de cabos blindados ajuda contra interferência de sinais externos.
Boa noite, No tutorial do kit iniciante está escrito para usarmos o comando que muda as tensões de entrada entre 0 e 1,1 V. Neste caso, o sensor mediria até 110 ºC. Como faço para medir temperaturas maiores, caso seja necessário? Pois acima de 110 ºC o sensor enviaria mais que 1,1 V para a placa.
Você adquiriu o Kit Iniciante V7? Esta é uma experiência que pode facilmente ser feita com os conceitos apresentados nele. Basicamente você precisa multiplicar o valor lido pela porta analógica por uma constante informada no datasheet do componente, e depois mostrar isso na tela.
Para ter a temperatura do LM35 em Celsius basta multiplicar o valor lido na porta analógica por 0.4887585532. Sugiro fazer o primeiro teste lendo pelo monitor serial e depois passe a mostrar no LCD (para saber como usar o LCD sugiro acessar os exemplos prontos de LCD que existem na IDE do Arduino, usando a biblioteca LiquidCrystal - se pegar o exemplo do Hello World e trocar pela variável da temperatura convertida, já vai ter o que precisa).
Cara ja tentei de todas as formas, mas ele ta variando muito, coloquei o sensor no pino A0, fiz a leitura, depois coloquei o variavel de leitura multiplicado por 0.4887585532 e n funcionou, preciso de um exemplo ou de coomo fazer isso ja pesquisei no youtube, google, e nenhum funcionou.