Leitura de temperatura com Arduino
Desta vez, vamos fazer a leitura da temperatura ambiente com o Arduino . Para isso usei o LM35 , um sensor de temperatura da National Semiconductors, fácil de usar e barato de comprar. Custa em torno de R$ 5,00 a unidade para o invólucro de plástico.
O funcionamento dele é muito simples:
A saída no pino Vout gera uma voltagem proporcional a temperatura medida pelo sensor. Cada 0,01 Volt corresponde a 1 grau centígrado. Consequentemente, se no pino Vout eu medir 1 Volt então a temperatura será de 100 graus centígrados.
Liguei a saída Vout do LM35 na entrada Analog In 5 do Arduino . As entradas Analog In do Arduino possuem resolução de 10 bits e devolvem um valor de 0 a 1024 correspondente ao valor lido comparado a tensão de referencia que é 5 Volts.
O que quer dizer isso ? Se ao usar a função analogRead(5) , o retorno for 1024 então a tensão no pino é de 5 Volts , se ler 512 então a tensão é 2.5 Volts e daí por diante.
No caso do LM35 para transformar a tensão lida em temperatura que possa ser entendida é necessário usar a equação :
temperatura = ( 5 * valor_lido_no_LM35 * 100) / 1024
Obs : 5 é o valor da tensão de referencia
Depois é só enviar pela serial do Arduino para o PC e gravar em arquivo , exibir na tela , exibir em formato gráfico , etc.
A imagem abaixo é de um programa que adaptei de um exemplo em Processing para receber as temperaturas enviadas pelo Arduino pela porta serial e após, gerar um gráfico e gravar as temperaturas em um arquivo texto. As variações na temperatura foram conseguidas colocando o dedo em cima do LM35.
Posts relacionados:
Liberada Arduino IDE versão 0016
AVR Technical Library DVD
AvrFreaks
Links:
Programa para ler temperatura no arduino
Programa em Processing para receber temperatura do Arduino, gerar grafico e gravar em arquivo
Site da linguagem e ambiente Processing
Datasheet do LM35





