Arduino - Sensor de temperatura y humedad - LCD

Aprenderemos a:

Hardware Requerido

1×Arduino Uno R3
1×Cable USB 2.0 tipo A/B (para PC USB-A)
1×Cable USB 2.0 tipo C/B (para PC USB-C)
1×LCD I2C
1×DHT11 Módulo Sensor de Temperatura y Humedad
1×Cables Puente

You can use DHT22 sensor instead of DHT11 sensor.

1×(Recomendado) Shield de Bloque de Terminales de Tornillo para Arduino Uno
1×(Recomendado) Shield de Protoboard para Arduino Uno
1×(Recomendado) Carcasa para Arduino Uno
1×(Recomendado) Placa Base de Prototipado y Kit de Protoboard para Arduino Uno

Or you can buy the following kits:

1×DIYables STEM V3 Starter Kit (Arduino included)
1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca de DHT11, DHT22 y LCD

Si no conoces el sensor de temperatura DHT11, DHT22 y la pantalla LCD (disposición de pines, cómo funciona, cómo programarla ...), aprende sobre ellos en los siguientes tutoriales:

Diagrama de Cableado

Arduino - Cableado del LCD del módulo DHT11

Diagrama de cableado LCD para Arduino DHT11: temperatura y humedad

This image is created using Fritzing. Click to enlarge image

Arduino - Cableado LCD del módulo DHT22

Diagrama de cableado LCD para temperatura y humedad con DHT22 en Arduino

This image is created using Fritzing. Click to enlarge image

Cableado real para DHT11

Cableado de Arduino DHT11 y LCD

This image is created using Fritzing. Click to enlarge image

Código de Arduino - Sensor DHT11 - LCD I2C

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-temperature-humidity-sensor-lcd */ #include <LiquidCrystal_I2C.h> #include "DHT.h" #define DHTPIN 2 #define DHTTYPE DHT11 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht(DHTPIN, DHTTYPE); void setup() { dht.begin(); // initialize the sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { delay(2000); // wait a few seconds between measurements float humi = dht.readHumidity(); // read humidity float tempC = dht.readTemperature(); // read temperature lcd.clear(); // check if any reads failed if (isnan(humi) || isnan(tempC)) { lcd.setCursor(0, 0); lcd.print("Failed"); } else { lcd.setCursor(0, 0); // start to print at the first row lcd.print("Temp: "); lcd.print(tempC); // print the temperature lcd.print((char)223); // print ° character lcd.print("C"); lcd.setCursor(0, 1); // start to print at the second row lcd.print("Humi: "); lcd.print(humi); // print the humidity lcd.print("%"); } }

※ Nota:

La dirección I2C del LCD puede variar según los fabricantes. En el código, usamos 0x27, que está especificado por el fabricante DIYables.

Pasos R\u00e1pidos

  • Conecta Arduino al PC mediante un cable USB
  • Abre Arduino IDE, selecciona la placa y el puerto correctos
  • Ve al icono Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “DHT”, luego encuentra la biblioteca de sensores DHT de Adafruit
  • Haz clic en el botón Instalar para instalar la biblioteca.
Librería de sensores DHT para Arduino
  • Se le pedirá instalar algunas dependencias de otras bibliotecas.
  • Haga clic en el botón Instalar todo para todas las dependencias de la biblioteca.
Biblioteca unificada de sensores de Adafruit para Arduino
  • Busca “LiquidCrystal I2C”, luego encuentra la biblioteca LiquidCrystal_I2C de Frank de Brabander
  • Haz clic en el botón Instalar para instalar la biblioteca LiquidCrystal_I2C.
Biblioteca LiquidCrystal I2C de Arduino
  • Copie el código anterior y ábralo con Arduino IDE
  • Haga clic en el botón Subir en Arduino IDE para cargar el código a Arduino
  • Haga que el entorno alrededor del sensor esté más caliente o más frío
  • Vea el resultado en la pantalla LCD
Cableado de Arduino, DHT11 y LCD

This image is created using Fritzing. Click to enlarge image

El código anterior también funciona para Arduino Nano. Un abuelo, que aprende a través de este tutorial para guiar a su nieto, ha probado este código con Arduino Nano y nos ha enviado el resultado como se muestra a continuación:

Arduino muestra la temperatura y la humedad en la pantalla LCD.

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

Código de Arduino - Sensor DHT22 - LCD I2C

/* * Este código de Arduino fue desarrollado por es.newbiely.com * Este código de Arduino se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino/arduino-temperature-humidity-sensor-lcd */ #include <LiquidCrystal_I2C.h> #include "DHT.h" #define DHTPIN 2 #define DHTTYPE DHT22 LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows DHT dht(DHTPIN, DHTTYPE); void setup() { dht.begin(); // initialize the sensor lcd.init(); // initialize the lcd lcd.backlight(); // open the backlight } void loop() { delay(2000); // wait a few seconds between measurements float humi = dht.readHumidity(); // read humidity float tempC = dht.readTemperature(); // read temperature lcd.clear(); // check if any reads failed if (isnan(humi) || isnan(tempC)) { lcd.setCursor(0, 0); lcd.print("Failed"); } else { lcd.setCursor(0, 0); // start to print at the first row lcd.print("Temp: "); lcd.print(tempC); // print the temperature lcd.print((char)223); // print ° character lcd.print("C"); lcd.setCursor(0, 1); // start to print at the second row lcd.print("Humi: "); lcd.print(humi); // print the humidity lcd.print("%"); } }

※ Nota:

El código para DHT11 y DHT22 es idéntico excepto por una línea de código. La biblioteca para DHT11 y DHT22 es la misma.

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!