ESP32 - DHT22 - LCD

Este tutorial ensina como programar o ESP32 para ler a temperatura e a umidade do DHT22 e mostrá-las no LCD I2C.

Hardware Necessário

1×38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow
1×(Alternativa) 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide
1×(Alternativa) 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide
1×(Alternativa) ESP32 Uno-form board
1×(Alternativa) ESP32 S3 Uno-form board
1×Cabo USB Tipo-A para Tipo-C (para PC com USB-A)
1×Cabo USB Tipo-C para Tipo-C (para PC com USB-C)
1×LCD I2C Display 3.3V
1×Sensor de Temperatura e Umidade DHT22
1×(Alternativa) DHT22 Sensor
1×Protoboard
1×Fios Jumper
1×(Opcional) Conector de Alimentação DC
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para ESP32
1×(Recomendado) Breakout Expansion Board for ESP32
1×(Recomendado) Divisor de Alimentação para ESP32

Or you can buy the following kits:

1×DIYables ESP32 Starter Kit (ESP32 included)
1×DIYables ESP32 S3 Starter Kit (ESP32 S3 included)
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.

Nota de compra: A maioria dos displays LCD I2C no mercado é de 5V. Eles podem funcionar com esta placa, mas não é seguro e pode danificar a placa. Recomendamos fortemente usar o display LCD I2C de 3.3V recomendado acima.

Sobre o DHT22 e o LCD

Temos tutoriais específicos sobre o sensor DHT22 e o LCD. Cada tutorial contém informações detalhadas e instruções passo a passo sobre a pinagem do hardware, o princípio de funcionamento, a ligação ao ESP32, o código ESP32... Saiba mais sobre eles nos links a seguir:

Diagrama de Ligação

Diagrama de ligação do ESP32 com sensor DHT22 e LCD

This image is created using Fritzing. Click to enlarge image

Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.

Observe que o sensor DHT22 funciona com 5V ou 3,3V, então você pode conectar o pino VCC do DHT22 ao pino 3,3V ou ao pino 5V

No diagrama acima, o LCD é alimentado pela placa ESP32. Em alguns casos, ela pode não fornecer energia suficiente para o display LCD. Se o LCD não mostrar nada, alimente o LCD com uma fonte de alimentação externa, como abaixo:

  • Se alimentar o ESP32 pelo pino Vin e o LCD com uma fonte de alimentação externa
Diagrama de ligação do ESP32 com módulo DHT22 e LCD

This image is created using Fritzing. Click to enlarge image

  • Se alimentar o ESP32 pela porta USB e o LCD com uma fonte de alimentação externa
Diagrama de ligação do ESP32 com DHT22 e LCD I2C

This image is created using Fritzing. Click to enlarge image

Código ESP32 - Sensor DHT22 - LCD I2C

/* * Este código de ESP32 foi desenvolvido por pt.newbiely.com * Este código de ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp32/esp32-dht22-lcd */ #include <DHT.h> #include <DIYables_LCD_I2C.h> #define DHT22_PIN 23 // ESP32 pin GPIO23 connected to DHT22 sensor DIYables_LCD_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht22(DHT22_PIN, DHT22); void setup() { dht22.begin(); // initialize the DHT22 sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { float humi = dht22.readHumidity(); // read humidity float tempC = dht22.readTemperature(); // read temperature lcd.clear(); // check whether the reading is successful or not if (isnan(tempC) || isnan(humi)) { lcd.setCursor(0, 0); lcd.print("Failed"); } else { lcd.setCursor(0, 0); // display position lcd.print("Temp: "); lcd.print(tempC); // display the temperature lcd.print("°C"); lcd.setCursor(0, 1); // display position lcd.print("Humi: "); lcd.print(humi); // display the humidity lcd.print("%"); } // wait a 2 seconds between readings delay(2000); }

※ Nota:

O endereço I2C do LCD pode ser diferente para cada fabricante. No código, usamos o endereço 0x27, que é especificado pelo fabricante DIYables

Passos Rápidos

  • Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente para o ESP32 no Arduino IDE.
  • Faça a ligação conforme a imagem acima.
  • Conecte a placa ESP32 ao seu PC por meio de um cabo USB Type-C
  • Abra o Arduino IDE no seu PC.
  • Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
  • Clique no ícone Libraries na barra esquerda do Arduino IDE.
  • Digite “DHT” na caixa de pesquisa e procure a biblioteca DHT sensor library da Adafruit
  • Instale a biblioteca clicando no botão Install.
Biblioteca DHT sensor para ESP32
  • Uma janela aparece pedindo que você instale as dependências da biblioteca
  • Instale todas as dependências da biblioteca clicando no botão Install All.
Biblioteca Adafruit Unified Sensor para ESP32
  • Digite “DIYables LCD I2C” na caixa de pesquisa e procure a biblioteca DIYables_LCD_I2C da DIYables
  • Clique no botão Install para instalar a biblioteca DIYables_LCD_I2C.
Biblioteca DIYables LCD I2C para ESP32
  • Copie o código acima e cole no Arduino IDE.
  • Compile e faça upload do código para a placa ESP32 clicando no botão Upload no Arduino IDE
  • Deixe o sensor mais frio ou mais quente. Por exemplo, colocando o sensor perto de uma xícara de café quente
  • Veja o resultado no LCD

Se o LCD não mostrar nada, veja Solução de Problemas no LCD I2C

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!