//Agregamos ls librerias de cristal liquido
#include <LiquidCrystal.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include "DHTesp.h"
//Decaramos el variable que almacena el pin a conectar el DHT11
int pinDHT = 7;
//Instanciamos el DHT
DHTesp dht;
//Inicializamos los pines conectados de la pantalla de cristal liquido al esp32
LiquidCrystal lcd(42,41,40,39,38,37);
// GPIO where the DS18B20 is connected to
const int oneWireBus = 12;
// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(oneWireBus);
// Pass our oneWire reference to Dallas Temperature sensor
DallasTemperature sensors(&oneWire);
void setup() {
// Start the Serial Monitor
Serial.begin(115200);
//Inicializamos el dht
dht.setup(pinDHT, DHTesp::DHT22);
// Start the DS18B20 sensor
sensors.begin();
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
}
void loop() {
//Obtenemos datos humedad y temperatura
TempAndHumidity data = dht.getTempAndHumidity();
//Mostramos los datos de la temperatura y humedad
// set the cursor to column 0, line 0
lcd.setCursor(0, 0);
Serial.println("Temperatura: " + String(data.temperature, 2) + "°C");
Serial.println("Humedad: " + String(data.humidity, 1) + "%");
Serial.println("---");
lcd.print("T:");
lcd.print(data.temperature, 1); //1 es los decimales
lcd.print("C ");
lcd.print("H:");
lcd.print(data.humidity, 1);
lcd.print("%");
// set the cursor to column 0, line 1
lcd.setCursor(0, 1);
//temperatura ds18b20
sensors.requestTemperatures();
float temperatureC = sensors.getTempCByIndex(0);
Serial.print(temperatureC);
Serial.println("ºC");
// print temperatureC
lcd.print("T:");
lcd.print(temperatureC, 1);
lcd.print("C");
}