O DHT11 é um sensor que permite obter a temperatura e umidade.
O DHT11 usa um sensor de umidade capacitivo e um termistor para medir o ar ao redor e emite um sinal digital no pino de dados.
Nenhum pino de entrada analógico é necessário.
Um resistor Pull-Up de 10k deve ser utilizado para a leitura dos dados.
Uma biblioteca externa é necessária para obter os dados corretamente.
A biblioteca utilizada neste projeto será a DFRobot_DHT11, encontrada em:
https://github.com/DFRobot/DFRobot_DHT11
Para instalar esta biblioteca, abra no Arduino IDE o gerenciador de bibliotecas, e na busca digite DFRobot_DHT11, clique em instalar para finalizar.
Neste projeto você criará um circuito que faz o uso um DHT11 com o Arduino.
Para a criação deste circuito serão necessários os seguintes componentes:
Para montar o circuito, visualize na imagem a seguir como conectar os componentes entre a placa Arduino e a breadboard.
A seguir temos o schematics do circuito, que detalha suas conexões e fornece detalhes mais específicos do que o circuito da imagem anterior.
Uma vez criado o circuito, use o código fonte a seguir no Arduino IDE para fazer o upload dele na placa Arduino e assim ver o resultado do circuito em funcionamento.
/**
* Código do curso Magos do Arduino para utilizar o sensor de umidade e
* temperatura DHT11 com o Arduino.
* Os dados do sensor são lidos e impressos via conexão serial.
*
* (c) Copyright KazaleIT
* @kazaleitoficial no YouTube
**/
#include <DFRobot_DHT11.h>
#define PINO_DHT11 10
DFRobot_DHT11 DHT11;
void setup() {
// inicializa a conexão serial
Serial.begin(9600);
}
void loop() {
// realiza a leitura dos dados do sensor
DHT11.read(PINO_DHT11);
// obtém a temperatura e umidade do ar e imprime os valores via conexão serial
char buffer[40];
sprintf(buffer, "Temperatura: %d, Umidade: %d%%", DHT11.temperature, DHT11.humidity);
Serial.println(buffer);
// aguarda 1 segundo para fazer uma nova leitura
delay(1000);
}