DHT11 Sensor de humedad y temperatura

publicado en: Tutoriales | 0

El sensor DTH11 es un módulo que nos permite medir la humedad relativa y temperatura ambiental. Este sensor tiene una resolución de 1°C y un rango de trabajo de 0°C a 50°C para la temperatura, y resolución de 1% y un rango de trabajo desde el 20% hasta el 95% de humedad relativa. El sensor trabaja con una tensión de 3.3 V a 5 V.

Humedad relativa. Relación entre la cantidad de vapor de agua que tiene una masa de aire y la máxima que podría tener.

dht11_pins

Este sensor se caracteriza por enviar una señal digital calibrada por lo que asegura una alta calidad y una fiabilidad a lo largo del tiempo, ya que contiene un microcontrolador de 8 bits integrado. Está constituido por dos sensores resistivos (NTC y humedad). Tiene una excelente precisión y una respuesta rápida en las medidas.

Cada sensor DHT11 está estrictamente calibrado en laboratorio, presentando una extrema precisión en la calibración. Los coeficientes de calibración se almacenan como programas en la memoria OTP, que son empleados por el proceso de detección de señal interna del sensor.

La comunicación con este sensor se realiza mediante un protocolo de un único hilo (protocolo 1-wire), lo que hace que la integración de este sensor en nuestros proyectos sea rápida y sencilla. Además presenta un tamaño reducido, un bajo consumo de energía y la capacidad de transmitir la señal hasta 20 metros de distancia.

Características del sensor:

caracteristicas

ya conocidas las características se explicara las conexiones eléctricas del sensor DTH11 con el arduino.

esquema-fritzing-dht11

 

El sensor tiene 4 pines de conexión, el primero es VCC, el segundo es el de Señal, el tercero no se conecta y el cuarto es GND.

Como se mensiono la tension de VCC puede ser de 3.3V a 5V el pin de señal tiene que tener una resistencia PULL-UP de 22KΩ, esto ya que el protocolo lo requiere. Y el ultimo pin se coencta directo a GND.

Instalar Bibliotecas del sensor DTH11

Antes de verificar el código y cargarlo al arduino es necesario desargar la biblioteca del sensor DTH11  y agregarla a la carpeta de nuestro programa.

Para descargar la biblioteca junto con los diagramas de conexión se puede ir a este link:

http://www.geekbotelectronics.com/wp-content/uploads/2014/09/DTH11-Biblioteca.zip

o ingresar a la pagina de http://www.geekbotelectronics.com/producto/dth11-sensor-de-temperatura-y-humedad-digital/ y dar clic en Biblioteca Arduino

 

pagGeekBot

el archivo descargado lo deberás descomprimir en la carpeta donde se guardo el proyecto de arduino.

Es hora de explicar el código en Arduino para el sensor DTH11.

 

// Sketch de ejemplo para testear el famoso sensor DHT de

//humedad y temperatura

#include «DHT.h»

//Añadimos la Biblioteca con la cual trabaja nuestro sensor

#define DHTPIN 2

// Indicamos el pin donde conectaremos la patilla data de nuestro //sensor

//este pin puede ser cualquiera que se desee

// Descomenta el tipo de sensor que vas a emplear. En este caso //usamos el DHT11

#define DHTTYPE DHT11 // DHT11

//#define DHTTYPE DHT22 // DHT22(AM2302)

//#define DHTTYPE DHT21 // DHT21 (AM2301)

// Conecta el pin 1 (el de la izquierda) del sensor a +5V

// Conecta el pin 2 del sensor al pin que has elegido para DHTPIN

// Conecta el pin 4 (el de la derecha) del sensor a GROUND

// Conecta una resistencia de 10K del pin 2 (data) al pin 1 (+5V) del sensor

DHT dht(DHTPIN, DHTTYPE);

//Indica el pin con el que trabajamos y el tipo de sensor

void setup()

{

  //Inicio comunicación serie para ver los datos en el ordenador

  Serial.begin(9600);

  //Mensaje de inicio

  Serial.println(«Comprobacion sensor DHTxx:»);

  //Iniciamos el sensor

  dht.begin();

}

void loop()

{

 // La lectura de la temperatura o de la humedad lleva sobre 250

 //milisegundos

 // La lectura del sensor también puede estar sobre los 2 segundos

 //(es un sensor muy lento)

  int h = dht.readHumidity();  //Guarda la lectura de la humedad en //la variable int h

  int t = dht.readTemperature();

   //Guarda la lectura de la temperatura en la variable int t

  // Comprobamos si lo que devuelve el sensor es valido, si no son //numeros algo       //esta fallando

  // función que comprueba si son números las variables indicadas

  if (isnan(t) || isnan(h))

  {

    Serial.println(«Fallo al leer del sensor DHT»);

   //Mostramos mensaje de fallo si no son números

  }

  else {

    //Mostramos mensaje con valores actuales de humedad y temperatura

    Serial.print(«Humedad relativa: «);

    Serial.print(h);

    Serial.print(» %\t»);

    Serial.print(«Temperatura: «);

    Serial.print(t);

    Serial.println(» *C»);

      }

}

 

 

El circuito del sensor DTH11 se vera de la siguiente manera.

DTH11 PRoto 2 DTH11 proto

¡Visitanos en Facebook y comparte tus proyectos!

https://www.facebook.com/GeekbotMexico

Deja un comentario

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