Descripción
El DHT22, también conocido como AM2302, es un sensor que permite mediciones de temperatura y humedad relativa (RH). El sensor posee una interfaz serial propietaria, que solo requiere de un pin para comunicarse con un microcontrolador.
El sensor de humedad relativa puede utilizarse en equipos de aire acondicionado, equipos domésticos, estaciones meteorológicas, equipos IoT para monitoreo de humedad en bodegas, centros de datos, fabricas, etc. Debido a su estabilidad a largo plazo y salida calibrada es una excelente opción para proyectos comerciales e industriales.
A nivel de software, este sensor puede usarse con microcontroladores como Arduino, Raspberry Pi Pico, ESP32 o ESP8266 gracias a un extenso ecosistema de librerías que facilitan la comunicación con el sensor. En cuanto al hardware, el sensor es fácil de utilizar ya que solo requiere de una resistencia pull-up externa como único componente externo.
El DHT22 es similar al DHT11 en cuanto a funcionamiento, pero presenta mejores prestaciones como: mejor resolución, mayor precisión, más velocidad de respuesta y un encapsulado mas robusto.
En esta página puedes adquirir el sensor DHT22 o AM2302 suelto o en un módulo que incorpora la resistencia pull-up e integra conexiones con pines macho que son más robustas. Puedes seleccionar el modelo que requieras al agregarlo al carrito.
Características y especificaciones
- Marca: ASAIR (AOSONG)
- Tipo de sensor: temperatura, humedad relativa
- Principio de funcionamiento: termistor, sensor de humedad capacitivo
- Voltaje de alimentación: 3.3 a 5.5 VDC
- Corriente típica en operación: 1200 uA
- Corriente típica en reposo: 15 uA
- Especificaciones de sensor de humedad:
- Rango: 0 a 99.9 % RH
- Resolución: 16 bits
- Precisión: ± 2 % RH (a 25 °C)
- Especificaciones de sensor de temperatura:
- Rango: -40 a 80 °C
- Resolución: 16 bits
- Precisión: ± 0.5 °C
- Frecuencia de muestreo: 1 vez cada dos segundos (0.5 Hz)
- Conector: 4 pines con espaciado de 0.1 pulgadas
- Interfaz: 4 conexiones
- VDD: Voltaje de alimentación
- DATA: Pin de datos (protocolo serial)
- NC: Sin conexión
- GND: Tierra
- Peso: 5 gramos
- Dimensiones
- Largo: 3.3 cm
- Ancho: 1.54 cm
- Alto: 0.78 cm
Código de ejemplo en Arduino para DHT22
El siguiente programa realiza la lectura del sensor DHT22 y muestra el resultado en el monitor serial. Es útil para evaluar rápidamente el funcionamiento del sensor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | /** Geek Factory - "Dale vuelo a tus proyectos" www.geekfactory.mx PROGRAMA DE PRUEBA PARA SENSOR DE HUMEDAD Y TEMPERATURA DHT22 CONSULTA EL ARCHIVO LICENCIA.TXT PARA CONOCER MÁS SOBRE LOS DERECHOS DE DISTRIBUCIÓN DE ESTE MATERIAL O LA SIGUIENTE URL: HTTPS://WWW.GEEKFACTORY.MX/LICENCIA-CONTENIDO. PUBLICADO BAJO LICENCIA ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL (CC BY-NC-SA 4.0). GEEK FACTORY INVIERTE TIEMPO Y RECURSOS EN DESARROLLAR ESTOS EJEMPLOS Y TUTORIALES. SI ENCUENTRAS ÚTIL ESTE CÓDIGO, CONSIDERA REALIZAR UNA COMPRA CON NOSOTROS. Resumen: Realiza la medición de temperatura y humedad con un sensor DHT22. El resultado se muestra en el monitor serial. Se utiliza la librería DHT de Adafruit, que deberá estar instalalda en nuestro IDE para que pueda compilar de forma satisfactoria. */ #include <DHT.h> // constructor del objeto dhtsensor recibe el pin en el que se conecta el sensor // y también una constante que define el tipo de sensor que conectaremos // en nuestro caso el sensor estará conectado al pin 12 y será un DHT11 DHT dhtsensor(12, DHT22); /** Función setup: se ejecuta una vez cuando encendemos el arduino */ void setup() { // preparar la comunicación serial Serial.begin(9600); // preparar la librería para comunicarse con el sensor dhtsensor.begin(); } /** Función loop: se ejecuta continuamente mientras el arduino permanece encendido */ void loop() { // esperar entre mediciones, es necesario para el buen funcionamiento del sensor delay(2000); // leer la humedad utilizando la función readHumidity() y la temperatura // con readTemperature(), almacenamos los resultados en variables (h y t) float h = dhtsensor.readHumidity(); float t = dhtsensor.readTemperature(); // revisar que tengamos valores numéricos válidos // si la comunicación falla, no será así y podemos detectar un error if (isnan(h) || isnan(t)) { Serial.println(F("Falla al leer el sensor DHT22!")); // volver al inicio del loop() return; } // imprimir la humedad y temperatura medida al monitor serial Serial.print(F("Humedad: ")); Serial.print(h); Serial.print(F(" % ")); Serial.print(F("Temperatura: ")); Serial.print(t); Serial.println(" *C"); } |











Valoraciones
No hay valoraciones aún.