Select Page

Los sensores DHT11 o DHT22 son unos pequeños dispositivos que nos permiten medir la temperatura y la humedad. A diferencia de otros sensores, éstos los tendremos que conectar a pines digitales, ya que la señal de salida es digital. Llevan un pequeño microcontrolador interno para hacer el tratamiento de señal.

¡Estos sensores son bastante simples de usar, de bajo costo y son excelentes para los aficionados que desean sentir el mundo que los rodea! Estos sensores están precalibrados y no requieren componentes adicionales, por lo que puede comenzar a medir la humedad relativa y la temperatura de inmediato.

Se componen de un sensor capacitivo para medir la humedad y de un termistor. Ambos sensores están calibrados por lo que no es necesario añadir ningún circuito de tratamiento de señal. Esto sin duda es una ventaja porque nos simplifica las cosas en la protoboard. Además, como los DHTxx han sido calibrados en laboratorios, presentan una gran fiabilidad.

Una de las mejores características que proporcionan es que tanto la temperatura como la humedad se miden a la décima más cercana; es decir, a un decimal. El único inconveniente de este sensor es que puede obtener nuevos datos una vez cada segundo o dos. Pero, teniendo en cuenta su rendimiento y precio, no pueden quejarse. Igualmente ¿Qué temperatura cambia significativamente tan rápido?

DHT11 Vs DHT22/AM2302

Tenemos dos versiones de la serie de sensores DHTxx. Se ven un poco similares y tienen el mismo pinout, pero tienen características diferentes. Aquí están los detalles:

El DHT22 es la versión más cara que obviamente tiene mejores especificaciones. Su rango de medición de temperatura es de -40 ° C a + 125 ° C con una precisión de + -0.5 grados, mientras que el rango de temperatura DHT11 es de 0 ° C a 50 ° C con una precisión de + -2 grados. Además, el sensor DHT22 tiene un mejor rango de medición de humedad, de 0 a 100% con una precisión de 2-5%, mientras que el rango de humedad DHT11 es de 20 a 80% con una precisión de 5%.

 DHT11DHT22
Alimentación3 to 5V3 to 5V
Corriente máxima2.5mA max2.5mA max
Rango de Humedad20-80% / 5%0-100% / 2-5%
Rango de Temperatura0-50°C / ± 2°C-40 to 80°C / ± 0.5°C
Sampling Rate1 Hz (reading every second)0.5 Hz (reading every 2 seconds)
Tamaño15.5mm x 12mm x 5.5mm15.1mm x 25mm x 7.7mm
VentajasBajo CostoMás preciso

El DHT22 tarda 1 segundo más en los datos, pero posee mayor rango en ambas mediciones como también mayor definición (el dht11 solo mide datos exactos) El resto de sus características son similares a las de su antecesor, tanto en alimentación, consumo, conexión Y HASTA PROGRAMACIÓN.

Aunque DHT22 / AM2302 es más preciso y funciona en un rango más amplio de temperatura y humedad; Hay tres cosas en las que el DHT11 supera a DHT22.

  • Es menos costoso,
  • de menor tamaño y
  • tiene una tasa de muestreo más alta

La frecuencia de muestreo del DHT11 es de 1 Hz, es decir, una lectura cada segundo, mientras que la frecuencia de muestreo de DHT22 es de 0,5 Hz, es decir, una lectura cada dos segundos.

Sin embargo, el voltaje de funcionamiento de ambos sensores es de 3 a 5 voltios, mientras que la corriente máxima utilizada durante la conversión (al solicitar datos) es de 2.5 mA. Y lo mejor es que los sensores DHT11 y DHT22 / AM2302 son «intercambiables», lo que significa que si construye su proyecto con uno, simplemente puede desconectarlo y usar otro. Es posible que su código tenga que ajustarse un poco, pero al menos el cableado es el mismo.

Revisión de Hardware

Ahora pasemos a las cosas interesantes. Vamos a desmontar los sensores DHT11 y DHT22 / AM2302 y ver qué hay dentro.

La carcasa tiene dos partes, por lo que para entrar es solo cuestión de obtener un cuchillo afilado y separarlas. Dentro de la caja, en el lado de detección, hay un componente de detección de humedad junto con un sensor de temperatura NTC (o termistor)

dentro-DHT11-DHT22-AM2302-Temperature-Humidity-Sensor
dentro del DHT11 DHT22 AM2302 sensor de temperatura y humedad

Sensor de Humedad

El componente sensor de humedad se usa, por supuesto, para medir la humedad, que tiene dos electrodos con sustrato que retiene la humedad (generalmente una sal o un polímero plástico conductor) intercalado entre ellos. El sustrato libera los iones a medida que el vapor de agua es absorbido por él, lo que a su vez aumenta la conductividad entre los electrodos. ¿Te suena a capacitor?¿Te suena a dieléctrico? Pero no se usa de esa manera.

estructura interna del sensor de humedad
estructura interna del sensor de humedad

El cambio de resistencia entre los dos electrodos es proporcional a la humedad relativa. Una humedad relativa más alta disminuye la resistencia entre los electrodos, mientras que una humedad relativa más baja aumenta la resistencia entre los electrodos.

Sensor de Temperatura

