# T.2.3.4 Medidor de temperatura y humedad usando DHT11 y el ESP32 En este taller se muestra cómo usar los sensores de temperatura y humedad DHT11 o DHT22 con las placas de desarrollo ESP32 usando el firmware MicroPython. Cabe indicar que esto también aplica para el microcontrolador ESP8266. ## Caracteristicas del Sensor Temperatura y Humedad Existen una variedad de sensores que permite medir la temperuta y humedad del medio ambiente. El DHT11 y el DHT22 son los más conocidios y ambos con características similares, pero difieren en sus especificaciones. La siguiente tabla compara algunas de las especificaciones más importantes de los sensores de temperatura y humedad DHT11 y DHT22. Para un análisis más profundo de estos sensores, consulte la hoja de datos de los sensores. ![](https://hackmd.io/_uploads/rJTS17qcK.png) Del fabricante DHT11 (sensor a usar): * Puede detectar la humedad y la temperatura ambiente * Rango de medición de humedad: 20% -95% (0 grados-50 grados) error de medición de humedad: + -5% * Rango de medición de temperatura: 0 grados-50 grados error de medición de temperatura: + -2 grados * Tensión de funcionamiento 3,3 V-5V * Salida Digital * Placas pequeñas PCB tamaño: 1,9 cm * 1,7 cm * Cada uno pesa alrededor de 8g Especificación de interfaz de dos módulos (3 cables) 1. VCC externo 3,3 V-5V 2. GND externo GND 3. DATA interfaz de salida digital microcontrolador conectado puerto IO ## Escenarios de trabajo El taller a realizar usa los siguientes dispositivos y materiales: 1. ESP32 DevKitc v4 2. Protoboard 3. Sensor DHT11 4. Resitencia 5. Cables de líneas macho macho. Como se ha indicado en clases el protoboard será nuestro espacio de conexión por lo que se recomienda que todo los dispositivos reposen en la misma. Además, es importante tener en cuenta el diagrama técnico o de puertos de la placa a usar. En la figura siguiente se muestra el diagrama de la placa ESP32 v4 pero, en este caso solo se muestra el esquema de los puertos a usar. ![Uploading file..._ywpwihem9]() Como se observa de este lado tendríamos alimientación 3.3v y de 5v . También, se tiene los GPIO que se muestran en la figura anterior y la conexión a tierra. Cabe indicar qué, en este taller se usará la alimentación de voltaje de 3.3v. ### Conexión placa - protoboard En la figura siguiente se observa la alimentación del pin 6 (protoboard) GND y del pin 19 (protoboard) que corresponde a 3.3v. Adicionalmente, se observa los cables de conexión para la parte inferior del protoboard. Esto permite tener disponibles salidas positivas y negativas en sus extremos. ![](https://hackmd.io/_uploads/ryR5AGccK.png) En la figura siguiente se muestra el esquema de conexión junto al sensor DHT11 y la resistencia respectiva: ### Evaluación del programa Abra el IDE de desarrollo Thonny y, una vez adentro conectese al puerto respectivo. Si tiene alguna duda revise el taller de instalación de Thonny. Copie el código que se muestra a continuación y proceda a grabarlo dentro del computador. Para este propósito se le sugiere que guarde el archivo con nombre `ejemplo-DHT11.py`. ```Python= from machine import Pin from time import sleep import dht #sensor = dht.DHT22(Pin(25)) sensor = dht.DHT11(Pin(27)) # PUEDE SER PING 25 while True: try: sleep(1) sensor.measure() temp = sensor.temperature() hum = sensor.humidity() temp_f = temp * (9/5) + 32.0 print('Temperature: %3.1f C' %temp) #print('Temperature: %3.1f F' %temp_f) print('Humidity: %3.1f %%' %hum) except OSError as e: print('Failed to read sensor.') ``` Una vez, grabado el programa ejecútelo y compruebe su comportamiento. Verifique su comportamiento tratando de inducir aumento de temperatura o disminución de la misma al sensor DHT11.