Você está na página 1de 9

Search Go

Projetos eletrônicos em geral


Home
Loja Virtual
Quem somos
Dec 13 2010
Arduino + LM35 – Como montar um termometro

Para fazer essa montagem foram utilizados os seguintes


componentes:
Arduino Duemilanove –
http://www.webtronico.com/produtos/view/5
Mini protoboard –
http://www.webtronico.com/produtos/view/38
Sensor LM35 – http://www.webtronico.com/produtos/view/23
Fios para protoboard (Wire jumpers) –
http://www.webtronico.com/produtos/view/73
Para ligar o LM35 ao Arduino, é bom ter um conhecimento
mínimo do conversos Analógico-Digital do Arduino (A/D).
Esse conversor tem entrada máxima de 5V. Como ele é de 10 bits,
consegue diferenciar 1024 (de 0 a 1023) valores entre 0V e 5V.  Ou
seja, quando ele ler 5v na entrada ele vai converter para 1023.
Agora ficou fácil, pois podemos fazer um regrinha de três
(interpolação para quem é mais formal):
1023 —– 5V
512 ——- X
X = (5 * 512) / 1023 = 2.5 V
Ou seja,  se o A/D mostrar o valor digital 512 significa que está
entrando 2.5V nele.
E o que o LM35 tem a ver com isso?
O LM35 é um sensor de temperatura linear que fornece 10mV para
cada grau celcius que ele medir. Ou seja, se ele fornecer 100mV,
significa que ele está medindo 10ºC.
Então da para ligar o LM35 no Arduino e fazer um
termômetro?
Sim, basta fazer a ligação do esquemático abaixo e programar seu
Arduino com o código fonte disponível no final desse post.

Código Fonte:
/*
Exemplo para ligar o LM35 ao Arduino
13/12/2010
http://www.webtronico.com

  Conversor Analógico->Digital de 10 bits (1024).

  O valor máximo que pode entrar no A/D é 5V.


  Sendo assim, quando entrar:
  -> 5V o valor lido será 1023
  -> 2.5V o valor lido será 511 ou (1023/2)
  -> 0V o valor lido será 0
  Resumindo, é uma regra de três normal onde:
  5V - 1023
  X - Y
*/
int pinoSensor = 0; //pino que está ligado o terminal central do LM35 (porta analogica 0)
int valorLido = 0; //valor lido na entrada analogica
float temperatura = 0; //valorLido convertido para temperatura

void setup() {
Serial.begin(9600); //Inicializa comunicação Serial
}

void loop() {
valorLido = analogRead(pinoSensor);
temperatura = (valorLido * 0.00488); // 5V / 1023 = 0.00488 (precisão do A/D)
temperatura = temperatura * 100; //Converte milivolts para graus celcius, lembrando que a cada 10mV equivalem a 1 grau celcius
Serial.print("Temperatura atual: ");
Serial.println(temperatura);
delay(5000); //espera 5 segundos para fazer nova leitura
}
Uncategorized | admin | 13 December 2010 |

26 Comments

By John, October 4, 2011 @ 12:51 am


Olá!
Sabe como faço para ler valores negativos se o Arduino trabalha
com tensão entre 0 e 5 volts?

By ws, November 27, 2011 @ 10:29 pm


John, pra temperatura abaixo de 0°C você precisará de uma
fonte simétrica. No datasheet do LM35 tem o esquema. Não
deve ser difícil. Abraço

By ObservadorSP, January 6, 2012 @ 9:55 pm


Olá. Gostaria de montar um circuito onde o valor do terminal
fosse mostrado em 2 ou 3 displays de 7 seguimentos. Teria como
fazer isso? Preciso de pelo menos uma dica para iniciar o
projeto.
Obrigado pela atenção.

By Sandro, February 7, 2012 @ 6:16 pm


Oi, gostaria de saber se vcs tem algum sensor de temperatura 1-
wire para distâncias até 10 metros.
Obrigado

By jorge orengo, May 22, 2012 @ 9:47 am


Colega, Neste código com um termômetro paralelo em 26.7 C eu
estou lendo no arduino o valor de 440 na saída do println, será
que meu LM35 está ruim ? Logo ao ligar ele deixa um cheiro de
queimado e esquenta muito. As tensões não passaram dos 5V
que é a tensão de operação do LM35. O que pode ser ? Agradeço
o artigo. Muito bom.

By admin, May 22, 2012 @ 11:36 am


Jorge, creio seu LM35 esteja danificado ou você ligou a tensão
de forma invertida.

By Peter, May 25, 2012 @ 10:29 pm


OI, COLEGA nesste codigo esta saindo 477 …sera que tem
alguma erro ?

By minilathe(Gil Pinheiro), May 29, 2012 @ 7:36 pm


Para ler temperaturas negativas, basta usar uma fonte de 5Vcc e
ligar o OV do LM35 com um diodo em série. Assim, ao medir
+0.7V na saida do LM35, em relação ao GND, isso equivale a
aproximadamente 0 Graus Celsius, e se essa tensão for de 0V
equivale a -70 Graus.

By Alian, June 5, 2012 @ 9:20 pm


