Termômetro com Arduíno e sensor LM35
Neste post vamos conferir como construir um termômetro com Arduíno usando um sensor LM35, este tutorial é considerado básico e pode ser executado por iniciantes com facilidade. Primeiro teremos o Modulo 1 onde faremos o projeto de forma mais simples e a informação da temperatura será mostrada no Serial Monitor da IDE do Arduíno, logo em seguida teremos o Modulo 2 onde a informação da temperatura será mostrada num visor LCD.
PARA TUTORIAIS EM VÍDEO, INSCREVE-SE NO CANAL DO YOUTUBE, BASTA CLICAR NO BOTÃO ABAIXO:
Módulo 1
Lista de materiais:
- Placa Arduíno, no caso deste tutorial foi usada BlackBoard V1.0 da loja Robocore.net que custa R$ 85,00
- Três fios Jumper tipo “macho – macho”
- Sensor LM35
O sensor LM35 é um sensor de precisão que apresenta uma saída de tensão linear proporcional à temperatura em que ele se encontrar no momento, tendo em sua saída um sinal de 10mV para cada Grau Célsius de temperatura.
É apresentado com vários tipos de encapsulamentos, sendo o mais comum o TO-92, que mais se parece com um transistor, e oferece ótima relação custo benefício, por ser o encapsulamento mais barato sem diferenças em seu uso ou exatidão.
Sua documentação (datasheet) pode ser baixada clicando aqui.


O projeto será montado em uma proto board e seu esquema de ligação pode ser conferido logo abaixo:

Agora vamos ao código de programação
/***************************************\ ** NERDKING.NET.BR ** * * ** Sensor de temperatura usando o LM35 ** \***************************************/ const int LM35 = A0; // Define o pino que lera a saída do LM35 float temperatura; // Variável que armazenará a temperatura medida //Função que será executada uma vez quando ligar ou resetar o Arduino void setup() { Serial.begin(9600); // inicializa a comunicação serial } //Função que será executada continuamente void loop() { temperatura = (float(analogRead(LM35))*5/(1023))/0.01; Serial.print("Temperatura: "); Serial.println(temperatura); delay(1000); }
Após copiar e colar o código, clique em Upload para que o programa seja transferido para seu Arduíno.
Depois do código ser upado com sucesso abra o “Serial Monitor do Arduíno”
Se tudo tiver ocorrido bem a temperatura será mostrada no Serial Monitor.
Módulo 2
Agora vamos prosseguir para a segunda etapa deste tutorial onde será inserido um visor LCD, no caso deste tutorial foi utilizado um visor de 16 colunas por 2 linhas (16×2) juntamente com um modulo serial i2c que serve basicamente para economizar os pinos do Arduíno, caso você nunca tenha ouvido falar neste modulo assista o vídeo abaixo do canal NerdKing:
Caso você possua o visor mas não tenha o modulo serial i2c basta ligar o visor ao Arduíno sem o mudulo e substituindo a biblioteca no scopo do programa.
Faremos com que em vez dos dados do sensor serem apresentados no “Serial Monitor” serão mostrados no Visor LCD.
Para montagem com o modulo serial i2c siga o esquema da imagem abaixo:

Caso você não possua o modulo i2c siga o esquema da imagem abaixo:

