#include <LiquidCrystal_I2C.h>
#include "DHTesp.h"
#define led1 16
#define led2 17
#define led3 18
int temp;
int temperatura = 14;
bool x = true;
DHTesp dht;
LiquidCrystal_I2C lcd(0x27, 16, 2);
byte degreeSymbol[8] = {
B01110,
B01010,
B01110,
B00000,
B00000,
B00000,
B00000,
B00000
};
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
dht.setup(temperatura, DHTesp::DHT22);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
Wire.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Hola, ESP32!");
lcd.createChar(0, degreeSymbol);
}
void loop() {
if (x == true){
delay(1000);
lcd.clear();
x = false;
}
TempAndHumidity data = dht.getTempAndHumidity();
temp = data.temperature;
lcd.setCursor(12,0);
lcd.write((uint8_t)0);
lcd.setCursor(0,0);
lcd.print("temp : " ) ;
lcd.setCursor(7,0);
lcd.print( String(data.temperature, 2) );
lcd.setCursor(13,0);
lcd.print("C" ) ;
Serial.println(temp);
delay(100);
if(temp < 32){
digitalWrite(led1 , HIGH);
digitalWrite(led2 , LOW);
digitalWrite(led3 , LOW);
lcd.setCursor(0,1);
lcd.print(" ");
}else if (temp >= 32 && temp <= 45){
digitalWrite(led1 , LOW);
digitalWrite(led2 , HIGH);
digitalWrite(led3 , LOW);
lcd.setCursor(0,1);
lcd.print(" ");
}else if(temp > 45){
digitalWrite(led1 , LOW);
digitalWrite(led2 , LOW);
digitalWrite(led3 , HIGH);
lcd.setCursor(0,1);
lcd.print("Alerta high temp ");
}
}Loading
esp32-devkit-c-v4
esp32-devkit-c-v4