Sensor de Humedad y Temperatura AM2302

[DHT22-PCB] Sensor de Humedad y Temperatura AM2302

https://electrofranko.com/web/image/product.template/449/image_1920?unique=2414ce1

S/ 29.00 29.0 PEN S/ 29.00

S/ 29.00

Not Available For Sale

Esta combinación no existe.

Términos y condiciones
Envío: 2-3 días laborales


Referencia Interna: DHT22-PCB

Sensor de Temperatura y Humedad DHT22 (AM2302) para Arduino, ESP32 y Raspberry Pi

Módulo digital multiplataforma compatible con sistemas embebidos de 3.3V y 5V de arquitectura avanzada.

El sensor digital inteligente DHT22 (AM2302) realiza lecturas simultáneas de temperatura y humedad ambiental en sistemas autónomos profesionales. Su arquitectura interna integra un convertidor analógico-digital de alto desempeño optimizado para placas de desarrollo Arduino, microcontroladores potentes ESP32, ESP8266, STM32 y microcomputadoras complejas Raspberry Pi. La transmisión síncrona mediante un bus unificado de un solo hilo suprime interferencias externas y ruidos eléctricos típicos industriales. Es la solución ideal para automatización de domótica residencial, control preciso de invernaderos inteligentes y plataformas IoT integradas con arquitecturas multinivel avanzadas.

Especificaciones Técnicas

Parámetro OperativoRango / Valor Oficial
Sistemas CompatiblesArduino, ESP32, Raspberry Pi, STM32
Voltaje de Operación3.3 V a 6.0 V DC (Bilevel tolerante)
Consumo de Corriente1.5 mA (Lectura) / 40 µA (Espera)
Rango Humedad Relativa0% a 100% RH
Precisión Humedad±2% RH (Máximo error)
Resolución Humedad0.1% RH
Rango de Temperatura-40 °C a +80 °C
Parámetro Mecánico / SignalRango / Valor Oficial
Precisión Temperatura±0.5 °C de tolerancia
Resolución Temperatura0.1 °C
Periodo de Muestreo2.0 Segundos (Mínimo recomendado)
Tipo de Salida DigitalBus un solo hilo (Single-Wire Bus)
Estabilidad Humedad<0.5% RH / año (Baja deriva)
Dimensiones de Cápsula25 mm x 15 mm x 7.7 mm
Peso Neto Aproximado2.4 gramos (Ultra ligero)

Compatibilidad y Ventajas en Arduino, ESP32 y Raspberry Pi

Operación Dual 3.3V y 5V: Trabaja directo a 5V con placas clásicas como **Arduino Uno**, y se adapta perfectamente a la lógica nativa de 3.3V de tarjetas IoT avanzadas como **ESP32, ESP8266, Raspberry Pi Pico y STM32** sin usar convertidores de nivel.

Librerías Oficiales Multiplataforma: Cuenta con soporte masivo y librerías maduras desarrolladas por Adafruit y la comunidad para múltiples ecosistemas, incluyendo C/C++ (Arduino IDE), MicroPython y librerías de Python para sistemas Linux en **Raspberry Pi 4 / 5**.

Ideal para Aplicaciones IoT e Inalámbricas: Al ser compatible con el bajo consumo del **ESP32** y **Raspberry Pi**, permite diseñar estaciones meteorológicas remotas que transmiten datos por Wi-Fi, Bluetooth o protocolos de largo alcance como LoRaWAN.

El enlace físico del DHT22 unifica líneas de alimentación y transferencias lógicas mediante una interfaz simple de tres o cuatro terminales, adaptándose dinámicamente a voltajes de 3.3V y 5V. Su salida digital requiere un pin con soporte I/O configurado para comunicación Single-Wire en plataformas de cómputo embebido masivo. Permite mapeos directos y versátiles para automatizar lecturas climatológicas instantáneas sin pérdida de paquetes informativos esenciales.

Galería Dinámica de Conexiones de Hardware

