Arduino - DHT11

Neste tutorial, vamos aprender:

Sobre o Sensor de Temperatura e Umidade DHT11

DHT11
Tensão de operação3 a 5V
Faixa de temperatura 0°C a 50°C
Precisão de temperatura ± 2°C
Faixa de umidade 20% a 80%
Precisão de umidade 5%
Taxa de leitura 1Hz (uma vez por segundo)

Pinagem

O DHT11 existe em duas formas: sensor e módulo.

Pinagem do sensor de temperatura e umidade DHT11

O sensor DHT11 tem quatro pinos:

  • Pino GND: precisa ser conectado ao GND (0V)
  • Pino VCC: precisa ser conectado ao VCC (5V ou 3.3V)
  • Pino DATA: este pino é usado para a comunicação entre o sensor e o Arduino
  • Pino NC: não conectado, podemos ignorar este pino

O módulo DHT11 tem três pinos:

  • Pino GND: precisa ser conectado ao GND (0V)
  • Pino VCC: precisa ser conectado ao VCC (5V ou 3.3V)
  • Pino DATA: este pino é usado para a comunicação entre o sensor e o Arduino

Alguns fabricantes fornecem o sensor DHT11 em forma de módulo com três pinos: GND, VCC e DATA (ou, alternativamente: -, + e OUT).

Diagrama de Ligação

Na forma de sensor, é necessário um resistor de 5K a 10K Ohms para manter a linha de dados em nível alto e permitir a comunicação entre o sensor DHT11 e o Arduino

Arduino - Ligação do Sensor DHT11

Diagrama de ligação do Arduino com o sensor de temperatura e umidade DHT11

This image is created using Fritzing. Click to enlarge image

Arduino - Ligação do Módulo DHT11

A maioria dos módulos de sensor DHT11 já tem um resistor embutido, então você não precisa adicioná-lo. Isso nos poupa um pouco de trabalho de ligação ou de solda.

Diagrama de ligação do Arduino com o módulo de temperatura e umidade DHT11

This image is created using Fritzing. Click to enlarge image

Como Programar o Sensor de Temperatura DHT11

A programação para os dois sensores é parecida. Há apenas uma linha de código diferente.

  • Inclua a biblioteca:
#include "DHT.h"
  • Defina o pino do Arduino conectado ao sensor DHT:
#define DHT11_PIN 2
  • Declare o objeto DHT11
DHT dht11(DHT11_PIN, DHT11);
  • Inicialize o sensor:
dht11.begin();
  • Leia a umidade:
float humi = dht11.readHumidity();
  • Leia a temperatura em Celsius:
float tempC = dht11.readTemperature();
  • Leia a temperatura em Fahrenheit:
float tempF = dht11.readTemperature(true);

Código Arduino - DHT11

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino/arduino-dht11 */ #include "DHT.h" #define DHT11_PIN 2 DHT dht11(DHT11_PIN, DHT11); void setup() { Serial.begin(9600); dht11.begin(); // initialize the sensor } void loop() { // wait a few seconds between measurements. delay(2000); // read humidity float humi = dht11.readHumidity(); // read temperature as Celsius float tempC = dht11.readTemperature(); // read temperature as Fahrenheit float tempF = dht11.readTemperature(true); // check if any reads failed if (isnan(humi) || isnan(tempC) || isnan(tempF)) { Serial.println("Failed to read from DHT11 sensor!"); } else { Serial.print("DHT11# Humidity: "); Serial.print(humi); Serial.print("%"); Serial.print(" | "); Serial.print("Temperature: "); Serial.print(tempC); Serial.print("°C ~ "); Serial.print(tempF); Serial.println("°F"); } }

Passos Rápidos

  • Conecte o Arduino ao PC usando o cabo USB
  • Abra o Arduino IDE e selecione a placa e a porta corretas
  • Vá até o ícone Libraries na barra esquerda do Arduino IDE.
  • Pesquise “DHT” e encontre a biblioteca DHT sensor library da Adafruit
  • Clique no botão Install para instalar a biblioteca.
Biblioteca DHT sensor no Arduino
  • Será solicitado que você instale algumas outras dependências da biblioteca
  • Clique no botão Install All para instalar todas as dependências da biblioteca.
Biblioteca Adafruit Unified Sensor no Arduino
  • Copie o código acima correspondente ao sensor que você tem e abra-o no Arduino IDE
  • Clique no botão Upload no Arduino IDE para carregar o código no Arduino
  • Deixe o ambiente ao redor do sensor mais quente ou mais frio
  • Veja o resultado no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno' on 'COM15')
New Line
9600 baud
DHT11# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT11# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT11# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT11# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT11# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F DHT11# Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F DHT11# Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F
Ln 11, Col 1
Arduino Uno on COM15
2

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!