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 : *
25 + 5 =