Arduino Nano - DHT11

Este tutorial le enseña cómo usar Arduino Nano para leer la temperatura y la humedad del sensor DHT11. En detalle, aprenderemos:

Sugerimos:

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
1×Sensor de Temperatura y Humedad DHT11
1×10 kΩ Resistor
1×Protoboard
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del sensor de temperatura y humedad DHT11

Conexiones del sensor DHT11 de temperatura y humedad

El DHT11 disponible en el mercado viene en dos formas: sensor y módulo.

El sensor DHT11 tiene cuatro pines:

  • Pin GND: debe conectarse a GND (0V)
  • Pin VCC: debe conectarse a VCC (5V)
  • Pin DATA: se utiliza para la comunicación entre el sensor y Arduino Nano
  • Pin NC: no es necesario, este pin puede omitirse
Pinout del sensor DHT11 de temperatura y humedad

El módulo DHT11 tiene tres pines:

  • Pin GND (-): debe conectarse a GND (0V)
  • Pin VCC (+): debe conectarse a VCC (5V)
  • Pin OUT: se utiliza para la comunicación entre el sensor y Arduino Nano

※ Nota:

La disposición de los pines en un módulo puede diferir de un fabricante a otro. Es esencial referirse siempre a las etiquetas impresas en el módulo cuando se utilice. ¡Observa detenidamente!

Diagrama de Cableado

Arduino Nano - Cableado del sensor DHT11

Se necesita una resistencia de entre 5 kΩ y 10 kΩ para mantener la línea de datos en alto, lo que facilita la comunicación entre el sensor y el Arduino Nano.

Diagrama de cableado del sensor de temperatura y humedad DHT11 para Arduino Nano

This image is created using Fritzing. Click to enlarge image

Arduino Nano - Cableado del Módulo DHT11

El módulo del sensor DHT11 viene con una resistencia integrada, eliminando la necesidad de cableado adicional o soldadura. Esto nos ahorra tiempo y esfuerzo.

Diagrama de cableado del módulo Arduino Nano DHT11 de temperatura y humedad

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

Cómo programar para el sensor de temperatura DHT11

  • El primer paso es incluir la biblioteca:
#include "DHT.h"
  • Especifica el pin del Arduino Nano que está conectado al sensor DHT11.
#define DHT_PIN 3 // Arduino Nano pin connected to DHT11 sensor
  • Especifica el tipo de sensor: DHT11
#define DHT_TYPE DHT11
  • Crea un objeto DHT.
DHT dht11(DHT_PIN, DHT_TYPE);
  • Comience el proceso de configuración del sensor:
dht11.begin();
  • Lee el valor de la humedad.
float humi = dht11.readHumidity();
  • Lee la temperatura en grados Celsius.
float temperature_C = dht11.readTemperature();
  • Lee la temperatura en grados Fahrenheit.
float temperature_F = dht11.readTemperature(true);

Código de Arduino Nano para DHT11

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano/arduino-nano-dht11 */ #include "DHT.h" #define DHT_PIN 3 // The Arduino Nano pin connected to DHT11 sensor #define DHT_TYPE DHT11 DHT dht11(DHT_PIN, DHT_TYPE); void setup() { Serial.begin(9600); dht11.begin(); // initialize the sensor } void loop() { // wait a few seconds between measurements. delay(2000); // read humidity float humi = dht11.readHumidity(); // read temperature as Celsius float temperature_C = dht11.readTemperature(); // read temperature as Fahrenheit float temperature_F = dht11.readTemperature(true); // check if any reads failed if (isnan(humi) || isnan(temperature_C) || isnan(temperature_F)) { Serial.println("Failed to read from DHT sensor!"); } else { Serial.print("Humidity: "); Serial.print(humi); Serial.print("%"); Serial.print(" | "); Serial.print("Temperature: "); Serial.print(temperature_C); Serial.print("°C ~ "); Serial.print(temperature_F); Serial.println("°F"); } }

Pasos R\u00e1pidos

  • Conecta un cable USB al Arduino Nano y al PC.
  • Abre el IDE de Arduino, selecciona la placa y el puerto adecuados.
  • Haz clic en el icono Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “DHT” y localiza la biblioteca de sensores DHT de Adafruit.
  • Presiona el botón Instalar para instalar la biblioteca.
Biblioteca del sensor DHT11 para Arduino Nano
  • Se le pedirá que instale algunas otras dependencias de bibliotecas.
  • Para instalarlas todas, simplemente haga clic en el botón Instalar todo.
Biblioteca de sensores unificados de Adafruit para Arduino Nano
  • Copia el código de tu sensor y ábrelo en Arduino IDE.
  • Haz clic en el botón Subir en Arduino IDE para compilar y subir el código al Arduino Nano.
  • Cambia la temperatura del entorno alrededor del sensor.
  • Verifica los resultados en el Monitor Serial.
COM6
Send
Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Conocimientos adicionales

Vamos a comparar sensores DHT11 y DHT22.

Los puntos en común entre DHT11 y DHT22

  • Las asignaciones de pines permanecen iguales.
  • El cableado para un Arduino Nano es idéntico.
  • La programación, con la ayuda de una biblioteca, es comparable, con solo una línea de código distinta.

Las diferencias entre DHT11 y DHT22

DHT11 DHT22
Price ultra low cost low cost
Temperature Range 0°C to 50°C -40°C to 80°C
Temperature Accuracy ± 2°C ± 0.5°C
Humidity Range 20% to 80% 0% to 100%
Humidity Accuracy 5% ± 2 to 5%
Reading Rate 1Hz (once every second) 0.5Hz (once every 2 seconds)
Body size 15.5mm x 12mm x 5.5mm 15.1mm x 25mm x 7.7mm

Es evidente que el DHT22 es más preciso que el DHT11, tiene un rango más amplio, pero es más costoso.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!