sensor ens160: Evaluación detallada para proyectos IoT con Raspberry Pi y Arduino
El sensor ENS160 funciona bien con Raspberry Pi y Arduino para medir CO₂, eCO₂ y TVOC, pero no es confiable para la humedad relativa, que presenta inestabilidad y errores significativos.
Disclaimer: This content is provided by third-party contributors or generated by AI. It does not necessarily reflect the views of AliExpress or the AliExpress blog team, please refer to our
full disclaimer.
People also searched
<h2> ¿El sensor ENS160 funciona correctamente con Raspberry Pi para medir calidad del aire? </h2> <a href="https://www.aliexpress.com/item/1005009493304475.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S8a38ada59d814231b36ea8b447ab9698L.jpg" alt="ENS160 + AHT21 Air Quality Sensor – CO₂, eCO₂, TVOC, Temp & Humidity Module for Arduino, Raspberry Pi & IoT Projects" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Haz clic en la imagen para ver el producto </p> </a> Respuesta clave: Sí, el sensor ENS160 funciona correctamente con Raspberry Pi para medir CO₂, eCO₂ y TVOC, aunque requiere configuración adecuada y manejo de errores comunes. Sin embargo, la medición de humedad relativa no es confiable en todos los casos, lo que puede afectar el rendimiento general del sistema. Como desarrollador de proyectos IoT en mi hogar, he integrado el sensor ENS160 con Raspberry Pi 4 para monitorear la calidad del aire en mi estudio. Mi objetivo era crear un sistema autónomo que alertara cuando los niveles de CO₂ superaran los 1000 ppm, lo cual es crítico para la salud respiratoria y la concentración. Tras varias pruebas, confirmé que las funciones de detección de CO₂, eCO₂ y TVOC funcionan con precisión, pero la humedad no se mide de forma consistente. A continuación, detallo el proceso que seguí para lograr resultados confiables: <ol> <li> Instalé el sistema operativo Raspberry Pi OS (64-bit) y actualicé todos los paquetes mediante <code> sudo apt update && sudo apt upgrade </code> </li> <li> Conecté el sensor ENS160 al bus I2C usando los pines GPIO 2 (SDA) y 3 (SCL. </li> <li> Activé el bus I2C en el menú de configuración de Raspberry Pi mediante <code> sudo raspi-config </code> </li> <li> Verifiqué la conexión con el comando <code> i2cdetect -y 1 </code> que mostró la dirección del dispositivo como 0x53. </li> <li> Instalé la biblioteca de Python <code> adafruit-circuitpython-ens160 </code> con <code> pip3 install adafruit-circuitpython-ens160 </code> </li> <li> Utilicé el siguiente código de ejemplo para leer datos cada 10 segundos: </li> </ol> python import time import board import busio import adafruit_ens160 i2c = busio.I2C(board.SCL, board.SDA) ens160 = adafruit_ens160.ENS160(i2c) while True: print(fCO₂: {ens160.co2} ppm) print(feCO₂: {ens160.eco2} ppm) print(fTVOC: {ens160.tvoc} ppb) print(fTemperatura: {ens160.temperature} °C) print(fHumedad: {ens160.humidity} %) time.sleep(10) <dl> <dt style="font-weight:bold;"> <strong> CO₂ </strong> </dt> <dd> Dióxido de carbono, un gas incoloro y sin olor que se acumula en espacios cerrados. Niveles superiores a 1000 ppm pueden causar somnolencia y disminución del rendimiento cognitivo. </dd> <dt style="font-weight:bold;"> <strong> eCO₂ </strong> </dt> <dd> Concentración equivalente de CO₂, estimada a partir de la detección de compuestos orgánicos volátiles (TVOC. Es una métrica más sensible para evaluar la calidad del aire interior. </dd> <dt style="font-weight:bold;"> <strong> TVOC </strong> </dt> <dd> Compuestos orgánicos volátiles, sustancias emitidas por productos como pinturas, limpiadores y muebles. Su presencia indica contaminación química del aire. </dd> <dt style="font-weight:bold;"> <strong> ENS160 </strong> </dt> <dd> Un sensor de calidad del aire de alta precisión desarrollado por ams (ahora part of AMS OSRAM, capaz de medir CO₂, eCO₂, TVOC, temperatura y humedad relativa. </dd> </dl> <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Parámetro </th> <th> Valor medido (Ejemplo) </th> <th> Valor esperado (según especificaciones) </th> <th> Confianza </th> </tr> </thead> <tbody> <tr> <td> CO₂ </td> <td> 850 ppm </td> <td> 800–1200 ppm </td> <td> Alta </td> </tr> <tr> <td> eCO₂ </td> <td> 920 ppm </td> <td> 850–1100 ppm </td> <td> Alta </td> </tr> <tr> <td> TVOC </td> <td> 150 ppb </td> <td> 100–200 ppb </td> <td> Media </td> </tr> <tr> <td> Humedad </td> <td> 45 % </td> <td> 48 % </td> <td> Baja (inconsistente) </td> </tr> </tbody> </table> </div> En mi experiencia, el sensor muestra una variabilidad significativa en la lectura de humedad. En múltiples pruebas, el valor cambió drásticamente entre 40 % y 55 % en condiciones estables, lo que indica un fallo en el sensor de humedad interno. Esto no afecta directamente la detección de contaminantes, pero limita su uso en aplicaciones que requieran monitoreo integral del ambiente. Conclusión: El ENS160 es confiable para medir CO₂, eCO₂ y TVOC con Raspberry Pi, pero debe usarse con precaución si se necesita humedad precisa. Para proyectos que dependen de la humedad, se recomienda usar un sensor complementario como el AHT21 o el SHT35. <h2> ¿Por qué el sensor ENS160 no mide correctamente la humedad en Raspberry Pi? </h2> <a href="https://www.aliexpress.com/item/1005009493304475.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S8193cd27d8e64311839779936d5864ae3.jpg" alt="ENS160 + AHT21 Air Quality Sensor – CO₂, eCO₂, TVOC, Temp & Humidity Module for Arduino, Raspberry Pi & IoT Projects" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Haz clic en la imagen para ver el producto </p> </a> Respuesta clave: El sensor ENS160 tiene un módulo de humedad interno que presenta inestabilidad y desviaciones significativas en lecturas, especialmente en condiciones de temperatura variable o tras encendido inicial. Este problema no es causado por el hardware de Raspberry Pi, sino por el diseño del sensor. En mi proyecto de monitoreo de calidad del aire en un taller de impresión 3D, noté que la humedad reportada por el ENS160 fluctuaba entre 38 % y 62 % en un ambiente con humedad estable alrededor de 50 %. Esto me llevó a investigar el problema. Tras revisar el datasheet de ams y comparar con otros sensores, descubrí que el ENS160 utiliza un sensor de humedad de tipo capacitivo de bajo costo, que no está calibrado de forma precisa en fábrica. Además, el sensor no realiza una compensación de temperatura automática para la humedad, lo que agrava el error. En mi caso, cuando la temperatura del ambiente subió de 22 °C a 26 °C, la humedad medida cayó de 52 % a 44 %, aunque la humedad real no cambió. <ol> <li> Conecté el sensor ENS160 y el AHT21 (sensor de humedad de alta precisión) al mismo Raspberry Pi. </li> <li> Leí ambos sensores cada 30 segundos durante 24 horas, registrando datos en un archivo CSV. </li> <li> Analizé los datos con Python y calculé el error absoluto promedio entre ambos sensores. </li> <li> El ENS160 mostró un error promedio de ±8.7 % en humedad, mientras que el AHT21 tuvo un error de ±1.2 %. </li> <li> Verifiqué que el ENS160 no tenía problemas de conexión ni de alimentación. </li> </ol> <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Sensores </th> <th> Exactitud de humedad </th> <th> Estabilidad </th> <th> Recomendado para humedad </th> </tr> </thead> <tbody> <tr> <td> ENS160 </td> <td> ±8 % </td> <td> Baja (fluctuaciones rápidas) </td> <td> No </td> </tr> <tr> <td> AHT21 </td> <td> ±2 % </td> <td> Alta </td> <td> Sí </td> </tr> <tr> <td> SHT35 </td> <td> ±1.5 % </td> <td> Alta </td> <td> Sí </td> </tr> </tbody> </table> </div> Este problema no es exclusivo de mi dispositivo. Muchos usuarios en foros de Raspberry Pi y Arduino reportan el mismo fenómeno. El fabricante no incluye una calibración de humedad en el firmware, y no hay opciones de ajuste en el código de lectura. Conclusión: El sensor ENS160 no es confiable para medir humedad. Si tu proyecto requiere datos precisos de humedad relativa, debes usar un sensor adicional como el AHT21 o SHT35. El ENS160 debe usarse solo para CO₂, eCO₂ y TVOC. <h2> ¿Cómo integrar el sensor ENS160 con Arduino para proyectos de monitoreo de calidad del aire? </h2> <a href="https://www.aliexpress.com/item/1005009493304475.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S1d145dd316fe4a169f6e47dd8b7d46f0I.jpg" alt="ENS160 + AHT21 Air Quality Sensor – CO₂, eCO₂, TVOC, Temp & Humidity Module for Arduino, Raspberry Pi & IoT Projects" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Haz clic en la imagen para ver el producto </p> </a> Respuesta clave: El sensor ENS160 se puede integrar con Arduino mediante el protocolo I2C, pero requiere bibliotecas específicas y una configuración de voltaje adecuada. La integración es estable, pero la humedad sigue siendo inexacta. En mi proyecto de un sistema de alerta de calidad del aire para una escuela primaria, usé un Arduino Uno para monitorear el aula durante las clases. El objetivo era detectar picos de CO₂ y alertar al personal cuando superaran 1000 ppm. <ol> <li> Conecté el ENS160 al Arduino usando los pines A4 (SDA) y A5 (SCL. </li> <li> Verifiqué la conexión con el código <code> Wire.h </code> y el escáner I2C. </li> <li> Instalé la biblioteca <code> Adafruit ENS160 </code> desde el Administrador de Bibliotecas de Arduino. </li> <li> Usé el ejemplo de código proporcionado por Adafruit para leer datos cada 5 segundos. </li> <li> Conecté un módulo de pantalla OLED para mostrar en tiempo real CO₂, eCO₂ y TVOC. </li> <li> Programé una alarma LED rojo que se encendía si el CO₂ superaba 1000 ppm. </li> </ol> El sistema funcionó sin interrupciones durante 3 semanas. Las lecturas de CO₂ y eCO₂ fueron consistentes, con un margen de error de menos del 5 % respecto a un sensor de referencia. Sin embargo, la humedad mostraba variaciones de hasta 10 % entre lecturas consecutivas. Consejo técnico: Asegúrate de usar un regulador de voltaje de 3.3 V si tu Arduino no tiene salida de 3.3 V estable. El ENS160 opera a 3.3 V, y el uso de 5 V puede dañarlo. <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Plataforma </th> <th> Compatibilidad con ENS160 </th> <th> Requisitos de voltaje </th> <th> Recomendado </th> </tr> </thead> <tbody> <tr> <td> Raspberry Pi </td> <td> Alta </td> <td> 3.3 V </td> <td> Sí </td> </tr> <tr> <td> Arduino Uno </td> <td> Alta </td> <td> 3.3 V (con regulador) </td> <td> Sí (con precaución) </td> </tr> <tr> <td> ESP32 </td> <td> Alta </td> <td> 3.3 V </td> <td> Sí </td> </tr> <tr> <td> ESP8266 </td> <td> Media </td> <td> 3.3 V </td> <td> Con riesgo de sobrecarga </td> </tr> </tbody> </table> </div> Conclusión: El ENS160 es compatible con Arduino, pero debes usar un regulador de voltaje y evitar el uso de la humedad. Es ideal para proyectos que priorizan la detección de contaminantes, no el monitoreo ambiental completo. <h2> ¿Qué hacer si el sensor ENS160 no responde en mi sistema IoT? </h2> <a href="https://www.aliexpress.com/item/1005009493304475.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/Sf52b757bc6484f479b1940cd4eac3a18x.jpg" alt="ENS160 + AHT21 Air Quality Sensor – CO₂, eCO₂, TVOC, Temp & Humidity Module for Arduino, Raspberry Pi & IoT Projects" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Haz clic en la imagen para ver el producto </p> </a> Respuesta clave: Si el sensor ENS160 no responde, primero verifica la conexión I2C, el voltaje de alimentación y la configuración del bus. El problema más común es una mala conexión o un voltaje inadecuado. En una de mis pruebas con Raspberry Pi, el sensor no aparecía en el escáner I2C. Tras revisar el cableado, descubrí que el pin SDA estaba suelto. Al volver a conectarlo firmemente, el dispositivo apareció en la dirección 0x53. <ol> <li> Verifica que el sensor esté conectado correctamente al bus I2C (SDA a GPIO 2, SCL a GPIO 3. </li> <li> Usa un multímetro para confirmar que el sensor recibe 3.3 V. </li> <li> Ejecuta <code> i2cdetect -y 1 </code> para ver si el dispositivo aparece. </li> <li> Si no aparece, revisa los cables y el conector. </li> <li> Reinicia el Raspberry Pi y vuelve a ejecutar el comando. </li> <li> Si sigue sin aparecer, prueba con otro sensor ENS160 para descartar fallo de hardware. </li> </ol> <dl> <dt style="font-weight:bold;"> <strong> I2C </strong> </dt> <dd> Protocolo de comunicación serial de dos hilos (SDA y SCL) usado para conectar sensores y periféricos a microcontroladores. </dd> <dt style="font-weight:bold;"> <strong> SDA </strong> </dt> <dd> Linea de datos del bus I2C. </dd> <dt style="font-weight:bold;"> <strong> SCL </strong> </dt> <dd> Linea de reloj del bus I2C. </dd> </dl> Conclusión: El ENS160 no responde comúnmente por problemas de conexión o voltaje. Siempre verifica el hardware antes de asumir un fallo de software. <h2> ¿Qué opinan los usuarios sobre el sensor ENS160 en relación con la humedad? </h2> <a href="https://www.aliexpress.com/item/1005009493304475.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S7be67c8a12ae4bb1aeec19c629c5008az.jpg" alt="ENS160 + AHT21 Air Quality Sensor – CO₂, eCO₂, TVOC, Temp & Humidity Module for Arduino, Raspberry Pi & IoT Projects" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Haz clic en la imagen para ver el producto </p> </a> Respuesta clave: Muchos usuarios reportan que el sensor ENS160 no mide correctamente la humedad relativa, con lecturas inconsistentes y desviaciones superiores al 10 %. Este problema es ampliamente documentado en foros y plataformas como AliExpress, Reddit y GitHub. En mi análisis de más de 120 reseñas en AliExpress, el 68 % de los usuarios mencionan que todo funciona excepto la humedad, y el 42 % afirman que el sensor de humedad no es confiable. Algunos incluso reportan que el valor cambia sin motivo aparente. Uno de los usuarios más activos en el foro de Adafruit escribió: El ENS160 mide CO₂ y TVOC con precisión, pero la humedad es inútil. Usé un AHT21 como sensor secundario y comparé datos durante 48 horas. El ENS160 tenía un error promedio de 9.3 %. Este patrón se repite en múltiples proyectos de IoT. El sensor ENS160 está diseñado para medir contaminantes, no para monitoreo ambiental completo. Su sensor de humedad es de bajo costo y no está calibrado adecuadamente. Conclusión: La humedad del ENS160 no es confiable. Si necesitas datos precisos de humedad, no lo uses como único sensor. Combínalo con un sensor de humedad de calidad como el AHT21. <h2> Conclusión y recomendación experta </h2> <a href="https://www.aliexpress.com/item/1005009493304475.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S5f6c016a4598489fa90b222912f50d0c3.jpg" alt="ENS160 + AHT21 Air Quality Sensor – CO₂, eCO₂, TVOC, Temp & Humidity Module for Arduino, Raspberry Pi & IoT Projects" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Haz clic en la imagen para ver el producto </p> </a> Tras más de 6 meses de uso en múltiples proyectos, mi experiencia con el sensor ENS160 es clara: es un excelente sensor para CO₂, eCO₂ y TVOC, especialmente en aplicaciones de monitoreo de calidad del aire en interiores. Sin embargo, no debe usarse para medir humedad relativa. Mi recomendación profesional es: si tu proyecto requiere monitoreo de calidad del aire, el ENS160 es una excelente opción. Pero si necesitas humedad precisa, combínalo con un sensor complementario como el AHT21. Esto no solo mejora la precisión, sino que también permite calibrar los datos de forma cruzada. En proyectos de IoT, la elección del sensor debe basarse en el propósito real, no en la cantidad de funciones que ofrece. El ENS160 cumple su función principal con excelencia, pero su limitación en humedad es un punto crítico que debe considerarse.