DHT11 - DHT22
Los sensores digitales DHT11 y DHT22 son sensores de temperatura y humedad (Digital Humidity & Temperature – DHT) de bajo costo que cuentan con un termistor para medir la temperatura del aire circundante y un sensor capacitivo para medir la humedad. El chip interno maneja la conversión de los datos obtenidos de analógico a digital y los envía por un cable, pero utilizando un protocolo propio (no el protocolo diseñado de Dallas Semiconductor 1-Wire).
Sus características en cuanto rangos de medición, resolución y tiempos de lectura son las siguientes:
El sensor DHT11 está muy limitado en cuanto a características técnicas, mientras que el DHT22 es una buena elección para proyectos en los que no se requiera una gran precisión.
La forma de conexionarlos será igual para el DHT11 que para el DHT22. Se alimentan eléctricamente a través de los pines VDD y GND. El pin SDA se utiliza para la comunicación con el microcontrolador, pudiendo conectarse a cualquier pin (todos están habilitados para su uso). Es necesario colocar una resistencia (pull-up) de entre 4,7 y 10 Kohm entre los pines VDD y SDA para evitar dañar el sensor, salvo que vaya montado sobre una placa que la lleve incorporada de serie, como en los siguientes modelos: DHT11 – DHT22).
MÓDULO DHT
El módulo dht de la biblioteca estándar de MicroPython proporciona un conjunto de funciones para controlar los sensores DHT11 y DHT22.
El constructor para cada objeto es class dht.DHT11(id) para el sensor DHT11 y class dht.DHT11(id) para el sensor DHT22. El argumento id es el pin del microcontrolador ESP32 con el que se asocia el objeto.
Los sensores se pueden conectar en cualquier pin, siendo los pines dispones los de los siguientes rangos: 0-19, 21-23, 25-27, 32-39, pero no es recomendable el uso de los pines 1 y 3 porque se utilizan en el puerto de comunicaciones UART ni tampoco los pines 6, 7, 8, 11, 16 y 17 que se utilizan para conectar la memoria flash. En consecuencia los pines aconsejables son los siguientes: 2, 4-5, 9-10, 12-15, 18-19, 21-23, 25-27 y 32-39.
Dispone de 3 funciones (métodos): measure(), temperature() y humidity() para tomar los datos y mostrar los resultados:
- La función measure() realiza la lectura.
- La función temperature() muestra la lectura de la temperatura en ºC.
- La función humidity() muestra la lectura de la humedad en %.
Veamos un ejemplo de uso con el módulo DHT22:
from machine import Pin # importa la clase Pin del módulo machine import dht # importa el módulo dht pin_04 = dht.DHT22(Pin(4)) # crea el objeto pin_04 para un módulo DHT22 en el pin GPIO 04 pin_04.measure() # realiza la lectura de la temperatura y humedad temperatura = pin_04.temperature() # asigna a la variable "temperatura" la temperatura humedad = pin_04.humidity() # asigna a la variable "humedad" la humedad print ("La temperatura es de " + str(temperatura) + "ºC y la humedad del " + str(humedad) + "%.")
Leave a Reply
Tu correo electrónico está seguro.
You must be logged in to post a comment.