11. July 2007 at 7:53 pm :
Olá Jeronimo.
Estou interessado na arquitetura do Arduino, e verifiquei que você e o Guiuliano são os 2 especialistas do Brasil.
Gostaria de fazer algumas perguntas, e ficaria feliz se pudéssemos conversar por e-mail.
O meu é danielcabib@gmail.com
Obrigado
Daniel
26. November 2007 at 10:57 am :
Estou tentando montar um projeto para leitura de temperatura utilizando o LM35 e cheguei ate este site. Não tenho informações sobre o “arduino” gostaria que me informa-se qual seu funcionamento etc..
obrigado pela atenção
27. November 2007 at 7:48 pm :
Mauricio , O Arduino é uma plataforma simples e barata ( +- R$50,00) de desenvolvimento usando o ATMEGA8 ou ATMEGA168. A melhor parte é a IDE para desenvolvimento que permite escrever-se programas sem preocupar-se com os detalhes de baixo nivel relacionado aos microcontroladores. De uma olhada nos posts do blogdoje em http://blogdoje.com.br/category/arduino/ e no site do projeto http://www.arduino.cc .
Divirta-se !!
3. December 2007 at 10:18 am :
Ok, obrigado pela dica, estou omnando um Arduino serial já, sabe de algum componente eletrônico que sirva para medir pressão atmosférica e umidade do ar?
abraço,,,
5. December 2007 at 8:10 am :
Mauricio ,
Não usei ainda nenhum componente especifico para essa medida. Sugiro dar olhada nos sites da Phillips,Siemes , Farnell . Existe um site em formato wiki sobre sensores que pode ser util : http://www.sensorwiki.org/index.php/Hygrometer
Boa Sorte !!
5. December 2007 at 8:11 am :
Mauricio ,
Não usei ainda nenhum componente especifico para essa medida. Sugiro dar olhada nos sites da Phillips,Siemens , Farnell . Existe um site em formato wiki sobre sensores que pode ser util : http://www.sensorwiki.org/index.php/Hygrometer
Boa Sorte !!
5. December 2007 at 8:11 am :
Mauricio ,
Não usei ainda nenhum componente especifico para essa medida. Sugiro dar olhada nos sites da Phillips,Siemens , Farnell . Existe um site em formato wiki sobre sensores que pode ser util : http://www.sensorwiki.org/index.php/Hygrometer
Boa Sorte !!
12. May 2008 at 5:58 pm :
Bravo;
First , sorry , i’m french…an I speak english.
It’s very cool what you have do .
I have try you code and I have a complet different result.0 27 23 02 0 52 0 49 0 3 5 every second.
I’ve a few question, did you use a resistor with a 100KOHM or 10KOHM, in you drawing .
Thanks and very good job.
14. May 2008 at 7:57 am :
LordH ,
Thanks for your comment . I have used a 100 K Ohms resistor on this circuit. The results that I have obtained were in accordance with the measurements made with a clinical mercury thermometer. I suggest that you verify the connections of your circuit and sand the terminals of the lm35 with a sandpaper , it´s possible to have glue or corrosion at it.
Good luck !
11. November 2008 at 11:27 am :
Estou montando um sistema de monitoramento de temperatura, a temperatura máxima será de 650 °C, minha pergunta é posso trabalhar com o arduino e um termopar tipo J?
Abraços;
11. November 2008 at 1:52 pm :
Denner ,
A principio , não vejo nenhum impedimento , com um teste rapido e com os devidos cuidados, voce poderia determinar a viabilidade do uso. O que vejo de problema é que o Arduino não foi projetado para trabalhar em ambientes hostis , na presença de ruidos “industriais” , etc. Sugiro que você procure um equipamento mais adequado ao ambiente que você deseja monitorar/controlar ou modifique o projeto do Arduino para atender as suas necessidades . Estas modificações seriam a troca dos componentes ( microprocessador, resistores etc.) por componentes que suportem um regime de temperatura mais alto. mudança do layout da placa, modificação do projeto para suportar ruidos, isolamentos nos pinos de entrada , colocação em um gabinete adequado e vai por ai afora. No site da Atmel informa que o ATMEGA168 na versão automotiva suporta até 150 graus celsius : http://www.atmel.com/dyn/products/product_card.asp?PN=ATmega168%20Automotive
3. March 2009 at 8:46 pm :
Boa noite! Estou fascinato pela estrutura do arduino e decidi fazer um controle de temperatura para uma estufa com o arduino, gostaria de saber se vc pode me dar algumas dicas..
fico no aguardo.
Obrigado.
Bruno Martins
3. March 2009 at 9:43 pm :
O Arduino é realmente fascinante. Compre ou monte um e divirta-se experimentando e aprendendo o seu funcionamento . Para controlar a estufa voce precisará conhecer o seu funcionamento normal, como esquenta , como desliga. Basicamente trata-se de colocar sensores que verificarão a temperatura atual e atraves do arduino , comparar com a temperatura desejada e atuar na estufa , modificando a sua temperatura de trabalho.
Experimente , consulte os projetos ja existentes na Internet e qq duvida entre em contato
Boa Sorte !!
9. March 2009 at 10:19 am :
Hello sorry for English
Iam dont understand why u have a resistor between Output-GND
Thank u for great blogg
24. March 2009 at 12:30 pm :
Olá,
Estou envolvido em projeto de sistema na faculdade e gostaria de saber se utilizando o arduíno eu poderia criar um sistema web com java para controlar dispositvos elétricos e eletrônicos, como ligar/desligar lâmpadas, tv, geladeira e etc.
24. March 2009 at 1:18 pm :
Allan, Sim é possivel desenvolver o sistema que voce deseja.
De uma olhada no Arduino Shield que conecta o Arduino a uma interface Ethernet , pode te dar ideias sobre o assunto.
http://blogdoje.com.br/2008/11/06/ethernet-shield-oficial-para-o-arduino/
Outro link interessant é o Botanicalls sobre o controle das condições de uma planta via Internet : http://www.botanicalls.com/archived_kits/twitter/
8. April 2009 at 2:27 pm :
Olá … Blogdoje
gostei muito do seu projeto… parabéns
Gostaria de saber se você pode me ajudar quanto a ESCREVER e LER com o Arduíno em um arquivo TXT.
Desde já agradeço
6. November 2009 at 2:29 pm :
Oi, gostei mt do projeto. Gostaria de começar um projeto de controle de temperatura utilizando o arduino e este esquema, mas seria para um tanque. Como poderia ser utlizado lm35 em contato com algum liquido?
Abraço
6. November 2009 at 4:45 pm :
Rodrigo, è necessário protege-lo para que não aconteçam curtos entre os terminais. Não me lembro o site mas já vi um projeto onde o lm35 foi colocado dentro de um tubinho de plastico termo-retratil , o mesmo usado para proteger fios e colocado dentro de um recipiente com agua.
Boa sorte !!