- Agora vamos ao programa, caso seu projeto foi feito com o modulo i2c copie e cole na IDE do seu Arduíno o código abaixo:
#include <WProgram.h> //é um recurso para referenciar a biblioteca Wiring #include <Wire.h> //inclui a biblioteca Wire necessaria para comunicaçao i2c #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); const int LM35 = A0; // Define o pino que lera a saída do LM35 float temperatura; // Variável que armazenará a temperatura medida void setup() { lcd.init(); //Inicializa o visor LCD lcd.backlight(); //Inicializa o visor com luz de fundo lcd.begin(16, 2); // Diz para o Arduino que o display é 16x2. lcd.println("Temperatura: "); // Manda o texto para a tela do display } void loop() { temperatura = (float(analogRead(LM35))*5/(1023))/0.01; /* Converte o valor de tensão em temperatura e armazena na variável “Temperatura” */ lcd.setCursor(0, 1); // Move o cursor do display para a segunda linha. lcd.println(temperatura); // Exibe o valor de temperatura no display. lcd.setCursor(5, 1); lcd.println(" C"); // Escreve “C” para dizer que a escala é Celsius. delay(1000); /* Aguarda 1 segundo para efetuar uma nova leitura de temperatura. */ }
- Caso tenha montando seu projeto sem o modulo L2c use o programa abaixo:
#include <LiquidCrystal.h> // Inclui a biblioteca para utilizar o LCD. #define sensor 0 // Define o pino A0 como “sensor” int Ventrada; // Variável para ler o sinal do pino do Arduino float Temperatura; // Variável que recebe o valor convertido para temperatura. LiquidCrystal lcd (12, 11, 5, 4, 3, 2); /* Esta função acima declara quais os pinos do Arduino serão utilizados para o controle do LCD */ void setup() { lcd.begin(16, 2); // Diz para o Arduino que o display é 16x2. lcd.print("Temperatura: "); // Manda o texto para a tela do display } void loop() { Ventrada = analogRead (sensor); /* Manda o Arduino ler o pino e armazena o valor em “Ventrada”. */ Temperatura=(500*Ventrada)/1023; /* Converte o valor de tensão em temperatura e armazena na variável “Temperatura” */ lcd.setCursor(0, 1); // Move o cursor do display para a segunda linha. lcd.print(Temperatura); // Exibe o valor de temperatura no display. lcd.print(" C"); // Escreve “C” para dizer que a escala é Celsius. delay(1000); /* Aguarda 1 segundo para efetuar uma nova leitura de temperatura. */ }
Observação importantíssima: Existem relatos de que os códigos com a biblioteca do visor LCD com modulo i2C funcionam melhor na versão 1.0.5 da IDE do Arduíno que pode ser baixada clicando no botão abaixo:
Depois de fazer o upload do programa pra sua placa Arduíno se tudo tiver corrido bem seu projeto ficará que nem na imagem abaixo:

Caso queira baixar todos os códigos, bibliotecas e esquemas usados neste tutorial clique no botão abaixo:
Se quiser ver o tutorial em vídeo é só dar play no vídeo abaixo, Caso tenha alguma duvida ou sugestão pode perguntar nos comentários, se quiser me dar uma ajuda compartilhe este post com seus amigos, se inscreve no canal no youtube, dá joinha no vídeo também, tudo de bom pra vocês e até o próximo post !
The abiltiy to think like that shows you’re an expert
Ola! Obrigado…Estou gostando :).
Obrigado por compartilhar! este é um grande recurso.
Here are some links to internet sites that we link to for the reason that we assume they may be really worth visiting.
Wonderful story, reckoned we could combine a couple of unrelated information, nevertheless truly really worth taking a appear, whoa did a single discover about Mid East has got a lot more problerms also
Here is a great Blog You may Obtain Intriguing that we Encourage You
Every when in a although we opt for blogs that we read. Listed below would be the newest web pages that we decide on
although web sites we backlink to below are considerably not associated to ours, we feel they’re basically really worth a go as a result of, so have a look
we came across a cool website which you might get pleasure from. Take a search in case you want
please stop by the web pages we follow, including this a single, as it represents our picks in the web
Here are a number of the internet sites we suggest for our visitors
Here is an excellent Weblog You may Obtain Fascinating that we Encourage You
Here are some of the web pages we recommend for our visitors
check below, are some totally unrelated sites to ours, on the other hand, they are most trustworthy sources that we use
one of our visitors not too long ago encouraged the following website
always a big fan of linking to bloggers that I really like but really don’t get a good deal of link like from
just beneath, are numerous completely not related sites to ours, nonetheless, they are surely worth going over
although websites we backlink to below are considerably not associated to ours, we really feel they may be essentially really worth a go through, so possess a look
very couple of web-sites that take place to be detailed below, from our point of view are undoubtedly effectively worth checking out
Here are a few of the sites we advise for our visitors