Eletrônica digital com Arduino – Controle de temperatura com LM35

O sensor LM35 é muito simples de utilizar para medir temperaturas diretamente em graus Celsius. Então além de medir temperaturas, vamos controlar a intensidade de luminosidade de dois LEDs; um verde e um vermelho. Quando estiver dentro da range de normalidade, a intensidade do LED verde variará conforme a porcentagem de variação estipulada; o mesmo para o LED vermelho, quando estiver na range de alerta.
Para esse projeto utilizaremos dois pinos PWM (que são os pinos precedidos pelo ‘~’ (til)) para controlar a intensidade.
Encontrei um tutorial terrível onde o Ground e o V+ estavam invertidos, então, preste MUITA atenção no modo de ligar esse sensor:

Essa referência eu peguei em um site que também dá exemplos com LM35 (http://www.ladyada.net/learn/sensors/tmp36.html).
Olhando o componente de frente, considerando que a frente seja sua face plana, a alimentação ficará à esquerda, o ground à direita e o pino central será a nossa referência, bastanto converter a frequência gerada nesse pino para a medida em graus, com a seguinte fórmula:

temperatura = (5.0 * freq * 100.0)/1024.0;

O LED é muito simples de ligar e está descrito nesse outro post, caso necessite entender mais detalhes do que o que está descrito nesse experimento.

Para controlar a intensidade da luminosidade do LED, utilizaremos as frequencias sem aplicar a fórmula para assim ter um espaço de variação de luminosidade maior. Se você ainda não conhece o modo de funcionamento do PWM, veja nesse outro post que descrevo o recurso.

Utilizaremos o pino 9 para o LED verde e o pino 10 para o LED vermelho. O pino analógico 0 será utilizado para leitura da frequência gerada no sensor. Também utilizaremos um resistor de 330ohms entre o sensor e sua alimentação de 5v, já considerando que haverá ruído de sinal, que pode ser eliminado utilizando aref e 3v em substituição ao 5v (mas não será feito isso nesse exemplo).

O circuito deve ficar assim:

O código é muito simples e os componentes são controlados por poucas linhas:

E abaixo, o resultado desse trabalho:

Pode-se fazer uma escala com LEDs, mas a precisão continuaria limitada visualmente. Assim sendo, o LED seria ideal para quando estivesse OK ou ALARMADO e as temperaturas mostradas como string em um display. Por isso, o próximo post será sobre controle de display no Arduino com o display comprado no WebTronico e em seguida veremos um projeto que se utilize do display para controlar os limites para alarme, incluindo um buzzer além dos LEDs verde e vermelho (vide nesse post).

Os próximos posts serão projetos utilizando sensores de 3 pernas para luminosidade e gases inflamáveis, a partir de onde geraremos alarmes, ligaremos lâmpadas, acionaremos ventiladores, etc. Diversão garantida!

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.