Site icon Blog Usinainfo

Projeto ESP32 com Display OLED e Sensor AM2302 DHT22 Medindo Temperatura e Umidade

Nesse Projeto ESP32 com Display iremos usar o Sensor AM2302 para exibir informações de temperatura e umidade no display integrado do NodeMCU ESP32 Display OLED. Veremos como utilizar a biblioteca DHT para a interação com o sensor e usaremos funções da biblioteca SSD1306 para visualizar os dados na ESP.

AM2302

O Sensor de Umidade e Temperatura AM2302, também conhecido como DHT22, é utilizado para medir a temperatura nas escalas de -40 a 125° C  e umidade do ar nas faixas de 0 a 100%, contando com precisão que varia de 2 a 5%. Algumas de suas características mais relevantes são o baixo consumo de energia, a calibração totalmente automatizada e a saída única de sinal através de um barramento digital padrão e, acima de tudo, a sua fácil utilização. Como resultado disso, esse módulo é um grande aliado para o efetivo desenvolvimento de projetos.

Projeto ESP32 com Display OLED e Sensor AM2302 DHT22

Em primeiro lugar, no Projeto ESP32 Display OLED com Sensor DHT22 Medindo Temperatura e Umidade, vamos programar esse sensor na IDE do Arduino, precisaremos instalar a biblioteca DHT. Para isso,  basta acessar o menu “Ferramentas”, na IDE do Arduino, e clicar em “Gerenciar Bibliotecas…”. Uma janela, como ilustrado abaixo, irá aparecer. No canto superior esquerdo, digite “DHT” e pressione “Enter”, no teclado. Assim que o gerenciador encontrar a biblioteca que precisamos, ele a exibirá conforme ilustrado abaixo. Por fim, selecione a versão (nesse tutorial utilizamos a versão 1.2.3) e então clique em “Instalar” e aguarde o término do processo.

Para seguir esse tutorial esp32, tenha em mãos os materiais da seguinte lista:

 

Materiais

Esquema do circuito do Projeto ESP32 Display + Sensor AM2302 DHT22

Com os materiais em mãos, é hora de montar o circuito! Verifique-o no diagrama abaixo.

A tensão de alimentação do sensor é de 3 – 5,5V, ou seja, podemos conectá-lo no Vin, como mostrado na figura acima, ou também na porta de 3V3, conforme seja necessidade do seu projeto. O cabo de dados foi conectado na porta 16.

Na sequência, vamos para o código. Na IDE do Arduino, cole o código abaixo. Lembre-se que, ao passar o código, deve-se pressionar o botão “Boot” na placa e, após o código ter sido carregado, pressiona-se o botão “EN” para que ele seja executado.

Código

[crayon-673f9e7adb138800060383/]

Logo no início, há as inclusões de bibliotecas, DHT e SSD1306, usadas para o sensor AM2303 e o display, respectivamente. Em seguida, na linha 04, declaramos um objeto display, conectado nos pinos 5 e 4. Na linha 05, é declarado um objeto dht, do sensor de temperatura e umidade, conectado no pino 16. Nesse último, é especificado também o modelo, que no nosso caso é o DHT 22.

Em seguida, duas variáveis são criadas para armazenar os valores de temperatura e umidade.

 

Void Setup

No void setup, há duas inicializações de objetos, referentes ao sensor e ao display. Nelas são executadas rotinas de códigos internos à essas bibliotecas. Em seguida, a função display.clear() é utilizada para apagar quaisquer caracteres que poderiam haver no display, de códigos passados anteriormente.

 

Void Loop

Já no void loop, nas linhas 17 e 18, são executadas duas funções de leitura do sensor, uma para a umidade e outra para a temperatura. Essas funções são provenientes da biblioteca DHT. Na sequência, da linha 20 até 26, criamos o retângulo na tela, apenas para efeito estético. Além disso, nas linhas 23 e 24, escrevemos os valores de temperatura e umidade, respectivamente. Ainda, note que foi utilizado um (String) antes da variável h, apenas por questões de formalização, explicitando para o compilador encarar o h como uma String. Também utilizamos o operador + para concatenar (juntar) a variável t e h com o símbolo de graus centígrados e percentagem, respectivamente.

Finalmente, na linha 25 é executado uma função para inverter o display, que utilizamos apenas para representar melhor o projeto na protoboard. Essa linha pode ser removida, sem prejuízo a funcionalidade do código, caso o seu projeto não necessite dela. Em seguida, é executada a função que exibe todas as configurações anteriormente passadas. Por fim, há um delay de um segundo, visto que no ambiente em que fizemos o projeto não há alterações bruscas na temperatura ou umidade.

 

Conclusão

Com o desenvolvimento desse projeto ESP32 com Display OLED e Sensor AM2302 DHT22 Medindo Temperatura e Umidade, espera-se ter contribuído para o conhecimento do prezado leitor. Certamente projetos como esse servirão de base para aplicações muito mais complexas. Diversos conceitos aprendidos aqui poderão ser aplicados em outras situações. Assim como poderão ajudar a construir soluções para situações diferentes. Fique por dentro do blog para novos tutoriais!

Conheça toda linha de produtos NodeMCU ESP32 na UsinaInfo!

Sair da versão mobile