Skip to main content

Actividad-10. El sensor de temperatura y humedad DHT-11

Página extraída de Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA

Enunciado

Realizar un programa básico de medida de temperatura y humedad relativa de la habitación en la que estamos trabajando con nuestra TdR STEAM.

Teoría

DHTxx

El DHT11 es un modelo de sensor que permiten realizar la medición simultánea de temperatura y humedad. Dispone de un procesador interno que es el encargado de realizar la medición entregando la información mediante una señal digital.

Se presenta en un encapsulado plástico típico de color azul. Sus principales características son:

  • Rango de temperatura: 0 a 50ºC
  • Precisión de la medida de temperatura: ±2ºC
  • Rango de humedad: 20 a 80%
  • Precisión en la medida de humedad: ±5%.
  • Frecuencia de muestreo: 1 muestra por segundo (1 Hz)

El DHT11 es un sensor bastante limitado que podemos usar con fines de formación, pruebas, o en proyectos que realmente no requieran una medición precisa.

Si necesitamos mayor precisión y rango podemos recurrir al DHT22 que es de la misma familia y lo único que cambia es sus características y el precio. Sus características son:

  • Rango de temperatura: -40 a 125ºC
  • Precisión de la medida de temperatura: ±0.5ºC
  • Rango de humedad: 0 a 100%
  • Precisión en la medida de humedad: ±2 a 5%
  • Frecuencia de muestreo: 2 muestras por segundo (2 Hz)

 

En la imagen siguiente vemos el aspecto de ambos sensores:

DHTxx.png
Imagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA

Estado de confort

En la web ARQUITECTURA & ENERGÍA podemos encontrar un artículo donde se nos explica con bastante profundad el tema del confort térmico.

Puede definirse confort térmico, o más propiamente comodidad higrotérmica, como la ausencia de malestar térmico. En fisiología, se dice que hay confort higrotérmico cuando no tienen que intervenir los mecanismos termorreguladores del cuerpo para una actividad sedentaria y con una indumentaria ligera. Esta situación puede registrarse mediante índices que no deben ser sobrepasados para que no se pongan en funcionamiento los sistemas termorreguladores (metabolismo, sudoración y otros).

En la imagen siguiente vemos los valores de temperatura y humedad que delimitan las zonas de confortabilidad.

zonas-confort.png
Confort térmico en función de temperatura y humedad Imagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA

Sobre el gráfico vamos a delimitar zonas de temperatura y humedad para establecer su color. Por motivos de simplicidad lo vamos a hacer delimitando zonas rectangulares, pero comprobamos que no cometemos grandes errores y para nuestro propósito nos sirve.

1.- Zona Roja: en la imagen siguiente tenemos delimitadas las zonas:

  • Humedad Relativa: superior al 85% e inferior al 20%
  • Temperatura: superior a 27ºC e inferior a 16ºC

Confort-rojo.png

Delimitación color rojo zona de confort  Imagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA

2.- Zona Amarilla: en la imagen siguiente tenemos delimitadas las zonas:

  • Humedad Relativa: entre el 20% y el 40% y entre el 65% y el 85%
  • Temperatura: entre 16ºC y 18ºC y entre 24ºC y 27ºC

Confort-amarillo.png

Delimitación color amarillo zona de confort  Imagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA

3.- Zona Verde, rojo y amarillo: en la imagen siguiente tenemos delimitadas todas las zonas, correspondiendo a la verde los siguientes datos:

  • Humedad Relativa: entre el 40% y el 65%
  • Temperatura: entre 18ºC y 24ºC

Confort-todos.png

Delimitación colores zona de confort Imagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA

Con este enlace al archivo colores-A10.svg puedes descargarte el archivo vectorial, editarlo con Inkscape y ver como se han realizado estos gráficos.

En la TdR STEAM

DHT11-en-TdR.pngImagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA

Programando la actividad

De nuevo realizaremos la programación como en las actividades anteriores, utilizando el monitor serie para mostrar los datos. El programa ESP32-SM-Actividad-10 lo vemos en la imagen siguiente:

A10.png

Actividad-10 Imagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA

Esto nos generará algo como lo de la imagen siguiente en la consola:

A10-consola.png

Consola que produce la actividad 10 Imagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA

Retos de ampliación

A10.R1. Realizar un programa que nos muestre el estado de confort según las explicaciones vista y la idea de un semáforo que utilice el LED RGB para componer esos colores rojo, verde y amarillo.

Para resolver la actividad vamos a necesitar varios bloques del menú "Lógica" y especialmente combinando funciones AND y OR múltiples. Si necesitamos, por ejemplo, aumentar el número de operadores AND dentro de un bloque simplemente tenemos que combinarlo como vemos en la imagen siguiente, donde se han combinado cuatro bloques AND.

cuantro-AND.pngCombinación de 4 bloques AND Imagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA

El Programa es el de la imagen siguiente y está disponible en ESP32-SM-Reto-1-A10.

A10-R1.png

Reto 1 de la actividad 10 Imagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA

A10.R2. Idear un método para probar de forma completa la funcionalidad del programa anterior, aunque se requiera modificarlo. También se pide explicar la misión de la función "limite-confort" creada en el reto 1 de la actividad 10.