Olá!
Nessa nova postagem, trago algumas experiências com o sensor de temperatura LM35, e alguns incrementos. A ideia é incrementar um módulo de monitoramento de temperatura ambiente no meu sistema de irrigação para hortas e jardins, e ainda procurar manter o padrão de postagem com experimentos significativos que realmente sirvam para alguma coisa, alem de hobbies e aprendizado.
Nessa nova postagem, trago algumas experiências com o sensor de temperatura LM35, e alguns incrementos. A ideia é incrementar um módulo de monitoramento de temperatura ambiente no meu sistema de irrigação para hortas e jardins, e ainda procurar manter o padrão de postagem com experimentos significativos que realmente sirvam para alguma coisa, alem de hobbies e aprendizado.
Indo ao que interessa, a ideia é
fazer um termômetro simples e preciso, utilizando componentes básicos que
qualquer "usuário" de Arduino tenha em mãos, ou seja de fácil
acesso. Um desses componentes é o LM35, um circuito integrado simples e barato que parece um
transistor comum do tipo BC547, e é capaz de medir temperaturas que variam de
-55 a +150 °C, com uma incrível precisão
de mais ou menos 0,5 °C. O seu funcionamento é bem simples, onde a cada grau Celsius de temperatura ele enviará 10mV
ao microcontrolador, ou qualquer outro dispositivo que possa fazer leitura de
tensão (V). Ex: Se a tensão V de saída do LM35 for igual a 250mV, teremos uma
temperatura de aproximadamente 25 °C. Partindo desse princípio temos uma regra
de três simples, onde os valores são diretamente proporcionais.
Então:
Agora basta associarmos os
valores obtidos da primeira operação com os da segunda:
Onde:
250mV = Tensão de saída do Sensor;
5 V = Tensão máxima suportada pela porta analógica
0,0049V = Tensão por unidade da porta analógica;
100 = Conversão de milivolts (mV) para Graus Celsius.
Observando que existe uma pequena
diferença entre os resultados, porém essa diferença está dentro da margem de
erro que é de mais ou menos 0,5 °C.
Depois de conseguir esses dados,
fica fácil escrever o programa para o Arduino:
/*Sensor
de temperatura - LM35
Computadores
Fazem Arte
Computadoresfazemarte-odilon.blogspot.com.br
*/
int
pinoSensor = 0; //Pino A0 do Arduino conectado ao LM35
int
valorLido = 0; //Variável que armazena o valor lido pelo Sensor
float
temperatura = 0;//Ponto flutuante, armazena a temperatura
void
setup() {
Serial.begin(9600); //Inicia comunincação
Serial
}
void
loop() {
valorLido = analogRead(pinoSensor); //Linha
de código que iguala a leitura analógica do pinoSensor com o valorLido
temperatura = valorLido * 0.0049; // X/5 * 0.0049 , onde X representa valor
lido
temperatura = temperatura * 100; // Conversão de milivolts para Celcius
Serial.print("Temperatura Atual =
"); // Escreve no serial o resultado.
Serial.print(temperatura);
Serial.print(" Graus Celsius");
delay(2000); //Aguarda 2 segundo para efetuar
nova leitura
}
Depois de
programar o Arduino basta montar o hardware.
Necessitaremos de:
Um Arduino (modelo de sua
preferência);
Um sensor de temperatura LM35;
Protoboard;
Jumpers.
O esquema de montagem é simples:
*Sempre que for montar algo, dê uma revisada no datasheet de todos os componentes para que não reste dúvida sobre o funcionamento de cada um.
Proposta de montagem na protoboard:
Depois de montar e conferir se todas as ligações estão corretas, basta ligar o Arduino e testar:
Tela serial, indicando o valor de temperatura obtido:
Você pode incrementar o projeto, de várias maneiras, por
exemplo, adicionando um LED para sinalizar a temperatura muita alta, muito
baixa ou os dois, adicinar dispositivos para acionar outras cargas, como relés,
utilizar um display para mostrar o valor de temperatura, etc.
Em fim, basta usar a criatividade e aproveitar as
infinitas possibilidades que o Arduino pode oferecer.
Até.
Fontes de pesquisa:
Arduino.cc
Arduino.cc
Blog.webtronico.com
blog.novaeletronica.com.br