#include "DHTesp.h"
#include "LiquidCrystal_I2C.h"
#include "WiFi.h"
DHTesp sensorDHT;
LiquidCrystal_I2C displayLcd(0x27, 16, 2);
const int PINO_DHT = 13;
const int LED_TEMP = 2;
const int LED_HUM = 4;
const float TEMP_THRESHOLD = 40.0f;
const float HUM_THRESHOLD = 80.0f;
void setup()
{
Serial.begin(115200);
pinMode(LED_TEMP, OUTPUT);
pinMode(LED_HUM, OUTPUT);
displayLcd.init();
displayLcd.backlight();
displayLcd.begin(16, 2);
sensorDHT.setup(PINO_DHT, DHTesp::DHT22);
}
void loop()
{
float temperatura = sensorDHT.getTemperature();
float umidade = sensorDHT.getHumidity();
static const char simboloGrau = '\x01';
digitalWrite(LED_TEMP, temperatura >= TEMP_THRESHOLD ? HIGH : LOW);
digitalWrite(LED_HUM, umidade >= HUM_THRESHOLD ? HIGH : LOW);
EscreverLCD(temperatura, umidade, simboloGrau);
delay(5000);
}
void EscreverLCD(const float temperatura, const float umidade, const char simboloGrau)
{
displayLcd.setCursor(0, 0);
displayLcd.printf("T: %.1f%cC", temperatura, simboloGrau);
displayLcd.setCursor(0, 1);
displayLcd.printf("H: %d%%", static_cast<int>(umidade));
}