FAVORITAR
FecharPlease login

Projeto | Monitorando temperatura e umidade com o sensor DHT11

Introdução

Em diversas aplicações é importante se ter o monitoramento das condições ambientais para controlar e precaver problemas no espaço de trabalho. Nesse contexto, o DHT11 é um sensor de umidade e temperatura simples e eficaz em mensurar esses dois importantes parâmetros.

Assim, neste artigo nós vamos implementar um sistema que permite medir a umidade e temperatura do ambiente utilizando o DHT11, a Raspberry Pi Pico e Micropython.

Medir Temperatura e Umidade com DHT11

Sensor DTH11

O sensor DHT11 é um dispositivo projetado para medir com precisão a temperatura e a umidade do ambiente, por meio de uma saída digital. Embutido em seu encapsulamento, há um microcontrolador de alta performance de 8 bits, que contribui para a alta performance do módulo.

Uma característica-chave do DHT11 é a incorporação de um elemento resistivo do tipo NTC, que é responsável pela medição precisa da temperatura. Graças a essa abordagem inovadora, o sensor demonstra uma resposta rápida às variações ambientais, além de possuir uma notável capacidade de resistir a interferências externas.

O dispositivo opera em uma faixa de medição de temperatura de 0 a 50ºC e em uma faixa de umidade de 20 a 80%.

LED RGB

Os LEDs RGB são compostos pela combinação de três LEDs em um único dispositivo, sendo que cada um desses LEDs pode ser controlado de forma independente. Cada um dos LEDs possui uma coloração única: vermelho (Red), verde (Green) e azul (Blue). Quando essas cores são combinadas, é possível criar uma variedade de outras cores.

Os LEDs RGB podem ser classificados de duas formas:

  • Ânodo comum: os terminais das cores vermelha, verde e azul são conectados ao terminal negativo ou terra da fonte de energia.
  • Cátodo comum:os terminais das cores vermelha, verde e azul são conectados ao terminal positivo da fonte de energia.

Montagem da placa

Para esse projeto vamos precisar de:

  • 1 x Raspberry Pi Pico
  • 1 x Protoboard
  • 1 x Cabo micro USB
  • 1 x Led RGB
  • 1 x Sensor de umidade e temperatura DHT11
  • 1 x Resistor de 10 kΩ
  • 3 x Resistores de 1 kΩ
  • Jumpers

Utilizando a protoboard, conecte o pino GND da Raspberry Pi Pico à linha de terra da protoboard usando um jumper a partir do pino 38 da placa Raspberry Pi Pico. Da mesma forma, alimente a proto conectando o pino VCC da Raspberry Pi Pico à linha de alimentação da protoboard através de um jumper a partir do pino 36.

Depois pegue o DHT11 e insira-o na protoboard. Ele possui quatro terminais:

  • O terminal 1 será conectado a linha de alimentação da protoboard
  • O terminal 2 deve ser conectado a uma entrada digital, nós escolhemos o pino 6 (GP4). Além disso, um resistor de 10 kΩ deve ser inserido no pino 2 e também deve ser conectado ao VCC
  • O terminal 3 não será utilizado
  • E o terminal 4 deve ser conectado a linha do GND (terra) da protoboard

Por último, pegue o LED RGB e insira na protoboard. Este LED é cátodo comum e também possui quatro terminais:

  • O terminal 1 corresponde ao LED interno vermelho e será conectado ao pino 17 (GP13). Além disso, um resistor de 1 kΩ deve ser inserido no terminal 1 
  • O terminal 2, de maior tamanho, é o cátodo (negativo) e será conectado ao terra (GND)
  • O terminal 3 corresponde ao LED interno verde e será conectado ao pino 19 (GP14). Além disso, um resistor de 1 kΩ deve ser inserido no terminal 3
  • E o terminal 4 corresponde ao LED interno azul que será conectado ao pino 20 (GP15). Além disso, um resistor de 1 kΩ deve ser inserido no terminal 4

Para realizar a montagem correta, confira o mapa de pinos da Raspberry Pi Pico na Figura 1.

sensor DHT11
Figura 1 – Raspberry Pi Pico pinout.

Na Figura 2 temos a montagem da protoboard.

sensor DHT11
Figura 2 – Montagem do projeto No Fritzing
Figura 3 – Montagem do projeto com componentes físicos.

Programa para captar dados

Utilizando o Thonny IDE, vamos iniciar importando as bibliotecas “machine” e “utime”, que nós já conhecemos, para poder acessar os pinos da placa e para adicionar atrasos ao programa. Além delas, vamos importar a biblioteca dht que permite realizar a leitura do DHT11 e DHT22.

Em seguida faremos a configuração das variáveis que vão conter os pinos conectados ao sensor e ao RGB. 

Como estamos utilizando o sensor DHT11 precisamos informar isso através de uma função da biblioteca dht, além de fazer referência ao pino conectado ao dispositivo. Depois configuramos como saída os pinos conectados aos terminais do RGB, nomeando de acordo com a cor que aquele terminal está relacionado.

Por último vem o loop que descreve todo o sistema. Primeiro chamamos a função “.measure()” para realizar a leitura do sensor, depois atribuímos às variáveis “h” e “t” os valores de umidade e temperatura lidos, respectivamente. Onde a temperatura é coletada em Celsius e a umidade em porcentual.

Ambos os valores serão impressos e coletados a cada 2 segundos. É importante mencionar que para obter resultados mais precisos, o DHT11 pode ser consultado no máximo uma vez por segundo. Tenha isso em mente caso queira realizar alterações no código.

O sistema RGB será utilizado para comunicar visualmente ao usuário o estado do ambiente. Então, faixas específicas de valores e cores foram definidas para que o RGB possa exibir informações pertinentes ao usuário. 

Assim, identificou-se que quando a temperatura excede 35 graus Celsius ou a umidade cai abaixo de 40%, as pessoas começam a experimentar desconforto. Portanto, foi determinado que o RGB deverá assumir a cor vermelha nessas situações. Caso a temperatura ou umidade seja registrada como 0 ou 20, respectivamente, isso pode indicar um possível erro no sensor, e nesse caso o RGB apresentará a cor azul. Em todas as outras circunstâncias, ou seja, quando a temperatura e umidade estão dentro das faixas aceitáveis, o RGB terá a cor verde.

Por fim, confira o programa completo:

Se você não possui os componentes físicos para o projeto, é possível testar o programa utilizando o simulador Wokwi. Abaixo temos a simulação virtual com uma pequena alteração, como no simulador não há o DHT11 substituímos pelo DHT22, assim foi feita uma pequena alteração no código de “sensor = dht.DHT11(machine.Pin(4))” para “sensor = dht.DHT22(machine.Pin(4))”:

Outro ponto importante é que o DHT22 tem uma faixa maior de medição que o DHT11, em que a temperatura vai de -40 a 80 ºC e umidade vai de 0 a 100%. Então na simulação do Wokwi as condições podem ser alteradas para abranger essa faixa maior.

Conclusão

A implementação do projeto utilizando o sensor DHT para medir a umidade e temperatura, juntamente com o sistema RGB para visualização, apresenta uma solução eficaz e prática de como pode ser um sistema para monitorar as condições de um ambiente.

Além disso, trabalhamos com dois dispositivos e uma biblioteca que não havíamos utilizado antes.

Outros artigos da série

<< Projeto | Acendimento automático de LED com Sensor LDRProjeto | Monitoramento da Pressão Atmosférica Com Sensor BMP180 >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Home » Maker » Projeto | Monitorando temperatura e umidade com o sensor DHT11

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS