Adquira estes componentes na Loja do Lab de Garagem
Este tutorial mostra uma maneira interessante de fazer a leitura da temperatura ambiente com o Arduino, e exibi-la em um display LCD 16x2 (em graus Celsius), utilizando conceitos básicos de sua programação e o sensor de temperatura LM35DZ.
Para isto, serão necessários os seguintes componentes:
- 1 sensor de temperatura LM35
Este sensor captura a temperatura externa e converte-a em um valor de tensão correspondente. No circuito, conectamos a saída Vo do sensor a porta analógica A0 do Arduino, que por sua vez, converte este sinal em um valor (float) de temperatura e assim, exibe no LCD. O potenciômetro de 10K ajusta o contraste do display.
A seguir, monte o circuito abaixo com o Arduino e os outros componentes:
Então, abra a IDE do Arduino e digite o seguinte código:
#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. */
}
Finalmente, faça o Upload para o seu Arduino.
O seu projeto para indicar temperatura está pronto !!! Esperamos que tenha gostado. Qualquer dúvida, poste aqui mesmo.
Obs: o sensor LM35DZ converte temperaturas na faixa de -55ºC até 150ºC.
Para quem quiser, esta é a explicação para o cálculo de conversão de tensão para temperatura feita no software:
Neste sensor, para cada 1ºC recebido, sua saída é acrescida em 10mV, isto em uma faixa de 0 a 5V, com 10 bits de resolução para conversão Analógica/Digital (1024 valores diferentes para representar a temperatura). Assim, o valor máximo (1023, pois é de 0 a 1023) corresponderá aos 5V. A metade corresponderá a 511 ou 2,5V, e assim por diante. Para efeitos de cálculo, haveria 5V na saída do sensor para uma temperatura de 500ºC ( o que é diferente na prática). Porém, esta consideração nos permite generalizar isto para a seguinte regra de três:
Temperatura ----- Ventrada
500ºC ----- 1023 (valores máximos)
Assim, teremos:
Temperatura = (500*Ventrada)/1023, e este valor é exibido no display.
Até a próxima !!!
Links de Referência:
- arduino.cc/en/Tutorial/LiquidCrystal
Comentar
Prezados companheiros,
Eu sou novato em arduido apesar de ser velhos com eletrônica e programação. Eu ao montar este experimento no arduino obtive um resultado curioso. Tudo funcionou perfeitamente com exceção do valor da temperatura ambiente mostrada na tela de LCD. Sempre mostra uma temperatura acima da realidade. Já verifiquei a fórmula de conversão de tensão para temperatura e na programação do arduino me parece que tudo esta perfeito.
Alguém com mais experiência pode me dar uma dica do que esta acontecendo?
Um abraço a todos
José Carlos
Se substituir:
Temperatura=(500*Ventrada)/1023
por:
Temperatura= (Ventrada* 0.0049);
Temperatura= Temperatura*100;
A temperatura será mostrada com mais precisão.
:)
como é feita a conexão com o LCD, na imagem ele parece esta solto ?
obrigado pela dia mais tambem conseguimos mostrar hora ee temperatura, ex: mostra hora e temperatura.
tenho um relogio aqui apenas parte eletronica com led e gostaria de colocar Arduino junto pra funcionar.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)