//initialize lcd
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
// inicializando o DHT22
#include "DHTesp.h"
const int DHT_PIN = 15;
DHTesp dhtSensor;
void setup()
{
dhtSensor.setup(DHT_PIN, DHTesp::DHT22);
lcd.init();
lcd.clear();
lcd.backlight(); // Make sure backlight is on
// Print a message on both lines of the LCD.
//lcd.cursor(column,row) index starts at 0
lcd.setCursor(2,0); //Set cursor to character 2 on line 0
lcd.print("Ola tudo bem ?");
lcd.setCursor(2,1); //Move cursor to character 2 on line 1
lcd.print("LCD I2C");
delay(2000);
}
void loop()
{
lcd.clear(); // Limpa o display até o loop ser reiniciado
lcd.setCursor(1,0); // Coloca o cursor do display na coluna 1 e linha 1
lcd.print("aprendendo usar"); // Comando de saída com a mensagem que deve aparecer na coluna 2 e linha 1.
lcd.setCursor(1,1); //Coloca o cursor do display na coluna 1 e linha 2
lcd.print("Display I2C"); // Comando de saida com a mensagem que deve aparecer na coluna 2 e linha 2
delay(3000); // delay de 5 segundos com todas as mensagens na tela
TempAndHumidity data = dhtSensor.getTempAndHumidity();
lcd.clear(); // limpa lcd
lcd.setCursor(0, 0); // move cursor
// Imprimindo a temperatura no monitor serial com duas casas decimais
lcd.print("Temp: " + String(data.temperature, 2) + "C"); // print na tela
lcd.setCursor(0, 1); // move cursor
// Imprimindo a umidade no monitor serial com uma casa decimal
lcd.print("Umid: " + String(data.humidity, 1) + "%");
delay(3000);
}