Además, consisten en un sensor de temperatura NTC / termistor para medir la temperatura. Un termistor es una resistencia térmica, una resistencia que cambia su resistencia con la temperatura. Técnicamente, todas las resistencias son termistores (su resistencia cambia ligeramente con la temperatura), pero el cambio suele ser muy pequeño y difícil de medir.

NTC-Thermistor-Temperature-Resistance-Characteristic-Curve

¡Los termistores están hechos para que la resistencia cambie drásticamente con la temperatura de modo que pueda ser de 100 ohmios o más de cambio por grado! El término «NTC» significa «Coeficiente de temperatura negativo«, lo que significa que la resistencia disminuye con el aumento de la temperatura.

Pines DHT11 y DHT22/AM2302

Los sensores DHT11, DHT22 / AM2302 son bastante fáciles de conectar. Tienen cuatro pines:

DHT11-DHT22-AM2302-Temperature-Humidity-Sensor-Pinout
  • El pin VCC suministra energía para el sensor. Aunque el voltaje de suministro varía de 3.3V a 5.5V, se recomienda el suministro de 5V. En el caso de una fuente de alimentación de 5V, puede mantener el sensor hasta 20 metros. Sin embargo, con un voltaje de suministro de 3.3V, la longitud del cable no debe ser mayor a 1 metro. De lo contrario, la caída de voltaje en la línea conducirá a errores en la medición.
  • El pin de datos se usa para la comunicación entre el sensor y el microcontrolador.
  • NC no conectado
  • GND debe estar conectado a la tierra de Arduino.

Conectar DHT11 y DHT22/AM2302 al Arduino UNO

¡Ahora que tenemos una comprensión completa de cómo funcionan los sensores DHT, podemos comenzar a conectarlo a nuestro Arduino UNO!

Si utilizamos la librería DHT con solo hacer un cambio podemos usar el mismo programa para ambos sensores:

Afortunadamente, es trivial conectar los sensores DHT11, DHT22 / AM2302 a Arduino. Tienen pines bastante largos de 0.1 ″ para que pueda enchufarlos fácilmente en cualquier placa de pruebas o protoboard. Alimenta el sensor con 5V y conecta tierra a tierra. Finalmente, conecta el pin de datos a un pin digital # 2.

Recordá, como se discutió anteriormente en este tutorial, necesitamos colocar una resistencia pull-up de 10KΩ entre VCC y la línea de datos para mantenerla ALTA para una comunicación adecuada entre el sensor y la MCU.

Si tenes un sensor dht11 con placa tipo ks-034 o Ky-015 o un dht22 con placa es probable que tenga incorporada la resistencia de pull up incorporada.

Arduino-Wiring-Fritzing-Connections-with-DHT11
DHT11 y DHT22 Sensor de temperatura y humedad 2

Con estas conexiones ya estamos listos para COPIAR codigo. (no seas chanta, no vas a escribir casi nada!! )

Código Arduino – Serial Monitor

Como se discutió anteriormente en este tutorial, los sensores DHT11, DHT22 / AM2302 tienen su propio protocolo de un solo cable utilizado para transferir los datos. Este protocolo requiere una sincronización precisa. Afortunadamente, no tenemos que preocuparnos mucho por esto porque vamos a usar la biblioteca DHT que se encarga de casi todo.

Descargue la biblioteca primero, visitando el repositorio de GitHub o, simplemente haga clic en este botón para descargar el zip:

Para instalarlo, abrir el IDE de Arduino, anda a Sketch > Include Library > Add .ZIP y luego seleccione el archivo ZIP DHTlib que acaba de descargar. Si necesitas más detalles sobre la instalación de una biblioteca, visite este tutorial sobre la instalación de una biblioteca Arduino.

Una vez que tengas la biblioteca instalada, podes copiar este Sketch en el IDE de Arduino. El siguiente Sketch de prueba imprimirá los valores de temperatura y humedad relativa en el monitor en serie. Prueba el Sketch; y luego lo explicaremos con cierto detalle.

#include <dht.h>
#define dataPin 8 // Defines pin number to which the sensor is connected
dht DHT; // Creats a DHT object

void setup() 
{
	Serial.begin(9600);
}
void loop() 
{
	//Uncomment whatever type you're using!
	int readData = DHT.read22(dataPin); // DHT22/AM2302
	//int readData = DHT.read11(dataPin); // DHT11

	float t = DHT.temperature; // Gets the values of the temperature
	float h = DHT.humidity; // Gets the values of the humidity

	// Printing the results on the serial monitor
	Serial.print("Temperature = ");
	Serial.print(t);
	Serial.print(" ");
	Serial.print((char)176);//shows degrees character
	Serial.print("C | ");
	Serial.print((t * 9.0) / 5.0 + 32.0);//print the temperature in Fahrenheit
	Serial.print(" ");
	Serial.print((char)176);//shows degrees character
	Serial.println("F ");
	Serial.print("Humidity = ");
	Serial.print(h);
	Serial.println(" % ");
	Serial.println("");

	delay(2000); // Delays 2 secods
}

Al final imprimimos los valores de temperatura y humedad en el monitor en serie.

DHT11-DHT22-AM2302-Sensor-DHTlib-library-Output-on-Serial-Monitor
Salida del Monitor Serie
A %d blogueros les gusta esto: