Bom dia leitores, e um ótimo ano novo á todos!. Com este calor que tem feito no verão (e sabendo que tem muito mais por vir) eu decidi que queria ter um termômetro barato e simples sempre á mão; e o melhor: feito por mim!. Por isso decidi fazer um termômetro somente com led’s e o chip do Arduino Pro Mini ou UNO (ATMEGA328P), para que fique barato e ainda me lembre do sistemas de numeração binária, toda vez que eu olhar para ele. 
   Porque um termômetro binário? por dois motivos: é muito legal ter um equipamento feito por você mesmo, e que funciona! e também porque eu já havia feito um projeto similar para um concurso da SeeedStudio láaá em 2014: veja aqui. Uma imagem do protótipo de relógio binário que fiz naquela época está abaixo.
   Desta vez eu resolvi ensinar a montagem deste termômetro utilizando um Arduino Pro Mini, pois é bem menor que o UNO (só em tamanho, mas não em capacidade), perfeito para esta pequena montagem. 
   O circuito completo deste artigo pode ser visto na imagem abaixo, e contém 6 LED’s (conectados ao Port B do Arduino) com um resistor em série com cada LED e um sensor de temperatura KTY81-110 com um resistor de 1k ohm em série. Obviamente qualquer outro sensor de temperatura pode ser utilizado (LM35, DHT11, DS18B20, LM75AD), bastando  para isso adaptar a parte do código que faz a leitura analógica do sensor. 
   Como o Arduino Pro Mini não tem conversor USB para Serial embutido,  vou utilizar um Arduino UNO (sem o chip) para fazer a gravação do Pro mini. Veja imagem abaixo a forma de conexão para gravação do código.
   A pinagem utilizada na imagem acima foi a seguinte: 
– Fio Vermelho: 5V do UNO  para o 5V do Pro mini
– Fio Preto: GND do UNO para o GND do Pro mini
– Fio Verde: Reset do UNO para o Reset do Pro mini
– Fio Amarelo: TX(1) do UNO para o TX0 do Pro mini
– Fio Laranja: RX(0) do UNO para o RX1 do Pro Mini
   O processo de  gravação do código não tem segredo, basta escolher a placa “Arduino Pro Mini” na IDE do Arduino  (ao invés de escolher Arduino UNO). Lembre de retirar o chip ATMEGA328P da placa do Arduino UNO antes de ligar a placa, conforme a imagem acima. O código é pequeno e simples, pois faz uso de manipulação direta das portas do portB do Arduino.
 #include <avr/io.h>  
#include <avr/interrupt.h>

int sensorPin = A0; // Porta analogica para conexao do sensor KTY81
int sensorValue = 0; // Variavele para calculo da temperatura ambiente
byte binaryValue= B00000000; // Valor binario que sera passado aos leds

void setup()
{

Serial.begin(9600); // inicia comunicacao serial com o PC, para debugging
DDRB = DDRB | B00111111; // seta 6 portas do portB como saida
}

void loop()
{
sensorValue = (analogRead(sensorPin)*0.0048875*111.2)-256.025; // equacao para calculo da temperatura do KTY81
binaryValue= byte(sensorValue);
PORTB = binaryValue;
Serial.println(sensorValue); // visualiza temperatura na porta serial
delay(2000); // espera 2 segundos

}

   Explicando o código: 
– A linha “DDRB = DDRB | B00111111;” defique que os ultimos 6  pinos do portB são saídas, onde vamos conectar os LED’s.
– A linha “sensorValue = (analogRead(sensorPin)*0.0048875*111.2)-256.025;” calcula a temperatura em graus Celsius, a partir da leitura da tensão sobre o sensor KTY81.
– A linha “binaryValue= byte(sensorValue);” transforma o valor da temperatura em informação binário (0’s e 1’s).
– A linha “PORTB = binaryValue;” é a parte mais importante do programa, pois joga o valor da temperaratura (já em binário) nos LED’s.
   Funcionamento do circuito: cada LED aceso tem um “peso” em binário, sendo: 
– 1 para o primeiro LED
– 2 para o segundo LED
– 4 para o terceiro LED
– 8 para o quarto LED
– 16  para o quinto LED
– 32 para o sexto LED
   Sendo assim, a temperatura do ambiente será a soma dos valores atribuídos aos LED’s ACESOS.  Exemplos: 
   Para resumir a experiência de hoje:  utilizando apenas um sensor de temperatura (KTY81), 6 LED’s e um Arduino Pro Mini é possível criar um simpres termômetro binário. Um ótimo projeto para feiras de ciências ou até mesmo para ter na mesa ou  na bancada!. 
– Para comprar o Arduino Pro Mini em nosso Parceiro ICStation (da China), clique no texto: ICStation ATmega328 Pro Mini Compatible Arduino
– Para comprar os cabinhos coloridos (jumpers) em nosso Parceiro ICStation (da China), clique no texto: 1pcs Dupont Wire 10CM 2.54MM Female to Male 1P-1P Jumper Cable For Arduino
Termômetro binário com Arduino Pro Mini (ATMEGA328P)
Classificado como:                            

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Solve : *
12 + 3 =