Neste artigo, vamos construir alguns circuitos fáceis de medidores de temperatura do Arduino que também podem ser usados como LED circuito de termômetro da sala .
O circuito é projetado para exibir as leituras em LEDs pontilhados / barra. Este projeto pode ser implementado para aplicações onde a temperatura ambiente desempenha um papel crucial ou pode ser construído apenas como mais um projeto divertido para sua casa.
1) Usando DTH11 como o sensor de temperatura
O coração e o cérebro do primeiro projeto de medidor de temperatura são o sensor DTH11 e o Arduino, respectivamente. Vamos extrair apenas os dados de temperatura do sensor.
O arduino inferirá os dados e atualizará a temperatura exibida a cada poucos segundos.
Vamos tomar 12 resoluções de sensor de temperatura , em outras palavras, vamos pegar a faixa de temperatura em que a temperatura ambiente costuma variar.
Se desejar adicionar mais resolução / LEDs, você precisará do arduino mega para aproveitar todo o espectro de temperatura do sensor com o programa modificado.
O layout ilustrado acima pode ser adotado para melhor olhar para sua configuração.
O usuário só precisa inserir a faixa de temperatura mínima da sala. Pode ser um valor aproximado, que pode ser alterado posteriormente quando a configuração completa do hardware for concluída.
Se a faixa de temperatura ficar abaixo do valor limite que o usuário inseriu, nenhum LED acenderá e se a temperatura for além da faixa máxima (mínimo + 11) todos os LEDs acenderão.
Se houver algum problema de conectividade do sensor, todos os LEDs piscarão a cada segundo simultaneamente.
O design:
A fiação do circuito do medidor de temperatura do Arduino LED é muito simples, uma série de LEDs conectados a pinos GPIO variando de 2 a 13 com resistores limitadores de corrente e o sensor DHT11 é conectado a pinos de E / S analógicos, que são programados para fornecer alimentação ao sensor bem como ler dados.
Assim, a configuração do circuito do termômetro LED está completa e pronta para carregar o código. É sempre recomendável testar o circuito na placa do pão antes de torná-lo permanente.
Dica: Use LED de cores diferentes para indicar faixas de temperatura diferentes. Você pode usar LEDs azuis para faixas de temperatura mais baixas, verdes ou amarelos para faixas de temperaturas médias e LEDs vermelhos para temperaturas mais altas. Isso o tornará mais atraente.
Protótipo do autor:
NOTA: O programa a seguir é compatível apenas com o sensor DHT11.
Antes de prosseguir, certifique-se de baixar o arquivo de biblioteca do seguinte link:
https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip
Código do programa:
//-------Program developed by R.Girish------//
#include
int a=2
int b=3
int c=4
int d=5
int e=6
int f=7
int g=8
int h=9
int i=10
int j=11
int k=12
int l=13
int p=A0
int data=A1
int n=A2
int ack
dht DHT
int temp=25 // set temperature range.
void setup()
{
Serial.begin(9600) // may be removed after testing.
pinMode(a,OUTPUT)
pinMode(b,OUTPUT)
pinMode(c,OUTPUT)
pinMode(d,OUTPUT)
pinMode(e,OUTPUT)
pinMode(f,OUTPUT)
pinMode(g,OUTPUT)
pinMode(h,OUTPUT)
pinMode(i,OUTPUT)
pinMode(j,OUTPUT)
pinMode(k,OUTPUT)
pinMode(l,OUTPUT)
pinMode(p,OUTPUT)
pinMode(n,OUTPUT)
digitalWrite(p,HIGH)
digitalWrite(n,LOW)
}
void loop()
{
// may be removed after testing.
Serial.print('Temperature(°C) = ')
Serial.println(DHT.temperature)
Serial.print('Humidity(%) = ')
Serial.println(DHT.humidity)
Serial.print('
')
//till here
ack=0
int chk = DHT.read11(data)
switch (chk)
{
case DHTLIB_ERROR_CONNECT:
ack=1
break
}
if (ack==0)
{
if(DHT.temperature>=temp)digitalWrite(a,HIGH)
if(DHT.temperature>=temp+1)digitalWrite(b,HIGH)
if(DHT.temperature>=temp+2)digitalWrite(c,HIGH)
if(DHT.temperature>=temp+3)digitalWrite(d,HIGH)
if(DHT.temperature>=temp+4)digitalWrite(e,HIGH)
if(DHT.temperature>=temp+5)digitalWrite(f,HIGH)
if(DHT.temperature>=temp+6)digitalWrite(g,HIGH)
if(DHT.temperature>=temp+7)digitalWrite(h,HIGH)
if(DHT.temperature>=temp+8)digitalWrite(i,HIGH)
if(DHT.temperature>=temp+9)digitalWrite(j,HIGH)
if(DHT.temperature>=temp+10)digitalWrite(k,HIGH)
if(DHT.temperature>=temp+11)digitalWrite(l,HIGH)
delay(2000)
goto refresh
}
if (ack==1)
{
// This may be removed after testing.
Serial.print('NO DATA')
Serial.print('
')
// till here
delay(500)
digitalWrite(a,1)
digitalWrite(b,1)
digitalWrite(c,1)
digitalWrite(d,1)
digitalWrite(e,1)
digitalWrite(f,1)
digitalWrite(g,1)
digitalWrite(h,1)
digitalWrite(i,1)
digitalWrite(j,1)
digitalWrite(k,1)
digitalWrite(l,1)
refresh:
delay(500)
digitalWrite(a,0)
digitalWrite(b,0)
digitalWrite(c,0)
digitalWrite(d,0)
digitalWrite(e,0)
digitalWrite(f,0)
digitalWrite(g,0)
digitalWrite(h,0)
digitalWrite(i,0)
digitalWrite(j,0)
digitalWrite(k,0)
digitalWrite(l,0)
}
}
//-------Program developed by R.Girish------//
NOTA 1:
No programa:
int temp = 25 // definir faixa de temperatura.
Substitua “25” pela temperatura ambiente mínima que você encontrou no passado com outros termômetros ou preveja um valor aproximado.
NOTA 2: Verifique as leituras de temperatura do monitor serial e a configuração do LED.
2) Medidor de temperatura Arduino usando DS18B20
Neste segundo projeto, aprendemos outro sensor de temperatura Arduino simples, mas extremamente preciso, com circuito indicador, usando um módulo de leitura de display LCD digital avançado.
Na verdade, não há nada muito explicável nesta configuração, uma vez que tudo é baseado em módulo e simplesmente requer conexão ou conexão entre si por meio dos soquetes e conectores macho fêmea oferecidos.
Hardware necessário
Quatro materiais básicos são necessários para a construção deste circuito de medidor de temperatura LCD Arduino preciso, que pode ser estudado conforme indicado em:
1) Uma placa Arduino UNO
2) A Módulo LCD compatível
3) Um chip sensor de temperatura analógico, como um DS18B20 ou o nosso próprio LM35 IC .
Especificações do termômetro digital DS18B20
O DS18B20 termômetro digital garante especificações de temperatura Celsius de 9 a 12 bits e possui um recurso de alarme com elementos de ativação superior e inferior não voláteis programáveis pelo consumidor. O DS18B20 se comunica por meio de um único barramento de fio que, por descrição, exige uma única linha de dados (e aterramento) para conexão com um microprocessador principal.
Inclui uma faixa de temperatura de trabalho de -55 ° C a + 125 ° C, que é precisa de ± 0,5 ° C ao longo da variedade de -10 ° C a + 85 ° C.
Junto com isso, o DS18B20 está habilitado para adquirir energia direto da linha de dados (“energia parasita”), eliminando a necessidade de um
rel = ' não siga 'fonte de alimentação externa.
Cada um DS18B20 carrega um código serial distinto de 64 bits, permitindo que vários DS18B20s trabalhem no mesmo barramento de 1 fio. Conseqüentemente, é fácil de usar e descomplicado, apenas um microprocessador para gerenciar cargas associadas aos DS18B20s lançados em um local amplo.
Os programas que podem facilmente tirar vantagem desse atributo envolvem configurações ecológicas de HVAC, dispositivos de vigilância de temperatura dentro de estabelecimentos, aparelhos ou ferramentas e sistemas de supervisão e regulação de processos.
Detalhes de pinagem
4) Uma unidade adaptadora de 9V, 1 amp AC para DC
Agora é só apertar os conectores um com o outro, fazer algumas configurações por meio dos botões de pressão do LCD e você terá um medidor de temperatura digital de LCD completo e preciso à sua disposição.
Você pode medir a temperatura ambiente com esta configuração ou prender o sensor apropriadamente com qualquer dispositivo emissor de calor que precise ser monitorado, como um motor de automóvel, câmara de incubação de ovos, gêiser ou simplesmente para verificar a dissipação de calor de um dispositivo amplificador de potência.
Como conectar o medidor de temperatura Arduino
A figura a seguir mostra a configuração da conexão, onde a placa Arduino está na parte inferior, com o monitor LCD conectado sobre ela e o sensor de temperatura conectado à placa LCD.
Mas antes de implementar a configuração acima, você precisará programar a placa Arduino com o seguinte código de amostra.
Cortesia : dfrobot.com/wiki/index.php?title=LCD_KeyPad_Shield_For_Arduino_SKU:_DFR0009
Anterior: Ligar / desligar duas cargas alternativas com IC 555 Próximo: Circuito de interruptor de relé SPDT usando Triac