.. note:: ¡Hola, bienvenido a la Comunidad de Aficionados a Raspberry Pi, Arduino y ESP32 de SunFounder en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 con otros entusiastas. **¿Por qué unirse?** - **Soporte de expertos**: Resuelve problemas posventa y desafíos técnicos con ayuda de nuestra comunidad y equipo. - **Aprender y compartir**: Intercambia consejos y tutoriales para mejorar tus habilidades. - **Vistas previas exclusivas**: Obtén acceso anticipado a anuncios de nuevos productos y avances. - **Descuentos especiales**: Disfruta de descuentos exclusivos en nuestros productos más nuevos. - **Promociones festivas y sorteos**: Participa en sorteos y promociones de fiestas. 👉 ¿Listo para explorar y crear con nosotros? Haz clic en [|link_sf_facebook|] y únete hoy! .. _py_dht11: 5.13 Temperatura - Humedad ======================================= El DHT11 es un sensor de temperatura y humedad comúnmente utilizado para mediciones ambientales. Es un sensor digital que se comunica con un microcontrolador para proporcionar lecturas de temperatura y humedad. En este proyecto, leeremos el sensor DHT11 e imprimiremos los valores de temperatura y humedad que detecta. Al leer los datos proporcionados por el sensor, podemos obtener los valores actuales de temperatura y humedad en el ambiente. Estos valores pueden ser utilizados para el monitoreo en tiempo real de las condiciones ambientales, observaciones meteorológicas, control climático interior, informes de humedad y más. **Componentes Necesarios** En este proyecto, necesitamos los siguientes componentes. Es definitivamente conveniente comprar un kit completo, aquí tienes el enlace: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nombre - ELEMENTOS EN ESTE KIT - ENLACE * - Kit de Inicio ESP32 - 320+ - |link_esp32_starter_kit| También puedes comprarlos por separado en los enlaces a continuación. .. list-table:: :widths: 30 20 :header-rows: 1 * - INTRODUCCIÓN DE COMPONENTES - ENLACE DE COMPRA * - :ref:`cpn_esp32_wroom_32e` - |link_esp32_wroom_32e_buy| * - :ref:`cpn_esp32_camera_extension` - |link_esp32_extension_board| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_dht11` - |link_dht11_buy| **Pines Disponibles** * **Pines Disponibles** Aquí tienes una lista de los pines disponibles en la placa ESP32 para este proyecto. .. list-table:: :widths: 5 20 * - Pines Disponibles - IO13, IO12, IO14, IO27, IO26, IO25, IO33, IO15, IO2, IO0, IO4, IO5, IO18, IO19, IO21, IO22, IO23 **Esquemático** .. image:: ../../img/circuit/circuit_5.13_dht11.png **Cableado** .. image:: ../../img/wiring/5.13_dht11_bb.png **Código** .. note:: * Abre el archivo ``5.13_dht11.py`` ubicado en la ruta ``esp32-starter-kit-main\micropython\codes``, o copia y pega el código en Thonny. Luego, haz clic en "Ejecutar Script Actual" o presiona F5 para ejecutarlo. * Asegúrate de seleccionar el intérprete "MicroPython (ESP32).COMxx" en la esquina inferior derecha. .. code-block:: python import dht import machine import time # Initialize the DHT11 sensor and connect it to pin 14 sensor = dht.DHT11(machine.Pin(14)) # Loop indefinitely to continuously measure temperature and humidity while True: try: # Measure temperature and humidity sensor.measure() # Get temperature and humidity values temp = sensor.temperature() humi = sensor.humidity() # Print temperature and humidity print("Temperature: {}, Humidity: {}".format(temp, humi)) # Wait for 1 second between measurements time.sleep(1) except Exception as e: print("Error: ", e) time.sleep(1) Cuando el código está en ejecución, verás que la Shell imprime continuamente la temperatura y la humedad, y a medida que el programa se ejecuta de manera estable, estos dos valores se volverán cada vez más precisos. **Aprender Más** También puedes mostrar la temperatura y la humedad en el LCD I2C 1602. .. image:: ../../img/wiring/5.13_dht11_lcd_bb.png .. note:: * Abre el archivo ``5.13_dht11_lcd.py`` ubicado en la ruta ``esp32-starter-kit-main\micropython\codes``, o copia y pega el código en Thonny. Luego, haz clic en "Ejecutar Script Actual" o presiona F5 para ejecutarlo. * Asegúrate de seleccionar el intérprete "MicroPython (ESP32).COMxx" en la esquina inferior derecha. * Aquí necesitas usar la biblioteca llamada ``lcd1602.py``, por favor verifica si ha sido cargada en el ESP32, para un tutorial detallado refiérete a :ref:`add_libraries_py`. .. code-block:: python import dht import machine import time from lcd1602 import LCD # Initialize the DHT11 sensor and connect it to pin 14 sensor = dht.DHT11(machine.Pin(14)) # Initialize the LCD1602 display lcd = LCD() # Loop to measure temperature and humidity while True: try: # Measure temperature and humidity sensor.measure() # Get temperature and humidity values temp = sensor.temperature() humi = sensor.humidity() # Print temperature and humidity print("Temperature: {}, Humidity: {}".format(temp, humi)) # Clear the LCD display lcd.clear() # Display temperature and humidity on the LCD1602 screen lcd.write(0, 0, "Temp: {}\xDFC".format(temp)) lcd.write(0, 1, "Humi: {}%".format(humi)) # Wait for 2 seconds before measuring again time.sleep(2) except Exception as e: print("Error: ", e) time.sleep(2)