DHT11 en ESP32 con salida a LCD1602

DHT11 en ESP32 con salida a LCD1602

Spread the love

Como conectar DHT11 en ESP32 con salida a LCD1602

En esta entrada os mostraremos Como conectar DHT11 en ESP32 con salida a LCD1602. El DHT11 es un sensor de temperatura y humedad que es comúnmente utilizado en proyectos de electrónica y prototipos de IoT (Internet de las cosas). El ESP32 es un microcontrolador de bajo costo y bajo consumo de energía que es ampliamente utilizado en proyectos de IoT debido a su capacidad de conectividad Wi-Fi y Bluetooth.

El DHT11 es un sensor de temperatura y humedad

Cuando conectas un sensor DHT11 a un ESP32 y lo programas adecuadamente, el microcontrolador puede leer los datos de temperatura y humedad del sensor. Luego, esos datos pueden ser enviados a una pantalla LCD1602 para su visualización.

Aquí hay una descripción básica de cada componente:

ESP32: Es un microcontrolador de bajo costo y bajo consumo de energía con conectividad Wi-Fi y Bluetooth integrada. Puede ser programado utilizando el lenguaje de programación Arduino o mediante el uso de herramientas de desarrollo específicas para ESP32.

ESP32: Es un microcontrolador de bajo costo y bajo consumo de energía con conectividad Wi-Fi y Bluetooth integrada

DHT11: Es un sensor de temperatura y humedad digital. Utiliza un sensor capacitivo para medir la humedad relativa en el aire y un termistor para medir la temperatura ambiente. Proporciona datos digitales a través de un solo pin de datos.

DHT11 Es un sensor de temperatura y humedad digital

LCD1602: Es una pantalla LCD alfanumérica de 16×2 caracteres. Esto significa que puede mostrar hasta 16 caracteres en dos líneas. Se comunica con el ESP32 a través de un protocolo de comunicación como I2C o paralelo.

LCD1602: Es una pantalla LCD alfanumérica de 16x2 caracteres

Cuando se combinan estos componentes en un proyecto, el ESP32 se encarga de leer los datos del sensor DHT11 y luego los muestra en la pantalla LCD1602. Este tipo de configuración es comúnmente utilizada en estaciones meteorológicas caseras, termostatos inteligentes y otros dispositivos que requieren monitoreo de temperatura y humedad en tiempo real.

Código para conectar DHT11 en ESP32 con salida a LCD1602

Para realizar la lectura del sensor DHT11 y mostrar los datos en una pantalla LCD1602 con un ESP32, necesitarás utilizar las siguientes librerías:

  1. Para el sensor DHT11:
    • DHT Sensor Library: Esta biblioteca te permitirá interactuar con el sensor DHT11. Puedes encontrar esta biblioteca en el administrador de bibliotecas de Arduino. Simplemente busca «DHT sensor library» e instálala.
  2. Para la pantalla LCD1602:
    • LiquidCrystal_I2C: Esta biblioteca te permite controlar la pantalla LCD1602 utilizando la interfaz I2C, lo que simplifica las conexiones y el uso de pines en el ESP32. También puedes encontrar esta biblioteca en el administrador de bibliotecas de Arduino. Busca «LiquidCrystal_I2C» e instálala.

Estas dos bibliotecas son las principales que necesitarás para este proyecto. Después de instalarlas, puedes utilizarlas en tu código para interactuar con el sensor DHT11 y la pantalla LCD1602 de manera sencilla y eficiente. Recuerda que puedes encontrar ejemplos de uso de estas bibliotecas en la documentación oficial o en otros recursos en línea para ayudarte a comenzar con tu proyecto.

El código necesario

#include <LiquidCrystal_I2C.h>
#include <Wire.h> 
#include <DHTesp.h>

DHTesp dht; // Define el objeto DHT
int dhtPin = 4; // Define el pin del sensor DHT

LiquidCrystal_I2C lcd_i2c(0x27, 16, 2); // Dirección I2C 0x27, 16 columnas y 2 filas

void setup() {
  Serial.begin(115200);
  dht.setup(dhtPin, DHTesp::DHT11); // Inicializa el pin y el objeto DHT
  Wire.begin();
  lcd_i2c.init(); // Inicializa el LCD
  lcd_i2c.backlight();
}

void loop() {
  delay(2000);

  TempAndHumidity newValues = dht.getTempAndHumidity(); // Obtiene la temperatura y humedad
  if (dht.getStatus() != 0) { // Verifica si se leyó el valor correcto
    return; // Si hay un error, sale del bucle
  }

  lcd_i2c.clear(); // Borra la pantalla
  lcd_i2c.setCursor(0, 0); // Mueve el cursor a (0, 0)
  lcd_i2c.print("Temp: "); // Imprime la etiqueta de temperatura
  lcd_i2c.print(newValues.temperature); // Imprime el valor de temperatura
  lcd_i2c.print(" C"); // Imprime la unidad de temperatura
  lcd_i2c.setCursor(0, 1); // Mueve el cursor a (0, 1)
  lcd_i2c.print("Hum: "); // Imprime la etiqueta de humedad
  lcd_i2c.print(newValues.humidity); // Imprime el valor de humedad
  lcd_i2c.print(" %"); // Imprime la unidad de humedad
  
  delay(1000);
}

Y aquí tenemos el resultado, lo siguiente será mostrarlo en tu navegador y guardar los dados en una base de dados.

DHT11 en ESP32 con salida a LCD1602

Deja un comentario