Arduino Nano - DHT22

Este tutorial ensina você a usar o Arduino Nano para ler a temperatura e a umidade do sensor DHT22. Em detalhes, vamos aprender:

Nós sugerimos:

Hardware Necessário

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×DHT22 Módulo Sensor de Temperatura e Umidade
1×(Alternativa) DHT22 Sensor
1×10 kΩ Resistor
1×Protoboard
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o Sensor de Temperatura e Umidade DHT22

Pinagem do Sensor de Temperatura e Umidade DHT22

O DHT22 encontrado no mercado vem em duas formas: sensor e módulo.

O sensor DHT22 tem quatro pinos:

  • Pino GND: deve ser conectado ao GND (0V)
  • Pino VCC: deve ser conectado ao VCC (5V)
  • Pino DATA: usado para a comunicação entre o sensor e o Arduino Nano
  • Pino NC: não é necessário, este pino pode ser ignorado
Pinagem do sensor de temperatura e umidade DHT22

O módulo DHT22 tem três pinos:

  • Pino GND (-): deve ser conectado ao GND (0V)
  • Pino VCC (+): deve ser conectado ao VCC (5V)
  • Pino OUT: usado para a comunicação entre o sensor e o Arduino Nano

※ Nota:

A disposição dos pinos em um módulo pode ser diferente de um fabricante para outro. É essencial sempre consultar as etiquetas impressas no módulo ao usá-lo. Olhe com atenção!

Diagrama de Ligação

Ligação do Arduino Nano com o Sensor DHT22

Um resistor com resistência entre 5K e 10K Ohms é necessário para manter a linha de dados em nível alto, permitindo assim a comunicação entre o sensor e o Arduino Nano.

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

This image is created using Fritzing. Click to enlarge image

Ligação do Arduino Nano com o Módulo DHT22

O módulo do sensor DHT22 vem com um resistor embutido, eliminando a necessidade de ligações extras ou soldagem. Isso nos poupa tempo e esforço.

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

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Nano e outros componentes.

Como Programar para o Sensor de Temperatura DHT22

  • O primeiro passo é incluir a biblioteca:
#include "DHT.h"
  • Especifique o pino do Arduino Nano que está conectado ao sensor DHT22.
#define DHT_PIN 3 // Arduino Nano pin connected to DHT22 sensor
  • Especifique o tipo de sensor: DHT22
#define DHT_TYPE DHT22
  • Crie um objeto DHT.
DHT dht22(DHT_PIN, DHT_TYPE);
  • Inicie o processo de configuração do sensor:
dht22.begin();
  • Leia o valor da umidade.
float humi = dht22.readHumidity();
  • Leia a temperatura em Celsius.
float temperature_C = dht22.readTemperature();
  • Leia a temperatura em Fahrenheit.
float temperature_F = dht22.readTemperature(true);

Código Arduino Nano para o DHT22

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

Passos Rápidos

  • Conecte um cabo USB ao Arduino Nano e ao PC.
  • Abra o Arduino IDE e selecione a placa e a porta apropriadas.
  • Clique no ícone Libraries na barra esquerda do Arduino IDE.
  • Pesquise por “DHT” e localize a biblioteca DHT sensor library da Adafruit.
  • Pressione o botão Install para instalar a biblioteca.
Biblioteca do sensor DHT22 para Arduino Nano
  • Você será solicitado a instalar algumas outras dependências da biblioteca.
  • Para instalar todas elas, basta clicar no botão Install All.
Biblioteca Adafruit Unified Sensor para Arduino Nano
  • Copie o código para o seu sensor e abra-o no Arduino IDE.
  • Clique no botão Upload no Arduino IDE para compilar e fazer upload do código para o Arduino Nano.
  • Mude a temperatura do ambiente ao redor do sensor.
  • Confira os resultados no Serial Monitor.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' on 'COM15')
New Line
9600 baud
Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F
Ln 11, Col 1
Arduino Nano on COM15
2

Vídeo

Conhecimento Adicional

Vamos comparar os sensores DHT11 e DHT22.

O que DHT11 e DHT22 têm em comum

  • A pinagem é a mesma.
  • A ligação com um Arduino Nano é idêntica.
  • A programação, com a ajuda de uma biblioteca, é semelhante, com apenas uma linha de código diferente.

As diferenças entre DHT11 e DHT22

DHT11 DHT22
Preço custo ultrabaixo custo baixo
Faixa de Temperatura 0°C a 50°C -40°C a 80°C
Precisão da Temperatura ± 2°C ± 0,5°C
Faixa de Umidade 20% a 80% 0% a 100%
Precisão da Umidade 5% ± 2 a 5%
Taxa de Leitura 1Hz (uma vez por segundo) 0,5Hz (uma vez a cada 2 segundos)
Tamanho do corpo 15.5mm x 12mm x 5.5mm 15.1mm x 25mm x 7.7mm

É evidente que o DHT22 é mais preciso que o DHT11 e tem uma faixa maior, mas é mais caro.

※ 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!