DHT11 Arduino sensor de temperatura y humedad

Veamos cómo conectar un sensor de temperatura y humedad al Arduino Uno / Nano, y analicemos el diseño y la finalidad del sensor DHT11. El primer programa de ejemplo enviará datos desde el módulo DHT11 al monitor del puerto serie. En el segundo ejemplo, utilizaremos los datos enviados al módulo LCD 1602 con I2C. Es necesario instalar la librería DHT.h para trabajar con el sensor de temperatura y humedad de Arduino.

Para esta actividad necesitaremos:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • sensor DHT11;
  • pantalla LCD 1602 I2C;
  • LED y resistencia de 220 Ohm;
  • cables de conexion;
  • librerias LiquidCrystal_I2C.h y DHT.h

Funcionamiento del sensor DHT11 Arduino

El sensor de temperatura y humedad DHT11 está montado en la placa y tiene un conector de tres pines. El DHT11 es un sensor digital compuesto por un termistor y un sensor de humedad capacitivo. Además de su bajo coste, el DHT11 tiene las siguientes características: alimentación de 3,5 a 5 V, detección de temperatura de 0 a 50 grados con una precisión de 2 grados, detección de humedad de 20 a 95 % con una precisión de 5 %.

Cómo funciona el sensor de temperatura y humedad
Cómo funciona el sensor de temperatura y humedad DHT11

Características sensor DHT11 Arduino:

  • Alimentación: 3 – 5V
  • Corriente máxima de alimentación 2,5 mA
  • Rango de humedad relativa 20% a 80% con 5% de exactitud
  • Rango de temperatura de 0 a 50ºC con +-2ºC de exactitud
  • Velocidad de 1 medida por segundo
  • Tamaño 15.5mm x 12mm x 5,5mm

Un termistor es una resistencia térmica cuya resistencia varía con la temperatura, es decir, un aumento de la temperatura provoca una disminución de su resistencia. Un sensor de humedad capacitivo es un condensador variable que contiene una lámina de cobre conductora recubierta de textolita. Cuando las partículas de agua tocan esta capa, su permitividad dieléctrica cambia, lo que provoca un cambio en la capacidad.

Cómo conectar el sensor DHT11 al Arduino

Medición de la temperatura y la humedad con un sensor DHT11
Medición de la temperatura y la humedad con un sensor DHT11

Veremos aquí cómo obtener las medidas de este sensor con una placa Arduino Uno. El código para recuperar la información del sensor es complicado y requiere algo de trabajo. En este tipo de casos, lo más sencillo es utilizar las librerías propuestas por Arduino u otros usuarios. Estas bibliotecas se pueden recuperar en diferentes sitios, pero especialmente en GitHub, que es la plataforma de intercambio por referencia.

Programa Arduino para el sensor de temperatura DHT11

#include "DHT.h"
DHT dht(2, DHT11);

void setup() {
   dht.begin();
   Serial.begin(9600);
}

void loop() {
   float h = dht.readHumidity();
   float t = dht.readTemperature();

   Serial.print("Humidity: ");
   Serial.println(h);
   Serial.print("Temperature: ");
   Serial.println(t);
}

Explicación del código del sensor de temperatura DHT11:

  1. se puede utilizar cualquier pin de propósito general para conectar el sensor al microcontrolador Arduino Uno especificándolo en el código;
  2. Serial.print(); envía la información del puerto sin un salto de línea, Serial.println(); envía la información del puerto con un salto de línea.

Sensor de temperatura y humedad con Arduino y LCD

El circuito eléctrico. Estación meteorológica con Arduino y LCD
El circuito eléctrico. Estación meteo con Arduino y LCD
LCD 1602 i2c Arduino Uno Arduino Nano Arduino Mega
GND GND GND GND
VCC 5V 5V 5V
SDA A4 A4 20
SCL A5 A5 21

Programa Arduino sensor DHT11 y LCD 1602

#include "Wire.h"
#include "LiquidCrystal_I2C.h"
#include "DHT.h"

LiquidCrystal_I2C LCD(0x27,16,2);
DHT dht(2, DHT11);

void setup() {
   LCD.init();
   LCD.backlight();
   dht.begin();
}

void loop() {
   float h = dht.readHumidity();
   float t = dht.readTemperature();

   LCD.setCursor(0,0);
   LCD.print("Humidity: ");
   LCD.print(h);

   LCD.setCursor(0,1);
   LCD.print("Temperature: ");
   LCD.print(t);

   delay(1000);
   LCD.clear();
}

Explicación del código sensor de temperatura y humedad con LCD:

  1. la función LCD.clear(); del programa borra la pantalla LCD1602 de las inscripciones para dar salida a los nuevos valores del sensor Arduino DHT11.

Conclusión. En este resumen hemos visto cómo conectar el DHT11 al Arduino. Hemos presentado algunos programas de ejemplo para transmitir la información del sensor digital al monitor de hardware del puerto IDE de Arduino y a la pantalla 1602. Hay muchos proyectos de estaciones meteorológicas Arduino con el sensor DHT11 que puedes hacer tú mismo estudiando cuidadosamente la información de esta página.

FAQ (Frequently Asked Question)

¿Qué librería se utiliza para el DHT11?

La librería DHT.h se utiliza para el sensor de temperatura, el enlace para descargar el archivo con la librería se encuentra al principio del artículo.

¿Por qué no funciona el sensor de temperatura DHT11?

En la mayoría de los casos, la razón por la que el sensor dht11 no arranca es la conexión incorrecta del sensor al microcontrolador.

¿Problemas al leer los datos del sensor DHT11?

Si el monitor del puerto IDE de Arduino muestra «NONE», entonces la causa es una conexión incorrecta del sensor dht11 al Arduino.

¿Por qué se funde el DHT11 cuando se conecta al Arduino?

La polaridad de «+» (5V) y «-» (GND) se confunde cuando se conecta a Arduino.

Calibración del sensor de temperatura y humedad DHT11

Si el error del sensor es lineal, es decir, la temperatura en diferentes puntos difiere de la temperatura real en la misma cantidad, basta con añadir un factor de corrección.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *