Sensor MQ-135 – Calidad de Aire, CO₂, Amoniaco y Compuestos Orgánicos Volátiles (COV)

Funcionamiento, alcances reales, limitaciones y aplicaciones con Arduino


1. ¿Qué es el MQ-135?

El MQ-135 es un sensor de calidad de aire diseñado para detectar varios gases nocivos y compuestos orgánicos volátiles (COV). Es uno de los sensores más populares en proyectos educativos relacionados con la calidad ambiental.

Puede detectar:

  • Amoníaco (NH₃)
  • Óxidos de nitrógeno (NOx)
  • Alcohol
  • Benceno
  • Humo
  • Dióxido de carbono (CO₂) en forma indirecta (no selectivo)

El módulo incluye:

  • Salida analógica (A0): nivel proporcional de gas.
  • Salida digital (D0): señal alta/baja con umbral ajustado.
  • Calentador interno: necesario para el funcionamiento del SnO₂.

2. ¿Cómo funciona internamente?

2.1 Elemento sensor de SnO₂

El núcleo del MQ-135 es un semiconductor de óxido de estaño (SnO₂):

  • En aire limpio → resistencia alta
  • En presencia de gases reductores → resistencia baja

Este cambio hace variar el voltaje de salida, el cual se mide por A0.

El algoritmo ideal para obtener ppm requiere:

  • Conocer la curva del fabricante
  • Determinar la resistencia del sensor (Rs)
  • Compararla con la resistencia base (R0) calibrada en aire limpio

Esta calibración suele omitirse en proyectos educativos, pero es clave para obtener valores más confiables.


2.2 Resistencia calefactora

El MQ-135 necesita un calentador interno para alcanzar temperatura de operación (200–400 °C).

Características:

  • Funcionamiento con 5V
  • Consumo aproximado de 130–200 mA
  • Requiere tiempo de pre-calentamiento prolongado
    • Recomendación: 12–24 horas iniciales
    • Uso normal: algunos minutos antes de medir

2.3 Salida digital con comparador LM393

La versión de módulo incluye un LM393 que compara la señal del sensor con un umbral.

  • Si Rs baja por debajo del valor configurado → D0 = HIGH
  • Ideal para alarmas simples o detección rápida de “aire contaminado”

3. Alcances reales del MQ-135

ParámetroValor típico
Gases detectablesNH₃, NOx, Alcohol, Benceno, CO₂, Humo
Rango de concentración10 – 1000 ppm (según gas)
Voltaje de operación5V
SalidaA0 analógica, D0 digital
Tiempo de respuesta10–30 s
Tiempo de recuperación10–30 s
Consumo~150 mA

Fortalezas

  • Detecta una amplia gama de contaminantes.
  • Económico y fácil de implementar con Arduino.
  • Excelente para aprender sobre señales analógicas y sensores ambientales.
  • Útil para monitorear tendencias, no valores exactos.

Limitaciones importantes

  • No es selectivo: responde a múltiples gases, por lo que es imposible saber cuál está presente.
  • No es un sensor profesional de CO₂: aunque reacciona a niveles altos, no mide CO₂ “real” como un NDIR.
  • Necesita calibración compleja: para obtener ppm fiables deben aplicarse las curvas del datasheet.
  • Se ve afectado por temperatura y humedad.
  • Tiene deriva a largo plazo por el envejecimiento del SnO₂.
  • No es apto para seguridad industrial ni monitoreo crítico.

Su uso ideal es educativo o para monitoreo ambiental aproximado.


4. Conexión típica con Arduino

PinFunción
VCC5V
GNDTierra
A0Lectura analógica
D0Umbral digital

Los módulos suelen incluir un LED de «power» y un LED de «alarma (D0)».


5. Ejemplos reales de aplicación con Arduino

1. Monitoreo de calidad de aire en interiores

El Arduino lee la salida A0 para:

  • Estimar la presencia de COV
  • Detectar aumentos de contaminantes por humo, alcohol o aerosoles
  • Registrar datos en SD o enviarlos por WiFi

Ideal para educación ambiental.


2. Sistema de ventilación automática

Usando D0, cuando la concentración supera el umbral ajustado:

  • Se activa un ventilador
  • Se abre una ventana automática
  • Se envía una alerta por buzzer o app

Es un caso típico en makerspaces o aulas.


3. Detector de anomalías para robots móviles

Un robot puede patrullar un área buscando incrementos en niveles de gases:

  • Mapea niveles comparativos
  • Ejecuta decisiones basadas en tendencias
  • Integra varios sensores MQ para mejorar selectividad

Perfecto para proyectos de robótica educativa.


6. Fuentes de consulta recomendadas

  1. Datasheet del MQ-135 (Winsen / Hanwei Electronics)
    Información de curvas, calibración y condiciones de uso.
  2. Curvas de sensibilidad y cálculo de ppm para sensores MQ
    Explica cómo obtener Rs/R0 y aplicar curvas logarítmicas.
  3. Guías Arduino de sensores MQ
    Proyectos educativos con ejemplos de hardware y software.

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

Prompt recomendado

Genera un código para Arduino que utilice un sensor MQ-135 con salida analógica A0 y salida digital D0. El código debe mostrar en el monitor serial la lectura analógica, indicar si el nivel supera el umbral digital y sugerir técnicas de calibración inicial y calentamiento. Explica cada parte del código y sugiere cómo mejorar el proyecto con registro de datos o conectividad inalámbrica.

Deja un comentario

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

Scroll al inicio