Arduino Nano ESP32 - Sensor de temperatura y humedad - pantalla LCD

Este tutorial te enseña cómo usar Arduino Nano ESP32 para leer la humedad y la temperatura desde los sensores DHT11/DHT22 y mostrarlos en una pantalla LCD I2C.

Acerca de DHT11, DHT22 y LCD

Tenemos tutoriales específicos sobre el sensor de temperatura DHT11, el sensor DHT22 y una pantalla LCD. Cada tutorial contiene información detallada e instrucciones paso a paso sobre la asignación de pines de hardware, su principio de funcionamiento, la conexión de cableado al ESP32, código para Arduino Nano ESP32... Obtén más información sobre ellos en los siguientes enlaces:

Diagrama de Cableado

En algunos casos, Arduino Nano ESP32 puede no proporcionar suficiente energía para la pantalla LCD. Si la pantalla LCD no muestra nada, alimente la pantalla LCD con una fuente de alimentación externa. A continuación se muestran diagramas de cableado para algunos casos de uso. Tenga en cuenta que el sensor DHT22 puede funcionar con 5V o 3.3V, por lo que puede conectar el pin VCC del DHT22 al pin de 3.3V o al pin de 5V.

Arduino Nano ESP32 - Cableado del Módulo DHT11 LCD I2C

Diagrama de cableado LCD para Arduino Nano ESP32 y el módulo DHT11

This image is created using Fritzing. Click to enlarge image

Arduino Nano ESP32 - Módulo DHT22 LCD I2C Cableado

  • Diagrama de cableado con protoboard, alimentando Arduino Nano ESP32 a través del puerto USB, alimentando la pantalla LCD mediante la placa Arduino Nano ESP32.
Diagrama de cableado de Arduino Nano ESP32, módulo DHT22 y LCD

This image is created using Fritzing. Click to enlarge image

Código de Arduino Nano ESP32 - Sensor DHT11 - LCD I2C

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-temperature-humidity-sensor-lcd */ #include <DHT.h> #include <LiquidCrystal_I2C.h> #define DHT_SENSOR_PIN D2 // The Arduino Nano ESP32 pin connected to DHT11 sensor #define DHT_SENSOR_TYPE DHT11 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { dht_sensor.begin(); // initialize the DHT sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { float humi = dht_sensor.readHumidity(); // read humidity float tempC = dht_sensor.readTemperature(); // read temperature lcd.clear(); // check whether the reading is successful or not if (isnan(tempC) || isnan(humi)) { lcd.setCursor(0, 0); lcd.print("Failed"); } else { lcd.setCursor(0, 0); // display position lcd.print("Temp: "); lcd.print(tempC); // display the temperature lcd.print("°C"); lcd.setCursor(0, 1); // display position lcd.print("Humi: "); lcd.print(humi); // display the humidity lcd.print("%"); } // wait a 2 seconds between readings delay(2000); }

※ Nota:

La dirección I2C del LCD puede variar entre fabricantes. En el código, usamos la dirección 0x27 que especifica el fabricante DIYables.

Pasos R\u00e1pidos

Para empezar con Arduino Nano ESP32, siga estos pasos:

  • Si eres nuevo en Arduino Nano ESP32, consulta el tutorial sobre cómo configurar el entorno para Arduino Nano ESP32 en el IDE de Arduino.
  • Conecta los componentes de acuerdo con el diagrama proporcionado.
  • Conecta la placa Arduino Nano ESP32 a tu computadora utilizando un cable USB.
  • Inicia el IDE de Arduino en tu computadora.
  • Selecciona la placa Arduino Nano ESP32 y su puerto COM correspondiente. Haz clic en el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
  • Escribe “DHT” en la caja de búsqueda, luego busca la biblioteca de sensores DHT de Adafruit
  • Instala la biblioteca haciendo clic en el botón Instalar.
Biblioteca de sensores DHT para Arduino Nano ESP32
  • Aparece una ventana para pedirte que instales las dependencias de la biblioteca.
  • Instala todas las dependencias de la biblioteca haciendo clic en el botón Instalar todo.
Arduino Nano ESP32 Biblioteca de sensores unificados de Adafruit
  • Escribe “LiquidCrystal I2C” en la caja de búsqueda, luego busca la biblioteca LiquidCrystal_I2C de Frank de Brabander.
  • Haz clic en el botón Instalar para instalar la biblioteca LiquidCrystal_I2C.
Biblioteca LiquidCrystal I2C para Arduino Nano ESP32
  • Copia el código anterior y pégalo en el IDE de Arduino.
  • Compila y sube el código a la placa Arduino Nano ESP32 haciendo clic en el botón Cargar en el IDE de Arduino.
  • Haz que el sensor esté más frío o más caliente. Por ejemplo, colocando el sensor cerca de una taza de café caliente.
  • Ver el resultado en la pantalla LCD.

Si la pantalla LCD no muestra nada, consulte Solución de problemas en LCD I2C

Código Arduino Nano ESP32 - Sensor DHT22 - LCD I2C

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-temperature-humidity-sensor-lcd */ #include <DHT.h> #include <LiquidCrystal_I2C.h> #define DHT_SENSOR_PIN D2 // The Arduino Nano ESP32 pin connected to DHT22 sensor #define DHT_SENSOR_TYPE DHT22 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht_sensor(DHT_SENSOR_PIN, DHT_SENSOR_TYPE); void setup() { dht_sensor.begin(); // initialize the DHT sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { float humi = dht_sensor.readHumidity(); // read humidity float tempC = dht_sensor.readTemperature(); // read temperature lcd.clear(); // check whether the reading is successful or not if (isnan(tempC) || isnan(humi)) { lcd.setCursor(0, 0); lcd.print("Failed"); } else { lcd.setCursor(0, 0); // display position lcd.print("Temp: "); lcd.print(tempC); // display the temperature lcd.print("°C"); lcd.setCursor(0, 1); // display position lcd.print("Humi: "); lcd.print(humi); // display the humidity lcd.print("%"); } // wait a 2 seconds between readings delay(2000); }

Los dos códigos de arriba tienen solo una línea diferente.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!