Arduino - DHT11

En este tutorial, vamos a aprender:

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)

Disposición de pines

DHT11 tiene dos formas: sensor y módulo.

Esquema de pines del sensor de temperatura y humedad DHT11

El sensor DHT11 tiene cuatro 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 comunicar entre el sensor y Arduino
  • Pin NC: No conectado, podemos ignorar este pin

El módulo DHT11 tiene tres pines:

  • Pin GND: debe conectarse a GND (0V)
  • Pin VCC: debe conectarse a VCC (5V, o 3.3V)
  • Pin DATA: se usa para comunicar entre el sensor y Arduino

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

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 DHT11 y el Arduino.

Arduino - Cableado del sensor DHT11

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

This image is created using Fritzing. Click to enlarge image

Arduino - Cableado del módulo DHT11

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

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

This image is created using Fritzing. Click to enlarge image

Cómo programar para el sensor de temperatura DHT11

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 DHT11_PIN 2
  • Declara el objeto DHT11
DHT dht11(DHT11_PIN, DHT11);
  • Inicializar el sensor:
dht11.begin();
  • Leer la humedad:
float humi = dht11.readHumidity();
  • Leer la temperatura en grados Celsius:
float tempC = dht11.readTemperature();
  • Leer la temperatura en grados Fahrenheit:
float tempF = dht11.readTemperature(true);

Código de Arduino - DHT11

/* * 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-dht11 */ #include "DHT.h" #define DHT11_PIN 2 DHT dht11(DHT11_PIN, DHT11); 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 tempC = dht11.readTemperature(); // read temperature as Fahrenheit float tempF = dht11.readTemperature(true); // check if any reads failed if (isnan(humi) || isnan(tempC) || isnan(tempF)) { Serial.println("Failed to read from DHT11 sensor!"); } else { Serial.print("DHT11# 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 el Arduino al PC mediante un cable USB
  • Abre el IDE de Arduino, selecciona la placa y el puerto correctos
  • Navega hasta el icono de Bibliotecas en la barra de la izquierda del IDE de Arduino.
  • Busca “DHT”, luego encuentra la librería de sensores DHT de Adafruit
  • Haz clic en el botón Instalar para instalar la librería.
Biblioteca de sensores DHT para Arduino
  • Se le pedirá que instale algunas dependencias de otras bibliotecas.
  • Haga clic en el botón Instalar todo para instalar todas las dependencias de la biblioteca.
Biblioteca de sensores unificada 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 subir el código al 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
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!