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:
{code}
#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);
}
{/code}
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