Arduino Nano - DHT22

Este tutorial le enseña cómo usar Arduino Nano para leer la temperatura y la humedad del sensor DHT22. 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×DHT22 Módulo Sensor de Temperatura y Humedad
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 DHT22

Esquema de pines del sensor de temperatura y humedad DHT22

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

El sensor DHT22 tiene cuatro pines:

  • Pin GND: debe estar conectado a GND (0V)
  • Pin VCC: debe estar conectado 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 descartarse
Esquema de pines del sensor de temperatura y humedad DHT22

El módulo DHT22 tiene tres pines:

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

※ Nota:

La disposición de pines en un módulo puede variar de un fabricante a otro. Es esencial consultar siempre las etiquetas impresas en el módulo al utilizarlo. ¡Mira de cerca!

Diagrama de Cableado

Arduino Nano - Cableado del sensor DHT22

Una resistencia de entre 5 kΩ y 10 kΩ es necesaria para mantener la línea de datos en alto, lo que permite la comunicación entre el sensor y el Arduino Nano.

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

This image is created using Fritzing. Click to enlarge image

Arduino Nano - Cableado del módulo DHT22

El módulo de sensor DHT22 viene con una resistencia integrada, lo que elimina la necesidad de cableado o soldadura adicional. Esto nos ahorra tiempo y esfuerzo.

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

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 DHT22

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

Código de Arduino Nano para DHT22

/* * 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-dht22 */ #include "DHT.h" #define DHT_PIN 3 // The Arduino Nano pin connected to DHT22 sensor #define DHT_TYPE DHT22 DHT dht22(DHT_PIN, DHT_TYPE); void setup() { Serial.begin(9600); dht22.begin(); // initialize the sensor } void loop() { // wait a few seconds between measurements. delay(2000); // read humidity float humi = dht22.readHumidity(); // read temperature as Celsius float temperature_C = dht22.readTemperature(); // read temperature as Fahrenheit float temperature_F = dht22.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 de Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “DHT” y localiza la biblioteca de sensores DHT de Adafruit.
  • Pulsa el botón Instalar para instalar la biblioteca.
Librería del sensor DHT22 para Arduino Nano
  • Se le pedirá instalar algunas dependencias adicionales de la biblioteca.
  • Para instalar todas las dependencias, simplemente haga clic en el botón Instalar todo.
Biblioteca de sensores unificados de Adafruit para Arduino Nano
  • Copie el código de su sensor y ábralo en el IDE de Arduino.
  • Haga clic en el botón Subir en el IDE de Arduino para compilar y cargar el código en el Arduino Nano.
  • Cambie la temperatura del entorno alrededor del sensor.
  • Compruebe 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 los sensores DHT11 y DHT22.

Los puntos en común entre DHT11 y DHT22.

  • Las asignaciones de pines siguen siendo las mismas.
  • 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!