.. note:: Hola, ¡bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi, Arduino y ESP32 en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 junto a otros entusiastas. **¿Por qué unirse?** - **Soporte de expertos**: Resuelve problemas posventa y desafíos técnicos con ayuda de nuestra comunidad y equipo. - **Aprende y Comparte**: Intercambia consejos y tutoriales para mejorar tus habilidades. - **Avances exclusivos**: Accede anticipadamente a anuncios de nuevos productos y adelantos. - **Descuentos especiales**: Disfruta de descuentos exclusivos en nuestros productos más recientes. - **Promociones y sorteos festivos**: Participa en sorteos y promociones especiales por festividades. 👉 ¿Listo para explorar y crear con nosotros? Haz clic en [|link_sf_facebook|] y únete hoy mismo. .. _ar_humiture: 2.32 Módulo DHT11 ==================== Descripción general ---------------------- En esta lección, aprenderás a utilizar el módulo DHT11. El DHT11 es un sensor digital básico de temperatura y humedad de muy bajo costo. Utiliza un sensor capacitivo de humedad y un termistor para medir el aire circundante, y emite una señal digital en el pin de datos (no se requieren pines de entrada analógicos). Componentes necesarios ------------------------- .. image:: img/Part_two_32.png * :ref:`cpn_mega2560` * :ref:`cpn_wires` * :ref:`cpn_humiture` Circuito Fritzing ------------------------ En este ejemplo, conectamos directamente los pines del módulo DHT11 a los pines de la placa Mega 2560, y utilizamos el pin 4 para leer la señal del módulo DHT11. Conecta el pin「+」del módulo DHT11 a 5V, el pin「-」a GND y el pin OUT al pin 4. .. image:: img/image241.png :align: center **Diagrama de conexión** ----------------------------- .. image:: img/image242.png :align: center Código ------------ .. note:: * Puedes abrir el archivo ``2.32_dhtModule.ino`` en la ruta ``sunfounder_vincent_kit_for_arduino\code\2.32_dhtModule`` directamente. * Aquí se usa la librería ``DHT sensor library``, que puedes instalar desde el **Administrador de Librerías**. .. image:: img/lib_dht11.png :align: center .. raw:: html Después de cargar el código en la placa Mega2560, el monitor serial continuará mostrando los valores actuales de temperatura y humedad del entorno. Análisis del Código ----------------------- #. Incluye la librería ``DHT.h``, que proporciona funciones para interactuar con los sensores DHT. Luego, establece el pin y el tipo para el sensor DHT. .. code-block:: arduino #include "DHT.h" #define DHTPIN 4 // Establece el pin conectado al pin de datos del DHT11 #define DHTTYPE DHT11 // DHT 11 DHT dht(DHTPIN, DHTTYPE); #. Inicializa la comunicación serial a una velocidad de 115200 baudios e inicia el sensor DHT. .. code-block:: arduino void setup() { Serial.begin(115200); Serial.println("DHT11 test!"); dht.begin(); } #. En la función ``loop()``, lee los valores de temperatura y humedad del sensor DHT11 y los muestra en el monitor serial. .. code-block:: arduino void loop() { // Espera unos segundos entre mediciones. delay(2000); // Leer la temperatura o humedad tarda alrededor de 250 milisegundos. // Las lecturas del sensor pueden tener hasta 2 segundos de antigüedad (es un sensor bastante lento) float humedad = dht.readHumidity(); // Leer temperatura en Celsius (por defecto) float temperture = dht.readTemperature(); // Comprueba si alguna lectura falló y termina anticipadamente si es así. if (isnan(humidity) || isnan(temperture)) { Serial.println("Failed to read from DHT sensor!"); return; } // Print the humidity and temperature Serial.print("Humidity: "); Serial.print(humidity); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(temperture); Serial.println(" *C"); } * La función ``dht.readHumidity()`` se usa para leer el valor de humedad del sensor DHT. * La función ``dht.readTemperature()`` se usa para leer el valor de temperatura del sensor DHT. * La función ``isnan()`` se emplea para verificar si las lecturas son válidas. Si el valor de humedad o temperatura es NaN (no es un número), indica una lectura fallida del sensor, y se imprime un mensaje de error. Imagen del Fenómeno ----------------------- .. image:: img/image243.jpeg :align: center