Tutorial - DHT11 (Sensor de temperatura y humedad)

DESCRIPCIÓN
Los sensores DHT son sensores de bajo costo que mide tanto temperatura como humedad. Estos consisten de dos partes:

# Sensor capacitivo de humedad.
# Termistor (Resistencia que cambia el valor de su resistividad con la temperatura).

El chip permite realizar una conversión de la lectura análoga a digital.

DHT11
Es un sensor de humedad y temperatura con una señal digital de salida calibrada y su uso está comprendido con microcontroladores de 8 bits.


Sus aplicaciones pueden ser:
# Deshumificadores
# Inspección y testeo de equipos.
# Productos generales.
# Automatización.
# Control automático.
# Estaciones meteorológicas.
# Uso médico.

Sus características generales son:
Humedad Relativa:
# Resolución: 16 Bits
# Repetitividad: +- 1% RH
# Precisión: a 25°C +- 5% RH

Temperatura:
# Resolución: 16 Bits
# Repetitividad: +- 0.2°C
# Rango: A 25°C +- 2°C

Características eléctricas:
# Alimentación: DC 3.5 a 5.5V
# Consumo de corriente: 0.3 mA
# Periodo de toma de datos: > 2 segundos

Para mayor información puede usar el siguiente link: "DHT11 datasheet"

USO DE LA LIBRERIA DHT (ADAFRUIT)
La librería puede ser descargada usando el siguiente link: "DHT"

Las funciones principales de esta librería son:
# DHT nombre_sensor(pin, sensor): "nombre_sensor" se refiere a la cabecera o nombre del objeto que deseamos darle al sensor, "pin" se refiere al número del pin usado en el Arduino y "sensor" se refiere al tipo de sensor que estamos usando (DHT11, DHT22 o DHT21). 

Por ejemplo: "DHT dht(2, DHT11)"

# nombre_sensor.begin(): Inicio del uso de la librería.
# nombre_sensor.readHumidity(): Lectura del valor de la humedad en porcentaje en flotante.
# nombre_sensor.readTemperature(): Lectura del valor de la temperatura en flotante en grados Celsius.
# nombre_sensor.readTemperature(true): Lectura del valor de la temperatura en flotante en grados Fahrenheit.
# nombre_sensor.computeHeatIndex(temperatura_Fahrenheit, humedad_relativa): Cálculo del índice de calor o sensación térmica en flotante.
# nombre_sensor.computeHeatIndex(temperatura_Celsius, humedad_relativa, false): Cálculo del índice de calor o sensación térmica en flotante.

APLICACIÓN DEL COMPONENTE
Las conexiones que usaremos para el experimento son las siguientes:

# PIN 2 : Arduino UNO => Pin 1 : DHT11 (Pin 2)
# GND : Los dos GND deben estar conectados (DHT11 - Pin 4)
# 5V : Los dos 5V deben estar conectados (DHT11 - Pin 1)


Con el siguiente programa mediremos la temperatura ambiental, la humedad relativa y el índice de calor.
/*
   PROGRAMA DE PRUEBA: DHT11
   
   CONEXION:
             Pin 2 (Arduino UNO): Pin 2 (DHT11)
             GND (Arduino UNO)  : Pin 4 (DHT11)
             5V (Arduino UNO)   : Pin 1 (DHT11)

   Necesita la libreria "DHT.h" de Adafruit
   
   Autor: Renato H.
   http://beetlecraft.blogspot.pe/
   
   El siguiente programa es de uso publico, cualquier modificacion o mal uso del mismo que pudiera 
   ocasionar el mal funcionamiento de la plataforma de uso de la misma no es responsabilidad del 
   autor
*/

#include "DHT.h" // Libreria DHT de Adafruit
DHT sensor(2, DHT11); // Configruacion de la libreria para usar en el pin 2 el sensor DHT11

void setup() {
  sensor.begin();     // Inicializacion de la libreria DHT
  Serial.begin(9600); // Comunicacion serial a 9600 bps 
}

