Sensor de humedad y temperatura DHT11 para Arduino
El sensor DHT11 se caracteriza por tener la 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.
Aunque cueste creer, este sensor se utiliza mucho en la industria y en equipos de calibración electrónicos, lo recomiendo por su facilidad de uso y trazabilidad en el funcionamiento. Aqui les presento uno en forma de kit para Arduino, pero si eres manitas puedes obtener solo el componenete y acomodarlo a tus necesidades.
Esta consituido por dos sensores resistivos (Temperatura NTC y humedad). Tiene una excelente calidad y una respuesta rápida en las medidas.
Características:
* Tipo de señal: Digital
* Rango de temperatura :0-50 °C error de ± 2 °C
* Humedad :20-90% RH ± 5% RH error
Ejemplo de esquema de conexionado con Arduino
El material lo pueden adquirir por unos 4€ en kit y si adquiere solo el sensor unos 3€, así que les recomiendo que compren el kit para facilitar mejor el trabajo con Arduino. Este tipo de sensores tambien es adecuado para programar por ejemplo el riego del jardín, si llueve no riega, si hace poco calor modifica la cantidad de agua y así ahorramos mucha agua y lo más imprtante, en tan sólo una semana amortizamos todo el costo del montaje.
Programa de ejemplo para probar el sensor. Comprueba que tu sensor funciona correctamente con DHT11Lib. Este código muestra en pantalla la información del sensor. Se requiere copiar la siguiente carpeta en «libraríes»: link.
/*
#define DHT11PIN 2#include <dht11.h>
dht11 DHT11;
void setup()
{
Serial.begin(9600);
Serial.println(«DHT11 TEST PROGRAM «);
Serial.print(«LIBRARY VERSION: «);
Serial.println(DHT11LIB_VERSION);
}
void loop()
{
Serial.println(«\n»);
int chk = DHT11.read(DHT11PIN);
Serial.print(«Read sensor: «);
switch (chk)
{
case 0: Serial.println(«OK»); break;
case -1: Serial.println(«Checksum error»); break;
case -2: Serial.println(«Time out error»); break;
default: Serial.println(«Unknown error»); break;
}
Serial.print(«Humidity (%): «);
Serial.println((float)DHT11.humidity, DEC);
Serial.print(«Temperature ( °C): «);
Serial.println((float)DHT11.temperature, DEC);
Serial.print(«Temperature ( °F): «);
Serial.println(DHT11.fahrenheit(), DEC);
Serial.print(«Temperature ( °K): «);
Serial.println(DHT11.kelvin(), DEC);
Serial.print(«Dew Point ( °C): «);
Serial.println(DHT11.dewPoint(), DEC);
Serial.print(«Dew PointFast ( °C): «);
Serial.println(DHT11.dewPointFast(), DEC);
delay(2000);
}