Muito bom esse post seu, eu cheguei a fazer uns testes aqui para
um controlador de temperatura para meu aquário, a principio
to exibindo a temperatura em dois displays de 7 seg., quando
conectava na USB a temperatura oscilava em + ou – 1°, quando
conectava a uma fonte de 6V a temperatura chegava a oscilar
em até 10°, consegui aliviar isso com um capacitor de 1000uF
conectado no 0 e no 5V do sensor mas ainda estava oscilando
em 5°, fiz um for para tirar a média dentre 100 leituras e resolvi
o problema.
for(int i = 0; i <=99; i++){ // pega 100 leituras de temperatura
samples[i] = ( 5.0 * analogRead(pinoSensor) * 100.0) / 1023.0;
Celsius = Celsius + samples[i];
delay(30);
}
Celsius = Celsius / 100; // melhor precisão

By marciano, July 12, 2012 @ 12:17 am


Olá!
Não manjo nada de Arduíno ainda mas estou muito interessado
no assunto e gostaria de saber se com esse kit e mais algumas
peças que julgo serão necessárias é possível criar um
automatizador de ar condicionado automotivo?
Por exemplo fazer com que o sensor mostre a temperatura num
display que eu possa definir a máxima e minima temperatura
para que quando atingir a temperatura máxima acione o ar
condicionado e ao chegar na minima desligue o mesmo…

By Otto, September 2, 2012 @ 12:51 am


Você não colocou nenhum resistor no seu circuito. Significa que
o LM35 tem uma resistência interna? Procurei essa informação
na internet e não encontrei.

By http://www.instructables.com/member/Tastache/, April 3,
2013 @ 7:26 pm
Excellent post. I absolutely appreciate this site.
Stick with it!

By Fabiano Anhaia, April 13, 2013 @ 12:12 am


Caros amigos da webtronico gostaria do auxilio de vcs para
esclarecer algumas duvidas:
1 Para ler temperatura negativa com lm35 eu preciso de uma
fonte simétrica com tensão negativa, minha duvida é a seguinte,
a porta analógica do arduino lê tensão negativa?
2 Se com a programação acima eu conseguiria fazer a leitura
dessa temperatura negativa?
3 Eu tb gostaria que essa leitura fosse realizada num display de
LCD 16×2 é possível?
Grato pela atenção de todos.

By Janet, May 9, 2013 @ 2:40 am


It’s going to be ending of mine day, however before end I am
reading this fantastic paragraph to improve my know-how.

By abrir Cuenta facebook, May 9, 2013 @ 4:40 am


These are truly enormous ideas in regarding blogging.
You have touched some fastidious things here. Any way keep up
wrinting.

By berkley, July 28, 2013 @ 10:53 am


Jednak masz fajne niniejsze wyroby

By Matheus, November 30, 2014 @ 1:24 am


Aconselho a usar um AmpOp para multiplicar o ganho. dessa
forma terá mais precisão na leitura. como visto nos seus
cálculos a precisão o ADC é de 0.005 aproximadamente. No
sensor isso é interpretado como 0.5 grau. ou seja, você perde
bastante nas casas decimais.

By Lindsay, February 11, 2015 @ 4:02 pm


Helloo there, just became aware of your blog through Google,
and found hat it’s really informative.
I am gonna watch out for brussels. I’ll be grateful if you
continue
this in future. Numerous people will be benefited feom your
writing.
Cheers!

By Zora, December 7, 2015 @ 12:22 am


Gosh, how much opportunity to build your backend is their
in all induhstries but in particular the service
industry. ” The fact is, writers and reporters are always on the
lookout for “sources,” especially at the local level. Instead of
suffering through every day, why not turn to a business that
will allow you to make your own hours.

By dicas para leitura, December 7, 2015 @ 7:47 pm


It’s truly very complex in this full of activity life to listen news
on Television, thus I just use the web for that purpose, and get
the most up-to-date
information.

By Pedro, January 10, 2016 @ 6:14 am


Es bastante dificil elegir un ordenador con todos los que hay me
alludar
cual me aconsejan

By website, March 30, 2016 @ 7:35 am


My partner and I absolutely love your blog and find most
of your post’s to be precisely what I’m looking for. can you offer
guest writers to write content
for you personally? I wouldn’t mind creating a post or
elaborating on a
number of the subjects you write related to here. Again,
awesome web log!
By dokter rambut erha kemanggisan, May 2, 2016 @ 5:01 am
First of all I would like to say wonderful blog!
I had a quick question in which I’d like to ask if you don’t mind.
I was interested to find out how you center yourself and clear
your thoughts
before writing. I’ve had difficulty clearing my thoughts in
getting
my thoughts out there. I do enjoy writing however it just seems
like
the first 10 to 15 minutes are lost just trying to figure out how to
begin. Any suggestions or tips?
Appreciate it!

Other Links to this Post


1. Tweets that mention WebTronico Blog » Arduino + LM35 –
Como montar um termometro -- Topsy.com — December 14,
2010 @ 11:53 am
2. WebTronico Blog » Exemplo do Ethernet Shield ENC28J60 com
Arduino — May 22, 2012 @ 2:05 pm
3. WebTronico Blog » Módulo gravador de voz ISD1820 com
Arduino + LM35 — March 28, 2013 @ 4:00 pm
RSS feed for comments on this post. TrackBack URI

Leave a comment
*Name

*Email (not published)

Website

Add your Comment

Blogs Sugeridos
Arduino Brasil
Blog do JE
Blog do Natanael
Djames Suhanko
Engenheirando.com
Eu e o Robô
Leandro Nunes
Lucas Zanella
Rêxpirando
Sistema Embarcado Livre
Unauthorized Access
WebTronico Blog is powered by WordPress
WordPress Themes

Você também pode gostar