void loop() {
  float humedad = sensor.readHumidity();        // Lectura de la humedad en porcentaje
  float temperatura = sensor.readTemperature(); // Lectura de la temperatura en grados Celsius

  if (isnan(humedad) || isnan(temperatura)){ // Determina si los valores son ilegales
    Serial.println("Error de medicion");
    return;
  }

  // Calculo del indice de calor usando la temperatura y humedad leidos
  float indice_calor = sensor.computeHeatIndex(temperatura, humedad, false); 

  // Mostrar en monitor serial la temperatura
  Serial.print("Temperatura: "); Serial.print(temperatura, 1); Serial.print(" C"); Serial.print(" || ");
  // Mostrar en monitor serial la humedad relativa
  Serial.print("Humedad: "); Serial.print(humedad, 1); Serial.print(" %"); Serial.print(" || ");
  // Mostrar en monitor serial el indice de calor
  Serial.print("Indice de calor: "); Serial.println(indice_calor);

  delay(2000); // Intervalo para nueva medicion
}
Los resultados son los siguientes:


ANEXOS
Podemos ver un poco más de información sobre la temperatura, humedad relativa y sensación térmica. Vamos a ver los diferentes puntos:

TEMPERATURA:
Los grados Fahrenheit es una escala de temperatura termodinámica, donde el punto de congelación del agua es 32 grados Fahrenheit (°F) y el punto de ebullición es a 212 °F, todo esto a 1 atmósfera de presión. La temperatura corporal normal está estimada a 98.6 °F, mientras que la temperatura ambiente puede ser tomada de 68 a 77 °F.

Los grados Celsius o también llamados grados centígrados es una escala de temperatura termodinámica, donde el punto de congelación de agua es 0 °C y que se define en relación directa con los grados Kelvin equivalente a 273.15 K y el punto de ebullición del agua se define como 100 °C. La temperatura ambiente se toma de 20 a 25 °C, mientras que la temperatura corporal normal equivale a 36 °C.

Fórmulas de referencia que pueden ser tomadas, se muestran a continuación:


HUMEDAD RELATIVA:
Es la cantidad de vapor de agua contenida en el aire, en cualquier momento determinado, normalmente es menor que el necesario para saturar el aire. La humedad relativa es el porcentaje de la humedad de saturación que es calcula en relación con la densidad de vapor de saturación.

La humedad relativa es la cantidad de humedad en el aire, comparado con la que el aire puede mantener a esa temperatura. Cuando el aire no se puede mantener toda la humedad, entonces se condensa como rocío.


PUNTO DE ROCÍO
Si se enfría gradualmente el aire mientras mantenemos constante el contenido de humedad, la humedad relativa se elevará hasta alcanzar el 100%. Esta temperatura a la cual el contenido de humedad en el aire saturará el aire, se llama punto de rocío. Si el aire se enfría aún más, parte de la humedad se condensará.


SENSACIÓN TÉRMICA:
Son índices que relacionan valores de temperatura y humedad con el bienestar térmico. Estos índices pueden ser graves en actividades al aire libre cuando estas son altas. También son llamados "medidas de temperatura aparente". Para determinar el valor se utiliza una tabla y como ejemplo, si la temperatura del aire es de 96 °F y la humedad relativa es de 65%, el índice de calor que se siente es 121 °F.

El índice de calor puede ser calculada usando alguna de las siguientes fórmulas:


Donde:
# IC: Índice de calor.
# T: Temperatura ambiente en grados Fahrenheit
# R: Humedad relativa en porcentaje
# c1: -42.379
# c2: 2.04901523
# c3: 10.14333127
# c4: -0.22475541
# c5: -6.83783 x 10 ^ -3
# c6: -5.481717 x 10 ^ -2
# c7: 1.22874 x 10 ^ -3
# c8: 8.5282 x 10 ^ -4
# c9: -1.99 x 10 ^ -6


Donde:
# IC: Índice de calor.
# T: Temperatura ambiente en grados Fahrenheit
# R: Humedad relativa en porcentaje

La siguiente tabla puede ser usadas para ver la sensación térmica respecto al bienestar (va de la precaución a lo extremo peligroso):


Autor: 

No hay comentarios:

Publicar un comentario