Arduino UNO R4 - DHT11

En esta guía, aprenderemos a usar el sensor DHT11 de temperatura y humedad con Arduino UNO R4. En detalle, aprenderemos:

Arduino UNO R4 y módulo de sensor DHT11

Acerca del sensor de temperatura y humedad DHT11

DHT11
Operating Voltage3 to 5V
Temperature Range 0°C to 50°C
Temperature Accuracy ± 2°C
Humidity Range 20% to 80%
Humidity Accuracy 5%
Reading Rate 1Hz (once every second)

Diagrama de pines

El DHT11 está disponible en dos tipos: sensor y módulo.

Pinout del sensor DHT11 de temperatura y humedad

El sensor DHT11 tiene cuatro pines.

  • Pin GND: conéctese a GND (0 V)
  • Pin VCC: conéctese a VCC (5 V o 3.3 V)
  • Pin DATA: se utiliza para la comunicación entre el sensor y Arduino UNO R4
  • Pin NC: no conectado, se puede ignorar

El módulo DHT11 tiene tres pines.

  • Pin GND: conéctalo a GND (0V).
  • Pin VCC: conéctalo 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 DHT11 como un módulo con tres pines etiquetados: GND, VCC y DATA (o a veces como -, + y OUT).

Diagrama de Cableado

Para conectar el sensor DHT11 al Arduino UNO R4, utilice una resistencia entre 5 kΩ y 10 kΩ. Esta resistencia ayuda a mantener la línea de datos en alto, lo que permite que el sensor y el Arduino se comuniquen correctamente.

Arduino UNO R4 - Cableado del sensor DHT11

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

This image is created using Fritzing. Click to enlarge image

Arduino UNO R4 - Cableado del módulo DHT11

La mayoría de los módulos DHT11 vienen con una resistencia incorporada, por lo que no es necesario añadir una. Esto facilita el cableado o la soldadura.

Diagrama de cableado del módulo DHT11 de temperatura y humedad 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 DHT11

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

  • Incluir la biblioteca.
#include <DHT.h>
  • Configura el pin en el Arduino UNO R4 que se conecta al sensor DHT:
#define DHT11_PIN 2
  • Crea un objeto de sensor DHT11.
DHT dht11(DHT11_PIN, DHT11);
  • Inicia el sensor:
dht11.begin();
  • Leer el valor de la humedad:
float humi = dht11.readHumidity();
  • Leer la temperatura en grados Celsius:
float tempC = dht11.readTemperature();
  • Lee la temperatura en grados Fahrenheit.
float tempF = dht11.readTemperature(true);

Código de Arduino UNO R4 - DHT11

/* * 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-dht11 */ #include <DHT.h> #define DHT11_PIN 2 // The Arduino UNO R4 pin connected to DHT11 DHT dht11(DHT11_PIN, DHT11); void setup() { Serial.begin(9600); dht11.begin(); // initialize the sensor } void loop() { // wait a few seconds between measurements. delay(3000); // read humidity float humidity = dht11.readHumidity(); // read temperature as Celsius float tempC = dht11.readTemperature(); // read temperature as Fahrenheit float tempF = dht11.readTemperature(true); // check if any reads failed if (isnan(humidity) || isnan(tempC) || isnan(tempF)) { Serial.println("Failed to read from DHT11 sensor!"); } else { Serial.print("DHT11# 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

Siga 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 de acuerdo con 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 (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
  • Haga clic en el icono Bibliotecas en el lado izquierdo del IDE de Arduino.
  • Busque "DHT" y localice la biblioteca del sensor DHT de Adafruit.
  • Haga clic en el botón Instalar para agregar la biblioteca.
Biblioteca de sensores DHT para Arduino UNO R4
  • Necesita instalar dependencias de bibliotecas adicionales
  • Haz clic en el botón Instalar Todo para instalar todas las bibliotecas necesarias.
Arduino UNO R4 Biblioteca de sensores unificados de Adafruit
  • Copia el código para tu sensor y ábrelo en el IDE de Arduino.
  • Pulsa el botón Subir en el IDE de Arduino para subir el código al Arduino UNO R4.
  • Cambia la temperatura alrededor del sensor para que esté más cálida o más fría.
  • Ver los resultados en el Monitor Serial.
COM6
Send
DHT11# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT11# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT11# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT11# Humidity: 31.00% | Temperature: 27.00°C ~ 80.60°F DHT11# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 31.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 32.00% | Temperature: 28.00°C ~ 82.40°F DHT11# Humidity: 31.00% | Temperature: 29.00°C ~ 84.20°F DHT11# Humidity: 32.00% | Temperature: 29.00°C ~ 84.20°F DHT11# 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!