¿Qué es el DHT-11?
El sensor de DHT11 es un sensor de temperatura y humedad digital de bajo costo. Utiliza un sensor capacitivo de humedad y un termistor para medir el aire circundante, y muestra los datos mediante una señal digital en el pin de datos (no hay pines de entrada analógica). Es bastante simple de usar, pero requiere sincronización cuidadosa para tomar datos. El único inconveniente de este sensor es que sólo se puede obtener nuevos datos una vez cada 2 segundos, así que las lecturas que se pueden realizar serán mínimo cada 2 segundos. Además, lo podemos encontrar de dos maneras, de forma individual donde solo tenemos el sensor DHT11, o insertado en una PCB.
1. La versión sin PCB contiene 4 pines como se muestra en la siguiente imagen:
Los pines de esta versión sin PCB son:
- VCC: alimentación
- GND: conexión a tierra
- I/O: transmisión de datos
- NC: no conecta, pin al aire
2. En la versión con PCB tenemos 3 pines, como se muestra en la siguiente imagen:
Los pines de la versión con PCB del DHT11 son:
- VCC: alimentación
- GND: conexión con tierra
- DATA: transmisión de datos
Características técnicas del DHT-11
Como siempre recomiendo, es aconsejable dirigirse a la hoja de características técnicas para ver cómo funciona el sensor DHT11. A continuación te hago un resumen de lo más importante.
Conectando el DHT-11 a Arduino
1. Conexion DHT-11 sin PCB
Para conectar un circuito de una aplicación típica con un dht-11, necesitamos conectar una resistencia pull-up a la salida digital. Se recomienda una resistencia de 5 kΩ. Disponemos de 4 pines para VCC (de 3.5V a 5V), la salida digital I/O, el pin no conectado NC y la toma de tierra GND.
El esquema del DHT-11 sería el siguiente:
2. Conexion DHT11 con PCB
A diferencia de otros modelos, el dht11 integrado dentro de un PCB ya tiene una resistencia pull-up integrada. Puede ser muy útil en ocasiones, pero hay que tenerlo en cuenta si añadimos más de 20 metros de cable.
Este modelo DHT-11 tiene 3 pines, conexión a tierra GND para datos de datos y alimentación VCC (de 3.5V a 5V). En la imagen de abajo puedes ver el esquema de conexión con el Arduino.
Código completo del sensor de temperatura y humedad DHT-11
Debemos descargar la librería para obtener la información de temperatura y humedad. En este caso vamos a utilizar la que nos proporciona Adafruit. Esta librería es muy sencilla de utilizar y funciona para los dos modelos, dht11 con PCB y sin PCB.
#include <DHT11.h>
int pin=2;
DHT11 dht11(pin);
void setup()
{
Serial.begin(9600);
}
void loop()
{
int err;
float temp, hum;
if((err = dht11.read(hum, temp)) == 0) // Si devuelve 0 es que ha leido bien
{
Serial.print("Temperatura: ");
Serial.print(temp);
Serial.print(" Humedad: ");
Serial.print(hum);
Serial.println();
}
else
{
Serial.println();
Serial.print("Error Num :");
Serial.print(err);
Serial.println();
}
delay(1000); //Recordad que solo lee una vez por segundo
}
El resultado se envía a la consola y aquí podéis ver una muestra.
Conclusiones sobre el DHT-11
La investigación es una de las partes más importantes de hacer un proyecto Maker. Por ejemplo, cuando queremos hacer una estación de temperatura, tenemos que conocer los diferentes sensores que podemos utilizar. Uno de ellos es el sensor dht11 que además de medir temperatura también nos proporciona índice de humedad y calor. Es un sensor muy utilizado cuyas dos propiedades más importantes son la fiabilidad y la estabilidad.