Esquema 1: Arduino Uno
Arduino Uno
Esquema 3: Raspberry Pi
Raspberry Pi
Esquema 2: ESP32
ESP32 DevKit
Esquema 4: Configuración Pull-Up
Pull-Up / Módulo
Guía de Cableado Interplataforma: Conecte VCC y GND a las líneas de alimentación correspondientes de su placa (**5V en Arduino** / **3.3V en ESP32 y Raspberry Pi**). La línea DATA se conecta a cualquier pin digital libre (Pin D2 en Arduino, GPIO 4 en ESP32 o GPIO 4 en el header de Raspberry Pi). Si utiliza el sensor básico suelto de 4 pines, es obligatorio colocar una resistencia Pull-Up de 4.7kΩ a 10kΩ entre los pines VCC y DATA para asegurar la correcta lectura en todas las plataformas.
🎓 Gestión de Firmware e Integración en Arduino, ESP32 y Raspberry Pi

Para implementar este firmware de forma exitosa en entornos diversificados, considere las siguientes pautas técnicas clave según el controlador en uso:

  • Portabilidad del Código (Arduino e ESP32): El script basado en C++ provisto abajo se ejecuta de forma nativa tanto en **Arduino** como en **ESP32 / ESP8266** dentro del IDE de Arduino, requiriendo únicamente cambiar el número de pin asignado según el mapeo de GPIOs físico de su tarjeta.
  • Consideración para Raspberry Pi (Python/MicroPython): En entornos Linux completos como **Raspberry Pi**, se utiliza la librería adafruit-circuitpython-dht, donde la temporización del bus síncrono es gestionada directamente por el kernel del sistema operativo mediante hilos del procesador.
  • Gestión de Tiempos Críticos: Mantenga siempre un retardo mínimo de 2.5 segundos en el ciclo principal. El procesador del **ESP32** es ultrarrápido (hasta 240MHz), pero el tiempo de respuesta químico interno del DHT22 sigue siendo lento y restrictivo.
