sexta-feira, 25 de setembro de 2015

Termômetro Digital com o Attiny


Aqui vai mais um projeto muito legal, e apesar de redundante é bem útil. O diferencial desse termômetro para dos demais vendidos comercialmente, é que ele usa um display digital de led de 7 segmentos para mostrar a temperatura ambiente, que torna a leitura muito visível até mesmo a noite. Outro diferencial é sua precisão, dado pelo CI LM35, que mostra a temperatura exata, ao contrário desses outros que dão "uma idéia" da temperatura ambiente.

Já vou avisando que eu projetei esse termômetro para mostrar temperaturas positivas, digo isso porquê o LM35 irá retornar uma tensão negativa caso a medição seja uma temperatura abaixo de zero, e os microcontroladores AVR (no caso do Attiny), não são capazes de ler, só conseguem ler dados analógicos positivos. Ou seja esse termômetro vai parar no "00" caso a leitura seja uma temperatura abaixo de zero. Digo isso pois você pode querer usar esse projeto para monitorar um freezer ou coisa assim. Há como fazer isso, porém você terá que "enganar" a leitura, ou subindo a tensão de leitura (no caso por exemplo -50º = 0v) ou teria que usar uma outra porta analógica só para ler a tensão indo na direção contrária. No google há vários exemplos de como fazer isso.

A montagem é simples porém trabalhosa. A ideia é usar 2 ci 75hc595 para multiplicar as portas de saída do Attiny (que só tem 6 disponíveis), um CI para cada dígito. A ligação do ci 75hc595 em cada display também é simples, basta ligar cada porta em um segmento de led, e o GND em comum sai um resistor de 1k para regular a tensão dos leds. De uma olhada na relação das portas no display abaixo:


O primeiro algarismo é o mestre (que tem o pino "Data" do ci75hc595 ligado diretamente no Attiny) e o segundo algarismo é escravo (ligado o pino Q7' do ci mestre, no pino "data" do segundo ci 75hc595), multiplicando assim 3 pinos do Attiny em 16. Os pinos "latch" e "clock" são comuns nos 2 ci75hc595. De uma olhada na minha referência:
O ultimo passo é ligar o sensor de temperatura LM35 em uma das portas que sobrou do Attiny, o resto fica por conta do código. No código você pode definir todas as portas usadas nesse projeto, assim como o calculo e a montagem dos números para o display. Para baixar o código clique aqui. No código há rotinas para economizar energia, faz com que o Attiny desligue por um tempo e acorde para atualizar a temperatura atual, indispensável para ser usado com bateria.

As aplicações desse projeto são bem amplas, você ao invés de soldar o LM35 diretamente na placa, pode estender com um cabo para fazer a leitura num boiler, leitura da temperatura corporal, e até blindando o sensor hermeticamente, ler a temperatura de líquidos, basta que a faixa de leitura seja de 0 a 99º. Lembre-se o sensor LM35 pode ler de -55º a 150º, basta modificar um pouco esse projeto, nesse caso deixo pra você quebrar a cabeça um pouco, só compartilhe aqui o que você fez ok ?