Arduino Nano ESP32 - Sensor de Temperatura e Umidade - LCD

Este tutorial ensina você a usar o Arduino Nano ESP32 para ler o valor de umidade e temperatura dos sensores DHT11/DHT22 e exibi-lo em um LCD I2C.

Hardware Necessário

1×Arduino Nano ESP32
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 Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano ESP32

Or you can buy the following kits:

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 DHT11, o DHT22 e o 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 ao ESP32, o código do Arduino Nano ESP32... Saiba mais sobre eles nos links a seguir:

Diagrama de Ligação

Em alguns casos, o Arduino Nano ESP32 pode não fornecer energia suficiente para o display LCD. Se o LCD não exibir 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 de 3.3V ou ao pino de 5V

Arduino Nano ESP32 - Ligação do Módulo DHT11 com LCD I2C

Diagrama de ligação do módulo DHT11 com LCD e Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Arduino Nano ESP32 - Ligação do Módulo DHT22 com LCD I2C

  • Diagrama de ligação com protoboard, alimentando o Arduino Nano ESP32 pela porta USB e alimentando o LCD pela placa Arduino Nano ESP32
Diagrama de ligação do módulo DHT22 com LCD e Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Código Arduino Nano ESP32 - Sensor DHT11 - LCD I2C

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-temperature-humidity-sensor-lcd */ #include <DHT.h> #include <DIYables_LCD_I2C.h> #define DHT_SENSOR_PIN D2 // The Arduino Nano ESP32 pin 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 do LCD I2C pode ser diferente em cada fabricante. No código, usamos o endereço 0x27, que é especificado pelo fabricante DIYables

Passos Rápidos

Para começar com o Arduino Nano ESP32, siga estes passos:

  • Se você é novo no Arduino Nano ESP32, consulte o tutorial sobre como configurar o ambiente para o Arduino Nano ESP32 na Arduino IDE.
  • Faça a ligação dos componentes de acordo com o diagrama fornecido.
  • Conecte a placa Arduino Nano ESP32 ao seu computador usando um cabo USB.
  • Abra a Arduino IDE no seu computador.
  • Selecione a placa Arduino Nano ESP32 e a porta COM correspondente.* 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 library do Arduino Nano 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 do Arduino Nano 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 do Arduino Nano ESP32
  • Copie o código acima e cole na Arduino IDE.
  • Compile e faça o upload do código para a placa Arduino Nano 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 exibir nada, veja Solução de Problemas do LCD I2C

Código Arduino Nano ESP32 - Sensor DHT22 - LCD I2C

/* * Este código de Arduino Nano ESP32 foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano ESP32 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-temperature-humidity-sensor-lcd */ #include <DHT.h> #include <DIYables_LCD_I2C.h> #define DHT_SENSOR_PIN D2 // The Arduino Nano ESP32 pin 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 têm apenas uma linha diferente.

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!