P10 – MEDIDOR DE TEMPERATURA: LEONARDO HENRIQUE ARAUJO, MARIA FERNANDA VARUSSA DOS SANTOS, VICTOR GABRIEL MARTINS SILVA SOUZA e WESLEY DE OLIVEIRA PIRES
Neste tutorial, veremos a aplicação do Display LCD (Liquid Crystal Display, em inglês) usado para representar um medidor de temperatura que será dado pelo LM35. Para deixar o projeto mais visual possível, utilizaremos também 2 LED’s para indiciar se a temperatura está acima ou abaixo da temperatura padrão.
Este projeto te possibilita fazer medições em qualquer ambiente que estiver, do seu próprio corpo e de objetos ao seu redor (aproxime um isqueiro no sensor e veja como a temperatura aumenta drasticamente).
Além disso, com este tutorial você irá entender a lógica por trás da programação do LCD e do LM35 e no final desde artigo, iremos te recomendar um mapa mental das principais funções utilizadas com Arduino e os principais artigos aqui do blog sobre programação em C/C++ para te ajudar durante a construção dos seus projetos.
- 1x Uno R3 + Cabo Usb para Arduino (pode ser qualquer modelo, neste passo-a-passo usamos o Uno)
- 1x Display LCD 16×2 com Backlight Azul
- 1x Sensor Temperatura LM35DZ
- 2x LED Difuso 5mm Vermelho
- 2x Jumpers – Macho/Macho – 20 Unidades de 20cm
- 1x Potênciometro Linear 10kΩ
- 1x Protoboard 830 Pontos (no caso usamos 2 para ilustrar melhor o pequeno LM35)
Sabemos que existem diversos outros sensores no mercado. Então, porque utilizamos o sensor LM35 neste tutorial? E qual a diferença deste componente para os outros existentes?
O LM35 é um CI de baixo custo e de baixa tensão que requer uma fonte de alimentação de +4 VDC a +20 VDC. Isso é ideal porque podemos alimentar o sensor com a saída de +5 V do Arduino. Sua acurácia para 25°C é ± 0.4 (vide datasheet) enquanto que, à -10 °C o sensor pode variar em ± 0.5 na medição.
Já a pinagem do componente, o LM35 possui apenas 3 pinos, 2 para a fonte de alimentação e um para a saída analógica. O pino de saída fornece uma saída de tensão analógica que é linearmente proporcional à temperatura em graus Celsius.
Segue abaixo ilustração dos pinos:
Sensor de temperatura LM35
Esquema dos pinos do sensor LM35
A saída varia de 0 V – 1,75 V, quando alimentado por uma única fonte de alimentação. Uma saída de 0 V corresponde a uma temperatura de 0°C, e a saída aumenta 10 Mv para cada aumento de grau na temperatura.
O circuito do medidor de temperatura que construímos está mostrado abaixo:
Lembre-se de que você pode usar qualquer tensão entre 2,7 V e 5,5 V como fonte de alimentação. Para este exemplo, estamos utilizando uma fonte de 5 V, mas observe que você pode utilizar uma fonte de 3,3 V com a mesma facilidade. Não importa qual fonte você use, a leitura de tensão analógica variará de cerca de 0 V (terra) a cerca de 1,75 V.
Se estiver usando um Arduino de 5 V e conectando o sensor diretamente a um pino analógico, você pode usar estas fórmulas para transformar a leitura analógica de 10 bits em uma temperatura:
Tensão no pino em MiliVolts = (leitura do ADC) * (5000/1024)
Esta fórmula converte o número 0-1023 do ADC em 0-5000Mv (= 5V)
Como medir a temperatura
Usar o LM35 é fácil, basta conectar o pino esquerdo à alimentação (2,7-5,5 V) e o pino direito ao GND. Então, o pino do meio terá uma tensão analógica que é diretamente proporcional (linear) à temperatura.
No entanto, não precisa se preocupar com os cálculos pois eles estão todos prontos no código para você usar em seu projeto.
Código utilizado no projeto
Abaixo está o código utilizado no projeto:
A programação passo a passo do medidor de temperatura
Defina as portas do LCD a serem usadas: Use esta imagem como parâmetro para fazer as ligações em seu componente: Esquema de pinos do display LCD.
Variáveis do projeto
Essas são as variáveis universais declaradas antes do setup (). Para a temperatura que está representando o ambiente (no caso utilizamos 24 °C), faça a primeira medição e adeque o valor de acordo com a temperatura do ambiente em que estiver e alterando, posteriormente, a variável tempPadrao.
Já para desenhar o caractere de grau “°”, declare uma variável byte e defina-a como um array “a” de 8 elementos.
Além disso, não se esqueça de determinar a porta que o seu LM35 estiver conectado e defina-o como leitura const int. Ademais declare a variável temperatura como float.
Setup de inicialização
Inicie a comunicação serial em 9600 e declare os pinos utilizados aqui como OUTPUT em um laço de repetição for para economizar linha de código e otimizar sua programação.
Leitura do LCD
Inicialize o LCD de forma a exibir a temperatura e a tensão coletada do sensor. Da mesma forma, escreva os símbolos de medição que representam o grau e a tensão (V).
Loop do programa
É aqui que o código irá: coletar as informações do sensor em valorSensor, transformar o valor lido em uma tensão, fazer a conversão de tensão em temperatura °C e transformar essa temperatura em °F.
Monitor Serial
Essas linhas de comando são escritas para você poder acompanhar as leituras exibidas na tela do seu computador e validar as leituras exibidas no LCD e LED’s.
Medidor de temperatura – Monitor Serial
Não se esqueça de inserir um delay () entre a exibição dos valores no monitor serial e a exibição deles no LCD.
Acendendo os LED’s
Agora entra em jogo a temperatura padrão que você definiu no começo no código. Para nós aqui da eletrogate, a temperatura está em 27 °C mas para você, essa temperatura pode variar para mais ou para menos. Portanto, certifique-se de que a temperatura ambiente esteja condizente e use condicional if () para acender/apagar seus LED’s.
Hoje aprendemos a construir um sistema de medição da temperatura ambiente e da temperatura corporal com um display LCD e um LM35.
No projeto o LM35 foi substituído pelo módulo sensor de temperatura termistor NTC, que é um módulo compacto e de baixo custo. É muito sensível à temperatura ambiente. Geralmente é utilizado para detectar a temperatura do ambiente. Através do ajuste do potenciômetro, é possível alterar o limite de detecção de temperatura. A saída AO pode ser conectada diretamente ao microcontrolador para detectar temperaturas altas e baixas, detectando mudanças de temperatura no ambiente. A faixa de detecção de temperatura do módulo varia entre 20 e 80 graus Celsius. Este módulo pode ser substituído por um sensor de temperatura da linha para controlar a temperatura da água, do tanque de água, etc.
O datasheet do módulo NTC Arduino KY_028 está disponível em: Sensor NTC KY_028.
O datasheet da placa Arduino UNO R3 está disponível em: Manual Arduino® UNO R3.
O desenho técnico da base do projeto está disponível em: 25_08_01 Base_Medidor_Temperatura_LMVW .
Referência : Flavio Babos
© Direitos de autor. 2025: Gomes; Sinésio Raimundo. Última atualização: 20/06/2025
Nenhum comentário:
Postar um comentário