fbpx

Termômetro Com Arduino e LM35

No texto de hoje irei apresentar como implementar um simples medidor de temperatura utilizando o sensor LM35. As aplicações para o artigo de hoje são inúmeras, ou seja, você poderá aproveitar a ideia desenvolvida aqui para implementar um sistema de controle de temperatura ou algo similar.

O Sensor LM35

O sensor de temperatura LM35 é um componente integrado dedicado para medição de temperatura com precisão. Sua maior vantagem é o fato de fornecer uma relação linear em toda sua faixa de medição. Em segundo, está o seu baixo custo e facilidade de implementação.

Devemos consultar o datasheet do LM35 para obter as suas características elétricas mais importantes, onde as mais importantes para nós são apresentadas na Figura 1.

Figura 1 – Principais características do LM35.

Com o datasheet, podemos obter a relação entre a temperatura medida e a tensão fornecida na saída do sensor. E está relação é padrão em 10 mV/°C.

Há duas formas de conectar o sensor LM35, cada uma delas é apresentado na Figura 2.

Figura 2 – Modos de operação do sensor LM35.

Podemos conferir pela Figura 2 as duas possibilidades de conexão do sensor LM35, a primeira é mais simples devido a alimentação assimétrica (4 a 20 V), porém apresenta faixa de medição limitada de 2 a 150 °C. Já o segundo modo necessita de alimentação simétrica (-Vs e +Vs), mas permite a medição de temperaturas abaixo de 0 °C, ou seja, temos a faixa completa de medição do sensor.

Pela simplicidade de implementação, estarei utilizando o primeiro modo de conexão do sensor, em um artigo futuro apresentarei a implementação do segundo modo que exige um pouco mais de recursos.

Lista de Componentes

A montagem do circuito é relativamente simples e utiliza o mínimo de componentes possível. Os componentes necessários são:

  1. Placa Arduino (no meu caso utilizo a UNO);
  2. Display de LCD 16×2;
  3. Sensor de temperatura LM35;
  4. Protoboard;
  5. Fios jumper’s;
  6. Dois potenciômetros lineares de 10 kΩ;
  7. Cabo USB A/B para gravar e alimentar o Arduino.

A maioria dos componentes listados acima são comercializados na loja Silvatrônics e podem ser adquiridos com excelente custo benefício.

Esquema do Circuito Para Montagem

O esquema para montar é relativamente simples. O circuito elaborado no software Fritzing é apresentado na Figura 3.

Figura 3 – Esquema de conexão do sensor LM35, display LCD 16×2 ao Arduino UNO

Perceba no esquema que implementei um controle da luz de fundo (backlight) e de contraste, que apresenta-se um resultado bem interessante.

Com o esquema de montagem elaborado apresentado na Figura 3, podemos prosseguir para a etapa de elaborar o programa para nosso medidor de temperatura.

Veja também:

O que é Arduino ? Tudo o que você precisa saber

Curso de Arduino – Do zero ao avançado

Programa Para Medir Temperatura com LM35

O programa foi escrito na IDE do Arduino que pode ser baixada no próprio site do Arduino. O programa é apresentado a seguir.

// TÍTULO: Programa Medidor de Temperatura com Sensor LM35
// AUTOR: Ângelo Meneguini

#include <LiquidCrystal.h>                         // Inclui a biblioteca para o display LCD
#define lm35 A0                                    // Define o pino do sensor como sendo a entrada A0

float temperatura = 0;                             // Declara a variável temperatura como ponto flutuante
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);             // Define os pinos que são utilizados para conexão do display

void setup() {
  pinMode(lm35, INPUT);                            // Declara o pino do sensor como entrada
  lcd.begin(16,2);                                 // Inicia o display informando que ele é do tipo 16x2
  lcd.clear();                                     // Limpa a informação armazenada anteriormente
  lcd.setCursor(2,0);                              // Posiciona o cursor na coluna 3 e linha 1 
  lcd.print("Medidor de");                         // Escreve no visor
  lcd.setCursor(0,1);                              // Posiciona o cursor na coluna 0 e linha 2
  lcd.print("Temperatura LM35");                   // Escreve no visor
  delay(2000);                                     // Espera 2 s
  }

void loop() {
 
  float leitura = analogRead(lm35);                // Lê e armazena  o valor da entrada analógica em leitura
  temperatura = (5*leitura) / (10.23);             // Cálcula o valor da temperatura

  lcd.clear();                                     // Limpa a informação anterior do display
  lcd.setCursor(2,0);                              // Posiciona o cursor
  lcd.print("Temperatura");                        // Escreve no visor
  lcd.setCursor(0,1);                              // Posiciona o cursor
  lcd.print("T:");                                 // Escreve no visor
  lcd.setCursor(3,1);                              // Posiciona o cursor
  lcd.print(temperatura);                          // Escreve no visor
  lcd.setCursor(9,1);                              // Posiciona o cursor
  lcd.write(B11011111);                            // Escreve o caractere especial °
  lcd.setCursor(10,1);                             // Posiciona o cursor
  lcd.print("C");                                  // Escreve no visor
  delay(500);                                      // Espera 0,5 s para repetir o programa novamente
}

Este programa também pode ser baixado direto do meu GitHub. O programa é muito simples e intuitivo, o que fazemos é ler a entrada analógica A0 e converter o valor lido para temperatura em graus Celsius. Em seguida utilizando a biblioteca “LiquidCrystal” que é nativa da IDE, controlamos e enviamos as informações para serem apresentadas no display LCD 16×2.

Além de apresentar as informações no display LCD 16×2, estamos utilizando o caractere especial ” ° ” para indicar que a temperatura é dada em graus Celsius. Assim, você poderá modificar o programa e inserir o caractere especial que achar conveniente a ser apresentado no display.

A vantagem deste programa é que ele pode ser empregado em outras situações para o controle de temperatura, ou qualquer outra situação em que se necessite mensurar a temperatura.

Teste em Protoboard

Já conhecemos o sensor LM35, o esquema de montagem e acabamos de ver o programa para medição de temperatura. Podemos agora, testar nosso medidor na protoboard e verificar seu funcionamento na prática. A Figura 4 apresenta uma foto tirada da minha montagem.

Figura 4 – Montagem do termômetro com Arduino na bancada.

Para complementar, gravei um pequeno vídeo onde apresento a montagem e seu funcionamento básico.

Com o teste em protoboard podemos comprovar e verificar o funcionamento do sistema apresentado neste texto, além disso, podemos modificar o programa para ser utilizado em outras situações.

Quer uma solução prática para monitorar e controlar temperaturas de -50° a 110° ? Veja mais aqui.

Espero que tenham gostado deste artigo, curta e compartilhe este texto com seus amigos e colegas. Obrigado por acompanhar o blog e até a próxima!

Você também pode gostar

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *