#include <DHTesp.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 column and 2 rows
#define RED 4
#define GREEN 16
#define BLUE 17
#define DHT_PIN 27
DHTesp dhtSensor;
void setup() {
Serial.begin(115200);
Serial.println("INICIANDO EL SISTEMA");
Serial.println("INICIANDO TEMP y HUM");
dhtSensor.setup(DHT_PIN, DHTesp::DHT22); //Cambiar de DHT22 a DHT11 cuando se hace en físico
Serial.println("INICIANDO RGB");
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
Serial.println("Ready...!");
lcd.init(); // initialize the lcd
lcd.backlight();
}
void loop() {
TempAndHumidity data = dhtSensor.getTempAndHumidity();
float temperature = (data.temperature);
float humidity = (data.humidity);
if(temperature <= 0){
digitalWrite(RED, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, HIGH);
}
else if(temperature > 0 && temperature <= 15){
digitalWrite(RED, LOW);
digitalWrite(GREEN, HIGH);
digitalWrite(BLUE, LOW);
}
else if(temperature > 15 && temperature <= 25){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, HIGH);
digitalWrite(BLUE, LOW);
}
else if(temperature > 25){
digitalWrite(RED, HIGH);
digitalWrite(GREEN, LOW);
digitalWrite(BLUE, LOW);
}
Serial.println(temperature);
delay(1000);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.setCursor(0, 1);
lcd.print("Humedad: ");
lcd.print(humidity);
delay(2000);
}