Arduino UNO R4 - DHT22

Este tutorial explica cómo usar Arduino UNO R4 con el sensor de temperatura y humedad DHT22. En detalle, aprenderemos:

Arduino UNO R4 y módulo de sensor DHT22

Acerca del sensor de temperatura y humedad DHT22

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

Hay dos tipos de DHT22: el sensor y el módulo.

Pinout del sensor de temperatura y humedad DHT22

El sensor DHT22 incluye cuatro pines:

  • Pin GND: conéctalo a GND (0V).
  • Pin VCC: conéctalo a VCC (5V o 3.3V).
  • Pin DATA: este pin permite que el sensor se comunique con el Arduino UNO R4.
  • Pin NC: este no está conectado y puede ignorarse.

El módulo DHT22 incluye tres pines:

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

Algunos fabricantes ofrecen el sensor DHT22 como un módulo con tres pines etiquetados GND, VCC y DATA (o, alternativamente, como -, + y OUT).

Diagrama de Cableado

Utilice una resistencia entre 5 kΩ y 10 kΩ para mantener la línea de datos en alto y permitir la comunicación entre el sensor DHT22 y el Arduino UNO R4.

Arduino UNO R4 - Cableado del sensor DHT22

Diagrama de cableado del sensor de temperatura y humedad DHT22 para Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Arduino UNO R4 - Cableado del módulo DHT22

La mayoría de los módulos de sensor DHT22 vienen con una resistencia integrada, por lo que no es necesario añadir una. Esto ahorra algo de esfuerzo en el cableado o la soldadura.

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

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

Cómo programar para el sensor de temperatura DHT22

La programación para el sensor DHT22 y el módulo es la misma.

  • Añadir la biblioteca:
#include <DHT.h>
  • Configurar el pin del Arduino UNO R4 que se conecta al sensor DHT:
#define DHT22_PIN 2
  • Crear un objeto de sensor DHT22
DHT dht22(DHT22_PIN, DHT22);
  • Configurar el sensor:
dht22.begin();
  • Leer la humedad.
float humi = dht22.readHumidity();
  • Lea la temperatura en grados Celsius.
float tempC = dht22.readTemperature();
  • Leer la temperatura en grados Fahrenheit:
float tempF = dht22.readTemperature(true);

Código Arduino UNO R4 - DHT22

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-dht22 */ #include <DHT.h> #define DHT22_PIN 2 // The Arduino UNO R4 pin connected to DHT22 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(3000); // read humidity float humidity = 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(humidity) || isnan(tempC) || isnan(tempF)) { Serial.println("Failed to read from DHT22 sensor!"); } else { Serial.print("DHT22# Humidity: "); Serial.print(humidity); Serial.print("%"); Serial.print(" | "); Serial.print("Temperature: "); Serial.print(tempC); Serial.print("°C ~ "); Serial.print(tempF); Serial.println("°F"); } }

Pasos R\u00e1pidos

Sigue estas instrucciones paso a paso:

  • Si es la primera vez que usa el Arduino Uno R4 WiFi/Minima, consulte el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Conecte los componentes según el diagrama proporcionado.
  • Conecte la placa Arduino Uno R4 a su computadora mediante un cable USB.
  • Inicie el IDE de Arduino en su computadora.
  • Seleccione la placa Arduino Uno R4 adecuada (por ejemplo, Arduino Uno R4 WiFi) y el puerto COM.
  • Haga clic en el icono Bibliotecas en el lado izquierdo del IDE de Arduino.
  • Escriba "DHT" en el cuadro de búsqueda y busque la biblioteca de sensores DHT de Adafruit.
  • Haga clic en el botón Instalar para añadir la biblioteca.
Biblioteca de sensores DHT para Arduino UNO R4
  • Será necesario instalar dependencias de bibliotecas adicionales.
  • Haga clic en el botón Instalar todo para instalar todas las bibliotecas necesarias.
Biblioteca de sensores unificados de Adafruit para Arduino UNO R4
  • Elige y copia el código para tu sensor, luego ábrelo en Arduino IDE.
  • Haz clic en el botón Subir en Arduino IDE para subir el código a tu Arduino UNO R4.
  • Modifica la temperatura alrededor del sensor haciéndolo más caliente o más frío.
  • Verifica los resultados 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!