Trastejant

Crea, comparte, aprende y disfruta

Sensor de Humedad DHT11

El sensor DHT11 es un sensor económico, pequeño, fiable y muy útil, que nos permitirá tomar lecturas de la humedad y la temperatura.

Si bien es cierto que su resolución no es muy elevada (20% – 80% de humedad y de 0ºC – 50ºC) nos puede servir para un gran número de propósitos en los que no nos encontremos en condiciones extremas.

Su frecuencia de refresco es de 1Hz, es decir, cómo máximo puede tomar una lectura por segundo. Puede parecer reducida en comparación a las frecuencias de otros sensores, pero la temperatura y la humedad no son valores que suelan cambiar de forma dramática en un corto espacio de tiempo.

En definitiva, si necesitamos un sensor para montar en un diseño que vaya a enfrentarse a climas extremos o condiciones extraordinarias, tendremos que seguir buscando. Pero si lo único que necesitamos son lecturas «de estar por casa», en valores en los que solemos movernos en la mayoría de las latitudes de la tierra, entonces el DHT11 es nuestro ganador.

dht11pinoutPor su patilla de datos (la dos) devuelve una lectura de humedad y temperatura que puede ser interpretada por cualquier microcontrolador. Veamos algunos ejemplos de uso.

Montajes

DHT11 y Arduino

El montaje para conectarlo con Arduino es muy simple, únicamente necesitamos una resistencia para tenerlo funcionando:

Montaje Arduino y DHT11

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
//Llamamos a la libreria 
 #include "DHT.h" 
//Declaramos que el sensor esta en el pin 6 
#define DHTPIN 6 
//Definimos el modelo del sensor 
#define DHTTYPE DHT11 
//Definimos la variable que utilizaremos para comunicarnos con el sensor 
DHT dht(DHTPIN, DHTTYPE); 
 
void setup() { 
 //Iniciamos la comunicación serial 
 Serial.begin(9600); 
 //Iniciamos el sensor 
 dht.begin(); 
} 
 
void loop() { 
//Leemos la humedad 
float h = dht.readHumidity(); 
//Leemos la temperatura 
float t = dht.readTemperature(); 
 
//Mostramos la información en la consola 
Serial.println("Humedad: "); 
Serial.println(h); 
Serial.println("Temperatura: "); 
Serial.println(t); 
Hacemos una pausa de 5 segundos antes de volver a leer. 
delay(5000); 
}

DHT11 y Raspberry Pi

DHT11 y Raspberry Pi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#Llamamos a las librerias que vamos a necesitar
import Adafruit_DHT
import RPi.GPIO as GPIO
import time
 
# Configuramos el tipo de sensor
sensor = Adafruit_DHT.DHT11 
GPIO.setmode(GPIO.BOARD)
 
# Definimos el pin al que hemos conectado el sensor
pino_sensor = 25
 
# Mostramos los valore leios 
while(1):
   #leemos el sensor
   umid, temp = Adafruit_DHT.read_retry(sensor, pino_sensor);
   #si la lectura resulta correcta, la mostramos
   if umid is not None and temp is not None:
     print ("Temperatura = {0:0.1f}  Umidade = {1:0.1f}\n").format(temp, umid);
    #Esperamos 5 segundos antes de la siguiente lectura
   time.sleep(5)
   else:
     #Si la lectura es incorrecta mostramos un error
     print("Error de lectura")

También te puede interesar...

No hay temas relacionados

2 respuestas a “Sensor de Humedad DHT11”

  1. rafael dice:

    Hola, si quiero almanezar datos en micro-sd y graficar con excel?- Como se puede hacer?

    • crakernano dice:

      Puedes guardar los datos en la SD usando algún formato que Excel entienda. El más sencillo es el de campos separados por comas. Después lo importas y con los datos le dices a Excel que realice una gráfica.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.