// Código Universal de Monitoreo Ambiental para Arduino, ESP32 y Serie ESP8266 // Compatible con IDE de Arduino. Requiere librería de Adafruit: "DHT sensor library" #include "DHT.h" // Configuración de Pines según plataforma: // - Para Arduino Uno / Nano: Use Pin Digital 2 (GPIO2) // - Para ESP32 DevKit: Use Pin GPIO 4 o GPIO 15 (Verifique su mapa de pines) #define DHTPIN 2 // Pin asignado para la conexión de datos de la placa de desarrollo #define DHTTYPE DHT22 // Especificamos el tipo de sensor en uso (DHT22 / AM2302) // Inicialización del objeto sensor adaptado para el hardware seleccionado DHT dht(DHTPIN, DHTTYPE); void setup() { // Ajuste de velocidad serial: 115200 bps recomendado para ESP32 y placas rápidas Serial.begin(115200); Serial.println("--- Inicializando Estacion Multiplataforma DHT22 (Arduino/ESP32) ---"); // Arranca el protocolo de inicialización de la interfaz digital del sensor dht.begin(); Serial.println("[ CONFIG ]: Bus Single-Wire activo listo para capturar datos."); Serial.println("[ STATUS ]: Esperando estabilizacion inicial del chip de 2 segundos..."); Serial.println("-----------------------------------------------------------------------------------------"); delay(2000); // Retardo preventivo inicial mandatorio } void loop() { // Captura de datos meteorológicos desde el bus digital float humedadRelativa = dht.readHumidity(); float temperaturaCelsius = dht.readTemperature(); // CONTROL DE ERRORES: Validación de datos nulos o pérdida de sincronía (NaN) if (isnan(humedadRelativa) || isnan(temperaturaCelsius)) { Serial.println("[ ERROR ]: Fallo critico de comunicacion. No se recibieron datos del DHT22."); Serial.println("[ REVISAR ]: Verifique si el voltaje es el adecuado para su tarjeta (3.3V o 5V)."); Serial.println("-----------------------------------------------------------------------------------------"); delay(2500); // Espera mandatoria antes de reiniciar el ciclo de lectura return; } // CÁLCULO DE SENSACIÓN TÉRMICA: Algoritmo interno compatible con todas las plataformas float indiceCalorCelsius = dht.computeHeatIndex(temperaturaCelsius, humedadRelativa, false); // DESPLIEGUE DE RESULTADOS EN CONSOLA SERIAL UNIVERSAL Serial.print("[ REGISTRO HARDWARE ]: "); Serial.print("Humedad: "); Serial.print(humedadRelativa, 1); // Imprime el dato formateado con 1 decimal de precisión Serial.print(" %RH | "); Serial.print("Temperatura: "); Serial.print(temperaturaCelsius, 1); Serial.print(" °C | "); Serial.print("Indice de Calor: "); Serial.print(indiceCalorCelsius, 1); Serial.println(" °C"); Serial.println("-----------------------------------------------------------------------------------------"); // TIEMPO DE ESPERA ENTRE LECTURAS: Indispensable en Arduino, ESP32 y Raspberry para evitar sobrecalentamiento delay(2500); }
1. ¿Puedo conectar el DHT22 directo a los 3.3V de un ESP32 o Raspberry Pi?
Sí, el sensor es totalmente compatible con voltajes de 3.3V. Alimentarlo a este nivel asegura que el pin de datos entregue señales lógicas seguras para las entradas digitales sensibles del ESP32 y Raspberry Pi sin dañarlos.
2. ¿Por qué el código de Arduino me da error "Failed to read" al usarlo en un ESP32?
Esto ocurre porque los números de pin impresos en la placa ESP32 no siempre coinciden con los GPIO lógicos internos en el código. Verifique siempre el pinout exacto de su módulo ESP32 y asigne el GPIO correcto.
3. ¿Cómo se programa este componente dentro de una computadora Raspberry Pi 4 o 5?
Se utiliza el lenguaje Python junto con las librerías especializadas Blinka de Adafruit. El script interroga periódicamente el pin GPIO designado accediendo directamente a los registros lógicos del procesador ARM bajo un entorno Linux estable.
4. ¿Requiere configuraciones especiales el bus de un solo hilo en sistemas rápidos como ESP32?
Las librerías modernas de Arduino detectan automáticamente la velocidad del procesador (sea un Arduino AVR a 16MHz o un ESP32 a 240MHz) y ajustan los retardos de microsegundos de forma transparente para el usuario.
5. ¿La distancia de cableado se reduce al usar lógica de 3.3V en Raspberry Pi y ESP32?
Sí, al trabajar con señales de 3.3V la atenuación del voltaje por resistencia de cable es más crítica. Se sugiere no exceder los 5 a 10 metros de distancia, o usar cables blindados trenzados de buena calidad.
6. ¿Es compatible este sensor con sistemas industriales basados en PLC o STM32?
Es totalmente compatible con microcontroladores profesionales de la línea STM32 y entornos embebidos utilizando firmware en C puro. Para PLC industriales estándar no es directo, ya que requiere un adaptador intermedio de comunicación digital específico.
7. ¿Por qué es obligatoria la resistencia Pull-Up en Arduino, ESP32 y Raspberry Pi?
Debido a que el bus del sensor es de colector abierto. La resistencia mantiene la línea de datos en un estado alto digital constante (VCC) hasta que el sensor o la placa la jalan a tierra para comunicarse.
8. ¿Se pueden usar las resistencias pull-up internas de las placas ESP32 o Arduino?
No es recomendable. Las resistencias internas de los microcontroladores suelen ser muy altas (entre 20kΩ y 50kΩ), lo que causa flancos de subida lentos y lecturas erróneas. Utilice siempre una resistencia física externa de 4.7kΩ.
9. ¿Es necesario implementar código multitarea (FreeRTOS) en ESP32 para leer el sensor?
No es obligatorio, pero sí muy útil. Debido a que el sensor bloquea la ejecución durante dos segundos entre muestreos, usar hilos en FreeRTOS permite que el ESP32 siga ejecutando otras tareas críticas sin detenerse.