ESP32 - Sensor de Temperatura e Umidade - LCD

Este tutorial ensina como usar o ESP32 para ler os valores de umidade e temperatura dos sensores DHT11/DHT22 e mostrá-los 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 DHT11
1×(Alternativa) DHT11 Sensor
1×(Opcional) DHT22 Temperature and Humidity Sensor
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 DHT11, DHT22 e LCD

Temos tutoriais específicos sobre o sensor de temperatura DHT11, 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 com o ESP32, o código ESP32... Saiba mais sobre eles nos links a seguir:

Diagrama de Ligação

Em alguns casos, o ESP32 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. Abaixo estão os diagramas de ligação para alguns casos de uso. Observe que o sensor DHT22 pode funcionar com 5V ou 3.3V, então você pode conectar o pino VCC do DHT22 ao pino 3.3V ou ao pino 5V

Ligação ESP32 - Módulo DHT11 - LCD I2C

  • Diagrama de ligação com protoboard, alimentando o ESP32 pela porta USB e alimentando o LCD pela placa ESP32
Diagrama de ligação do sensor DHT11 e LCD com ESP32

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.

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

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 DHT11 e LCD I2C com ESP32

This image is created using Fritzing. Click to enlarge image

Ligação ESP32 - Módulo DHT22 - LCD I2C

  • Diagrama de ligação com protoboard, alimentando o ESP32 pela porta USB e alimentando o LCD pela placa ESP32
Diagrama de ligação do sensor DHT22 e LCD com ESP32

This image is created using Fritzing. Click to enlarge image

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

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 DHT22 e LCD I2C com ESP32

This image is created using Fritzing. Click to enlarge image

Código ESP32 - Sensor DHT11 - 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-temperature-humidity-sensor-lcd */ #include <DHT.h> #include <DIYables_LCD_I2C.h> #define DHT_SENSOR_PIN 23 // ESP32 pin GPIO23 connected to DHT11 sensor #define DHT_SENSOR_TYPE DHT11 DIYables_LCD_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { dht_sensor.begin(); // initialize the DHT sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { float humi = dht_sensor.readHumidity(); // read humidity float tempC = dht_sensor.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 de um fabricante para outro. 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 na Arduino IDE.
  • Faça a ligação como na imagem acima.
  • Conecte a placa ESP32 ao seu PC com um cabo USB Type-C
  • Abra a 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 da 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 para você instalar 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 na Arduino IDE.
  • Compile e faça upload do código para a placa ESP32 clicando no botão Upload na Arduino IDE
  • Deixe o sensor mais frio ou mais quente. Por exemplo, coloque 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 do LCD I2C

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-temperature-humidity-sensor-lcd */ #include <DHT.h> #include <DIYables_LCD_I2C.h> #define DHT_SENSOR_PIN 23 // ESP32 pin GPIO23 connected to DHT22 sensor #define DHT_SENSOR_TYPE DHT22 DIYables_LCD_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { dht_sensor.begin(); // initialize the DHT sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { float humi = dht_sensor.readHumidity(); // read humidity float tempC = dht_sensor.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); }

Os dois códigos acima diferem em apenas uma linha.

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!