Sensor Si7021 – Medición digital de temperatura y humedad por I2C

El Si7021 es un sensor digital de humedad relativa y temperatura desarrollado por Silicon Labs. Es reconocido por su precisión, bajo consumo, respuesta rápida y una comunicación totalmente digital mediante el bus I2C, lo que lo hace muy adecuado para proyectos educativos, IoT y automatización ambiental.


1. ¿Cómo funciona internamente el Si7021?

El Si7021 integra en un solo encapsulado:

a) Elemento capacitivo para medir humedad

La humedad relativa se detecta mediante un sensor capacitivo de polímero.
Cuando la humedad aumenta, el dieléctrico del polímero absorbe agua, cambiando la capacitancia.
Esa variación es convertida en una señal digital escalada internamente.

b) Termistor de banda prohibida (Bandgap)

La temperatura se mide con un sensor térmico basado en una referencia bandgap, que proporciona:

  • Excelente estabilidad
  • Alta precisión
  • Baja deriva por temperatura

c) Conversión digital y calibración interna

El Si7021 incorpora un ADC de 12 a 14 bits y una calibración de fábrica almacenada en memoria OTP.
Esto significa que:

  • No requiere calibración por parte del usuario
  • Siempre entrega lecturas directas y fiables
  • Las mediciones ya vienen compensadas según el fabricante

d) Comunicación por I2C

Utiliza una única dirección fija:

  • 0x40

La comunicación se basa en comandos que ordenan medición de humedad, temperatura o lectura de registros internos.


2. Modos y comandos de operación

El sensor puede operar de dos maneras:

Mediciones en un solo disparo (One-shot)

✔ Mide bajo demanda
✔ Ahorra energía
✔ Recomendado para dispositivos IoT con batería

Mediciones automáticas periódicas (Autonomous Mode)

✔ El Si7021 realiza capturas periódicas
✔ Se recuperan los datos cuando se necesiten
✔ Facilita sincronización en sistemas embebidos

Tiempos típicos

  • Humedad: ~12–20 ms
  • Temperatura: ~10 ms

Resolución ajustable

El usuario puede escoger entre:

  • Humedad: 8, 10, 11 o 12 bits
  • Temperatura: 11, 12, 13 o 14 bits
    Mayor resolución → más precisión y más tiempo de conversión.

3. Alcances del Si7021

Medición de humedad: 0–80% HR (preciso), hasta 100% HR sin condensación
Medición de temperatura: –40 ºC a 85 ºC
Alta precisión:

  • Temperatura: ±0.4 ºC
  • Humedad: ±3% HR
    Gran estabilidad a largo plazo del polímero
    Bajo consumo, ideal para baterías
    Autocalibración interna, detección de casos fuera de rango
    No requiere calibración manual
    Factor de forma compacto

4. Limitaciones del sensor

Se degrada si se expone a sustancias químicas volátiles (disolventes, alcohol, acetona).
No soporta condensación prolongada; lecturas inestables si se forma agua sobre el sensor.
Lenta recuperación tras exposición al 100% de humedad.
La humedad depende de la temperatura, por lo que el sensor debe estar bien ventilado.
No soporta temperaturas de soldadura prolongadas; evitar contacto directo con aire caliente.


5. Conexión con Arduino

Si7021Arduino
VIN3.3 V o 5 V (según módulo)
GNDGND
SDAA4 (Arduino UNO)
SCLA5 (Arduino UNO)

6. 3 aplicaciones reales del Si7021 con Arduino

1. Estación meteorológica educativa

El Si7021 se usa para:

  • Medir humedad relativa exterior
  • Registrar temperatura diaria
  • Enviar datos a una pantalla LCD o a la nube vía WiFi

Es ideal por su precisión y baja deriva en ambientes cambiantes.


2. Sistemas HVAC o control ambiental

Con Arduino, el Si7021 puede ayudar a controlar:

  • Ventilación automática
  • Deshumidificadores
  • Aire acondicionado

El sistema analiza las lecturas y activa actuadores según umbrales configurables.


3. Monitoreo ambiental en invernaderos o viveros

Usos típicos:

  • Mantener humedad óptima para germinación
  • Activar sistemas de riego por nebulización
  • Registrar condiciones para crecimiento de plantas

Su estabilidad lo hace ideal para mediciones continuas.


7. Tres fuentes confiables de consulta

  1. Datasheet oficial del Si7021 – Silicon Labs
    Documento técnico completo con especificaciones, curvas y comandos I2C.
  2. Application Notes de Sensirion/Silicon Labs sobre sensores capacitivos
    Profundizan en química del polímero y efectos ambientales.
  3. Repositorio de bibliotecas Arduino para Si7021 (Adafruit / SparkFun)
    Contienen ejemplos y documentación práctica.

8. Prompt recomendado para que el lector genere su propio código con IA

Puedes poner este recuadro tal cual en tu sitio:

Quiero que me ayudes a generar un código en Arduino para usar el sensor Si7021 por I2C.  
El programa debe incluir:  
- Inicialización del bus I2C.  
- Lectura de temperatura y humedad con explicación línea por línea.  
- Manejo de errores si el sensor no responde a la dirección 0x40.  
- Conversión a unidades estándar (°C y %HR).  
- Impresión de datos en Serial Monitor con formato claro.  
También quiero aprender a:  
- Cambiar la resolución del sensor.  
- Ajustar el tiempo de muestreo.  
- Convertir el código para un ESP32 o Raspberry Pi Pico.  
Genera el código de forma modular, usando funciones separadas para medir humedad y temperatura.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio