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ámetro | Valor típico |
|---|---|
| Gases detectables | NH₃, NOx, Alcohol, Benceno, CO₂, Humo |
| Rango de concentración | 10 – 1000 ppm (según gas) |
| Voltaje de operación | 5V |
| Salida | A0 analógica, D0 digital |
| Tiempo de respuesta | 10–30 s |
| Tiempo de recuperación | 10–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
| Pin | Función |
|---|---|
| VCC | 5V |
| GND | Tierra |
| A0 | Lectura analógica |
| D0 | Umbral 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
- Datasheet del MQ-135 (Winsen / Hanwei Electronics)
Información de curvas, calibración y condiciones de uso. - Curvas de sensibilidad y cálculo de ppm para sensores MQ
Explica cómo obtener Rs/R0 y aplicar curvas logarítmicas. - 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.
