Seu Curso

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Usando o sensor de umidade e temperatura DHT11

Imprimir
Avaliação do Usuário: / 18
PiorMelhor 

O sensor DHT11 fornece tanto temperatura quanto umidade do ar instantaneamente e de forma muito fácil. Isso se deve à biblioteca pré-escrita que cuida de todas as funções necessárias, restando para nós apenas acessar aos dados.

 

O DHT11 também é bastante atrativo quanto ao preço e a facilidade de encontrá-lo, no caso do sensor deste tutorial ele foi adquirido pela WEB na Tato Equipamentos Eletrônicos (www.tato.ind.br).

 

Primeiro vamos cuidar da biblioteca.

 

A biblioteca é formada por dois arquivos, um é o DHT11.h e outro é o DHT11.cpp, para baixá-los basta fazer o download do arquivo DHT11.zip a partir do seguinte link: http://www.seucurso.com.br/downloads/DHT11.zip

 

Para o Windows basta criar uma pasta DHT11 dentro da pasta Libraries que está no local de instalação da IDE Arduino:

 

 

 

 

E copiar os arquivos descompactados dentro dessa pasta:

 

 

 

 

Para o MAC OS, segure a tecla CONTROL e clique sobre o ícone da IDE Arduino, em seguida clique na opção Mostrar Conteúdo do Pacote. Encontre a pasta chamada libraries:

 

 

 

 

Crie uma pasta chamada DHT11 dentro da pasta libraries:

 

 

 

 

Copie os arquivos DHT11.h e DHT11.cpp para dentro da pasta criada:

 

 

 

 

Ok, biblioteca no devido lugar, vamos a montagem do experimento e programação para testá-lo.

 

Basta o experimento será necessário, obviamente um Arduino, uma placa de contatos (prot-o-board), um resistor de 10K ohm e pelo menos 3 fios para ligações.

 

 

 

 

Ligue o pino GND do sensor ao GND do Arduino:

 

 

 

 

Ligue o pino +5V do sensor ao 5V do Arduino:

 

 

 

 

Ligue o resistor de 10K ohm entre os pinos +5V e SINAL do sensor:

 

 

 

 

Agora ligue o pino SINAL do sensor ao pino digital 2 do Arduino:

 

 

 

 

Ligações feitas e conferidas, vamos para a programação. Abra a IDE Arduino e a primeira coisa a fazer é inserir a biblioteca DHT11. Vá ao menu Sketch, selecione a opção Import Library e clique sobra a opção DHT11, você terá um include feito automaticamente:

 

 

 

 

Vamos ao código:

 

 

#include 
 
dht11 sensor;
 
void setup() {
Serial.begin(9600);
}
 
void loop() {
Serial.print("Lendo sensor: ");
int chk = sensor.read(2);
switch(chk) {
case DHTLIB_OK:
Serial.println("OK");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.println("Erro no checksum");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.println("Tempo esgotado");
break;
default:
Serial.println("Erro desconhecido");
}
Serial.print("Umidade (%): ");
Serial.println((float)sensor.humidity, 2);
Serial.print("Temperatura (graus Celsius): ");
Serial.println((float)sensor.temperature, 2);
delay(2000);
}

 

 

Compile e envie o código para seu Arduino. Para ver o resultado, basta abrir o Monitor Serial da IDE Arduino:

 

 

 

 

Uma boa sugestão é fazer algumas buscas na Internet e criar uma função para calcular o ponto de orvalho segundo as equações da NOAA

 

Comentários  

 
0 #18 DuvidasFernando Bryan Frizzarin 05-12-2015 13:46
André, quais são suas dúvidas?
Citar
 
 
-1 #17 como atribuir 2 valores para humidade e dois valores para temperaturaandre aguiar 03-12-2015 22:16
boa noite fernando tudo bem... cara sou iniciante com o arduino e gostaria se possivel de uma ajuda sua, preciso que o sensor DHT11 passe as informacoes de humidade e temperatura para o arduino que por sua vez envie comandos para o modulo rele de duas janelas acionarem as resistencias quando a HUMIDADE minima for 60% e a maxima 75% e a TEMPERATURA minima 37.7 e a maxima 38.8 sao duas resistencias uma na agua pra aumentar a humidade e outra fora d'agua para temperatura. sera que vc pode me ajudar com esse problema?? forte abraco
Citar
 
 
0 #16 RodrigoRodrigo Cury 19-09-2015 17:59
Oi... o valor sempre retorna inteiro, apesar da variavel do tipo float!... eu preciso calcular o valor com decimais, como eu faço?
Citar
 
 
0 #15 FuncionaGil Silva 30-01-2015 07:27
Beleza cara funciona perfeitamente 8)
Citar
 
 
0 #14 Eng. EletrônicoCarlos P.Baumhardt 05-06-2014 16:15
Citando Gilson jose:
Também gostaria de saber a função do resistor. Além do mais, o resistor que está na foto é de 100K?


O resistor serve para alimentar a saída do sensor (pull-up) pois a saída é do tipo coletor (ou dreno) aberto. desta forma, usando um sinal de enable, é possível ligar várias saídas em paralelo (fazendo um OR). O resistor deve ser de 4k7 a 10k (usar um valor mais alto se varios forem ligados em paralelo).
Citar
 
 
0 #13 Dando valor constanteFernando Bryan Frizzarin 09-04-2014 20:00
Verifique seu circuito e seu código.
Citar
 
 
-1 #12 DANDO UM VALOR CONSTANTEoijougftstrcvhkjlkm 09-04-2014 02:04
AMIGAO TANTO HUMIDADE QUANTO TEMP SO DA 255 O QUE FAZER ?
Citar
 
 
-2 #11 dando errooijougftstrcvhkjlkm 09-04-2014 01:56
Aqui esta dando erro na umidade o q u fazr ? :cry:
Citar
 
 
0 #10 certojoão neto 13-01-2014 18:33
Citando Fernando Bryan Frizzarin:
João, essa biblioteca só para Arduino, para PC nunca tentei usar, mas você me deu a ideia e quando der irei tentar.

qualquer coisa me informe. agradeço sua ajuda
Citar
 
 
0 #9 Para PCFernando Bryan Frizzarin 10-01-2014 18:04
João, essa biblioteca só para Arduino, para PC nunca tentei usar, mas você me deu a ideia e quando der irei tentar.
Citar
 

Adicionar comentário


Código de segurança
Atualizar

You are here: