Arduino - DHT22

En este tutorial, vamos a aprender:

Acerca del sensor DHT22 de temperatura y humedad

DHT22
Temperature Range -40°C to 80°CW
Temperature Accuracy ± 0.5°C
Humidity Range 0% to 100%
Humidity Accuracy ± 2 to 5%
Reading Rate 0.5Hz (once every 2 seconds)
Operating Voltage3 to 5V

Diagrama de pines

DHT22 tiene dos formas: sensor y módulo.

Disposición de pines del sensor DHT22 de temperatura y humedad

El sensor DHT22 tiene cuatro pines:

  • Pin GND: debe estar conectado a GND (0V)
  • Pin VCC: debe estar conectado a VCC (5V, o 3.3V)
  • Pin DATA: se utiliza para comunicar entre el sensor y Arduino
  • Pin NC: No conectado, podemos ignorar este pin

El módulo DHT22 tiene tres pines:

  • Pin GND: debe conectarse a GND (0 V)
  • Pin VCC: debe conectarse a VCC (5 V, o 3.3 V)
  • Pin DATA: se utiliza para la comunicación entre el sensor y Arduino

Algunos fabricantes proporcionan el sensor DHT22 en forma de módulo con tres pines: GND, VCC y DATA (o, alternativamente: -, + y OUT pines).

Diagrama de Cableado

En forma de sensor, se requiere una resistencia de entre 5 kΩ y 10 kΩ para mantener la línea de datos en alto y para habilitar la comunicación entre el sensor DHT22 y el Arduino.

Arduino - Cableado del sensor DHT22

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

This image is created using Fritzing. Click to enlarge image

Arduino - Cableado del módulo DHT22

La mayoría de los módulos de sensor DHT22 tienen una resistencia integrada, por lo que no es necesario añadirla. Esto te ahorra algo de cableado o de soldadura.

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

This image is created using Fritzing. Click to enlarge image

Cómo programar para el sensor de temperatura DHT22

La programación para ambos sensores es similar. Solo hay una línea de código diferente.

  • Incluir la biblioteca:
#include "DHT.h"
  • Define el pin de Arduino conectado al sensor DHT:
#define DHT22_PIN 2
  • Declarar objeto DHT22
DHT dht22(DHT22_PIN, DHT22);
  • Inicializar el sensor:
dht22.begin();
  • Leer la humedad:
float humi = dht22.readHumidity();
  • Leer la temperatura en grados Celsius:
float tempC = dht22.readTemperature();
  • Leer la temperatura en grados Fahrenheit:
float tempF = dht22.readTemperature(true);

Código de Arduino - DHT22

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

Pasos R\u00e1pidos

  • Conecta Arduino al PC mediante un cable USB
  • Abre Arduino IDE, selecciona la placa y el puerto correctos
  • Navega hasta el icono Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “DHT”, luego encuentra la biblioteca del sensor DHT de Adafruit
  • Haz clic en el botón Instalar para instalar la biblioteca.
Biblioteca de sensores DHT para Arduino
  • Se le pedirá que instale algunas otras dependencias de la biblioteca
  • Haga clic en el botón Instalar todo para instalar todas las dependencias de la biblioteca.
Biblioteca unificada de sensores de Adafruit para Arduino
  • Copia el código anterior correspondiente al sensor que tienes y ábrelo con Arduino IDE
  • Haz clic en el botón Subir en Arduino IDE para cargar el código en Arduino
  • Haz que el entorno alrededor del sensor esté más caliente o más frío
  • Ver el resultado en el Monitor Serial
COM6
Send
DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F DHT22# Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F DHT22# Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F DHT22# 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.

※ 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!