Magos do Arduino

Sensor de temperatura e umidade DHT11

Aprenda a utilizar o sensor de temperatura e umidade DHT11 com o Arduino

Magos do Arduino

Sensor de temperatura e umidade DHT11

O DHT11 é um sensor que permite obter a temperatura e umidade.

DHT11

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.

Sensor de temperatura e umidade DHT11

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:

  • 1x breadboard
  • 1x Arduino UNO
  • 1x DHT11
  • 1x Resistor de 10k
  • Jumpers

Circuito Sensor de temperatura e umidade DHT11

Para montar o circuito, visualize na imagem a seguir como conectar os componentes entre a placa Arduino e a breadboard.

Circuito Sensor de temperatura e umidade DHT11

Schematics Sensor de temperatura e umidade DHT11

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.

Schematics Sensor de temperatura e umidade DHT11

Código fonte para o circuito do Sensor de temperatura e umidade DHT11

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);
}