Como Conectar O Sensor De Temperatura E Umidade DHT11 Ao Arduino

Índice:

Como Conectar O Sensor De Temperatura E Umidade DHT11 Ao Arduino
Como Conectar O Sensor De Temperatura E Umidade DHT11 Ao Arduino

Vídeo: Como Conectar O Sensor De Temperatura E Umidade DHT11 Ao Arduino

Vídeo: Como Conectar O Sensor De Temperatura E Umidade DHT11 Ao Arduino
Vídeo: Como criar Sensor Temperatura e Umidade Arduino | DHT11 2024, Abril
Anonim

O sensor de temperatura e umidade DHT17 é um sensor popular e barato que pode ser usado em uma faixa bastante ampla de temperatura e umidade relativa. Vamos ver como conectá-lo ao Arduino e como ler seus dados.

Sensor de temperatura e umidade DHT11
Sensor de temperatura e umidade DHT11

Necessário

  • - Arduino;
  • - Sensor de temperatura e umidade DHT17.

Instruções

Passo 1

Portanto, o sensor DHT11 tem as seguintes características:

- faixa de umidade relativa medida - 20..90% com um erro de até 5%, - faixa de temperaturas medidas - 0..50 graus Celsius com um erro de até 2 graus;

- tempo de resposta a mudanças na umidade - até 15 segundos, temperatura - até 30 segundos;

- o período mínimo de votação é de 1 segundo.

Como você pode ver, o sensor DHT11 não é muito preciso e a faixa de temperatura não cobre valores negativos, o que dificilmente é adequado para medições externas na estação fria em nosso clima. No entanto, seu baixo custo, tamanho pequeno e facilidade de uso compensam parcialmente essas desvantagens.

A figura mostra a aparência do sensor e suas dimensões em milímetros.

Aparência e dimensões do sensor DHT11
Aparência e dimensões do sensor DHT11

Passo 2

Considere o diagrama de conexão do sensor de temperatura e umidade DHT11 para o microcontrolador, em particular, para o Arduino. Na imagem:

- MCU - microcontrolador (por exemplo, Arduino ou similar) ou computador de placa única (Raspberry Pi ou similar);

- DHT11 - sensor de temperatura e umidade;

- DATA - barramento de dados; se o comprimento do cabo de conexão do sensor ao microcontrolador não ultrapassar 20 metros, é recomendável puxar este barramento para a fonte de alimentação com um resistor de 5, 1 kOhm; se mais de 20 metros, então outro valor adequado (menor).

- VDD - fonte de alimentação do sensor; tensões permitidas de ~ 3,0 a ~ 5,5 volts DC; se for usada uma fonte de alimentação de ~ 3,3 V, é aconselhável usar um fio de alimentação de até 20 cm.

Um dos fios do sensor - o terceiro - não está conectado a nada.

O sensor DHT11 é geralmente vendido como um conjunto completo com a tubulação necessária - resistor pull-up e capacitor de filtro.

Diagrama de conexão do sensor DHT11 ao microcontrolador
Diagrama de conexão do sensor DHT11 ao microcontrolador

etapa 3

Vamos montar o esquema considerado. Também vou conectar um analisador lógico ao circuito para estudar o diagrama de tempo da comunicação com o sensor.

Sensor DHT11 e Arduino
Sensor DHT11 e Arduino

Passo 4

Vamos pelo caminho mais simples: baixe a biblioteca do sensor DHT11 (link na seção "Fontes"), instale-o da maneira padrão (descompacte-o no diretório / libraries / do ambiente de desenvolvimento do Arduino).

Vamos escrever um esboço tão simples. Vamos carregá-lo no Arduino. Este esboço emitirá as mensagens de RH e temperatura lidas do sensor DHT11 para a porta serial do computador a cada 2 segundos.

Esboço para trabalhar com um sensor de temperatura e umidade DHT11
Esboço para trabalhar com um sensor de temperatura e umidade DHT11

Etapa 5

Agora, usando o diagrama de tempo obtido do analisador lógico, vamos descobrir como é feita a troca de informações.

O sensor de temperatura e umidade DHT11 usa uma interface serial de fio único para se comunicar com o microcontrolador. Uma troca de dados leva cerca de 40 ms e contém: 1 bit de solicitação do microcontrolador, 1 bit de resposta do sensor e 40 bits de dados do sensor. Os dados incluem: 16 bits de informações de umidade, 26 bits de informações de temperatura e 8 bits de verificação.

Vamos dar uma olhada no diagrama de tempo da comunicação do Arduino com o sensor DHT11.

Pode-se observar na figura que existem dois tipos de impulsos: curtos e longos. Pulsos curtos neste protocolo de troca denotam zeros, pulsos longos - uns.

Portanto, os dois primeiros pulsos são a solicitação do Arduino ao DHT11 e, consequentemente, a resposta do sensor. Em seguida, vêm 16 bits de umidade. Além disso, eles são divididos em bytes, alto e baixo, no alto à esquerda. Ou seja, em nossa figura, os dados de umidade são os seguintes:

0001000000000000 = 00000000 00010000 = 0x10 = 16% UR.

Dados de temperatura semelhantes a:

0001011100000000 = 00000000 00010111 = 0x17 = 23 graus Celsius.

Bits de verificação - a soma de verificação é apenas a soma de 4 bytes de dados recebidos:

00000000 +

00010000 +

00000000 +

00010111 =

00100111 em binário ou 16 + 23 = 39 em decimal.

Recomendado: