#include <DHT.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#define DHT_PINO_DO_SENSOR 21 // Pino ESP32 GPIO21 conectado ao sensor DHT22
#define DHT_TIPO_DE_SENSOR DHT22
#define SDA 15 //Define pinos SDA
#define SCL 16 //Define pinos SCL
DHT dht_sensor(DHT_PINO_DO_SENSOR, DHT_TIPO_DE_SENSOR);
LiquidCrystal_I2C lcd(0x27,20,4);
void setup() {
dht_sensor.begin(); //Inicializa o sensor DHT22
Wire.begin(SDA, SCL); // Conecta o pino I2C.
lcd.init(); // Inicialização do drive do LCD
lcd.backlight(); // Acende a luz de fundo
lcd.setCursor(2,0); // Move o cursor para a linha 1, coluna 2
lcd.print("Termo Higrometro"); // O conteúdo é exibido no LCD.
}
void loop() {
float humi = dht_sensor.readHumidity();// Lê a umidade relativa do ar
float tempC = dht_sensor.readTemperature();// Lê a temperatura em graus Celsius
float tempF = dht_sensor.readTemperature(true);// Lê a temperatura em graus Fahrenheit
float tempK = tempC + 273;// Calcula a Temperatura em K
if ( isnan(tempC) || isnan(tempF) || isnan(humi)) { // Verifica se a leitura foi bem-sucedida ou não
//exibe um erro no display do LCD
lcd.setCursor(4,2); // Move o cursor para a linha 3, coluna 4
lcd.print("Falha ao ler"); // O conteúdo é exibido no LCD.
lcd.setCursor(2,3); // Move o cursor para a linha 4, coluna 2
lcd.print("o sensor DHT22!!"); // O conteúdo é exibido no LCD.
} else {
lcd.setCursor(0,1); // Move o cursor para a linha 1, coluna 0
lcd.print("Umidade: "); // O conteúdo é exibido no LCD.
lcd.print(humi);
lcd.print("%");
lcd.setCursor(0,2); // Move o cursor para a linha 1, coluna 0
lcd.print("Temperatura: ");// O conteúdo é exibido no LCD.
lcd.print(tempC);
lcd.print("C");
lcd.setCursor(6,3); // Move o cursor para a linha 1, coluna 0
lcd.print("Seu nome");// O conteúdo é exibido no LCD.
}
delay(2000);// aguarde 2 segundos entre as leituras
}
Loading
esp32-s3-devkitc-1
esp32-s3-devkitc-1