El sensor DHT11 es una herramienta sencilla y económica para medir la temperatura y la humedad relativa en tus proyectos con Arduino. Este sensor digital es ideal para aplicaciones básicas de monitoreo ambiental gracias a su fácil integración y comunicación mediante un único pin de datos. Internamente, utiliza un termistor para medir la temperatura y un sensor capacitivo para detectar la humedad, proporcionando valores en un rango de 0 a 50 °C para temperatura y del 20% al 90% para humedad relativa.
El DHT11 es perfecto para proyectos como estaciones meteorológicas, automatización del hogar o monitoreo de condiciones en invernaderos. Aunque su precisión es limitada en comparación con otros sensores más avanzados, su simplicidad lo convierte en una excelente opción para principiantes que quieran aprender a trabajar con sensores y datos ambientales en sus proyectos Arduino.
Para usarlo, instala la librería “DHT sensor library” desde el administrador de bibliotecas de Arduino IDE.
Sensor | Arduino |
---|---|
S (Señal) | Pin digital |
Sin rótulo (Voltaje) | 5V |
- (Tierra) | GND |
#include <DHT.h>
// Configuración del sensor
#define DHTPIN 5 // Pin digital donde está conectado el pin S del DHT11
#define DHTTYPE DHT11 // Tipo de sensor (DHT11)
// Crear un objeto del sensor DHT
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
Serial.println("Iniciando DHT11...");
dht.begin(); // Inicializar el sensor
}
void loop() {
// Leer la temperatura y humedad
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Verificar si hubo un error en la lectura
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Error al leer del sensor DHT11");
return;
}
// Imprimir los valores leídos
Serial.print("Humedad: ");
Serial.print(humidity);
Serial.print(" %\t");
Serial.print("Temperatura: ");
Serial.print(temperature);
Serial.println(" *C");
delay(2000); // Esperar 2 segundos entre lecturas
}