El sensor DHT11 es un sensor económico, pequeño, fiable y muy util, 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 hummedad y de 0ºC - 50ºC) nos puede servir para un gran número de propositos 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 dramatica 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 unico que necesitamos son lecturas "de estar por casa", en valores en los que solemos movernos en la mayoria de las latitudes de la tierra, entonces el DHT11 es nuestro ganador.
El DHT11 entrega una lectura analógica que puede ser interpretada por cualquier microcontrolador, nosotros para el ejemplo usarmos Arduino para simplicar el montaje y la programación ya que incluso existe una librería para usar este sensor. El montaje para conectarlo con Arduino es muy simple, unicamente necesitamos una resistencia para tenerlo funcionando:
Y gracias a la librería DHT la programación tampoco entraña ninguna complicación:
//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); }
Así es el sensor DHT11, sencillo, pequeño y economico.