Cómo Conectar El Sensor De Temperatura Y Humedad DHT11 A Arduino

Tabla de contenido:

Cómo Conectar El Sensor De Temperatura Y Humedad DHT11 A Arduino
Cómo Conectar El Sensor De Temperatura Y Humedad DHT11 A Arduino

Video: Cómo Conectar El Sensor De Temperatura Y Humedad DHT11 A Arduino

Video: Cómo Conectar El Sensor De Temperatura Y Humedad DHT11 A Arduino
Video: Sensor DHT11 - Medir Temperatura y humedad relativa - Arduino 2024, Noviembre
Anonim

El sensor de temperatura y humedad DHT17 es un sensor popular y económico que se puede utilizar en un rango bastante amplio de temperaturas y humedad relativa. Veamos cómo conectarlo al Arduino y cómo leer sus datos.

Sensor de temperatura y humedad DHT11
Sensor de temperatura y humedad DHT11

Necesario

  • - Arduino;
  • - Sensor de temperatura y humedad DHT17.

Instrucciones

Paso 1

Entonces, el sensor DHT11 tiene las siguientes características:

- rango de humedad relativa medida - 20..90% con un error de hasta 5%, - rango de temperaturas medidas - 0..50 grados Celsius con un error de hasta 2 grados;

- tiempo de respuesta a los cambios de humedad - hasta 15 segundos, temperatura - hasta 30 segundos;

- el período mínimo de sondeo es de 1 segundo.

Como puede ver, el sensor DHT11 no es muy preciso, y el rango de temperatura no cubre valores negativos, lo que difícilmente es adecuado para mediciones en exteriores en la estación fría de nuestro clima. Sin embargo, su bajo costo, tamaño pequeño y facilidad de uso compensan parcialmente estas desventajas.

La figura muestra el aspecto del sensor y sus dimensiones en milímetros.

Apariencia y dimensiones del sensor DHT11
Apariencia y dimensiones del sensor DHT11

Paso 2

Considere el diagrama de conexión del sensor de temperatura y humedad DHT11 al microcontrolador, en particular, al Arduino. En la imagen:

- MCU - microcontrolador (por ejemplo, Arduino o similar) o computadora de placa única (Raspberry Pi o similar);

- DHT11 - sensor de temperatura y humedad;

- DATOS - bus de datos; si la longitud del cable de conexión del sensor al microcontrolador no excede los 20 metros, entonces se recomienda tirar de este bus a la fuente de alimentación con una resistencia de 5, 1 kOhm; si es más de 20 metros, entonces otro valor adecuado (menor).

- VDD - fuente de alimentación del sensor; voltajes permitidos de ~ 3.0 a ~ 5.5 voltios DC; si se utiliza una fuente de alimentación de ~ 3,3 V, se recomienda utilizar un cable de alimentación de no más de 20 cm.

Uno de los cables del sensor, el tercero, no está conectado a nada.

El sensor DHT11 a menudo se vende como un conjunto completo con la tubería necesaria: resistencia de pull-up y condensador de filtro.

Diagrama de conexión del sensor DHT11 al microcontrolador
Diagrama de conexión del sensor DHT11 al microcontrolador

Paso 3

Armemos el esquema considerado. También conectaré un analizador lógico al circuito para poder estudiar el diagrama de tiempos de la comunicación con el sensor.

Sensor DHT11 y Arduino
Sensor DHT11 y Arduino

Paso 4

Vayamos de la manera simple: descargue la biblioteca para el sensor DHT11 (enlace en la sección "Fuentes"), instálela de la manera estándar (descomprimiéndola en el directorio / bibliotecas / del entorno de desarrollo Arduino).

Escribamos un boceto tan simple. Cargámoslo en Arduino. Este boceto generará los mensajes de humedad relativa y temperatura leídos desde el sensor DHT11 al puerto serie de la computadora cada 2 segundos.

Boceto para trabajar con un sensor de temperatura-humedad DHT11
Boceto para trabajar con un sensor de temperatura-humedad DHT11

Paso 5

Ahora, utilizando el diagrama de tiempos obtenido del analizador lógico, averigüemos cómo se lleva a cabo el intercambio de información.

El sensor de temperatura y humedad DHT11 utiliza una interfaz en serie de un solo cable para comunicarse con el microcontrolador. Un intercambio de datos tarda unos 40 ms y contiene: 1 bit de solicitud del microcontrolador, 1 bit de la respuesta del sensor y 40 bits de datos del sensor. Los datos incluyen: 16 bits de información de humedad, 26 bits de información de temperatura y 8 bits de verificación.

Echemos un vistazo más de cerca al diagrama de tiempo de la comunicación Arduino con el sensor DHT11.

Se puede ver en la figura que hay dos tipos de impulsos: cortos y largos. Los pulsos cortos en este protocolo de intercambio denotan ceros, pulsos largos, unos.

Entonces, los dos primeros pulsos son la solicitud de Arduino a DHT11 y, en consecuencia, la respuesta del sensor. Luego vienen 16 bits de humedad. Además, se dividen en bytes, alto y bajo, alto a la izquierda. Es decir, en nuestra figura, los datos de humedad son los siguientes:

0001000000000000 = 00000000 00010000 = 0x10 = 16% de humedad relativa.

Datos de temperatura similares a:

0001011100000000 = 00000000 00010111 = 0x17 = 23 grados Celsius.

Verificar bits: la suma de verificación es solo la suma de 4 bytes de datos recibidos:

00000000 +

00010000 +

00000000 +

00010111 =

00100111 en binario o 16 + 23 = 39 en decimal.

Recomendado: