
Actualizado el 23 de enero de 2026
El sensor MQ-2 sigue siendo en 2026 una de las soluciones más populares y económicas para proyectos de domótica DIY (Hazlo tú mismo) que requieren la detección de gases. Este versátil componente puede detectar una amplia gama de sustancias, incluyendo humo, GLP, butano, propano, metano, alcohol e hidrógeno. Su bajo coste y amplio rango lo hacen ideal para experimentar con sistemas de alerta temprana, monitores de calidad del aire básicos y otras aplicaciones de automatización en nuestro hogar inteligente.
Integrar el sensor MQ-2 con microcontroladores como el ESP32 o el veterano ESP8266 es un proceso sorprendentemente sencillo gracias a ESPHome, el framework que ha revolucionado la forma en que creamos nuestros propios dispositivos IoT para Home Assistant. ESPHome nos permite definir el comportamiento del sensor mediante un simple archivo de configuración YAML, eliminando la necesidad de escribir código complejo en C++.
En esta guía definitiva de 2026, te mostraré paso a paso cómo construir tu propio detector de gas, desde el esquema de conexión hasta el código YAML completo y las automatizaciones más útiles para proteger tu hogar.
Componentes Necesarios para el Proyecto
Para montar nuestro detector de gas inteligente, necesitaremos algunos componentes electrónicos básicos que he probado personalmente. Son fáciles de encontrar y su coste es muy reducido.
- Sensor MQ-2: El corazón del proyecto. Asegúrate de comprar el módulo que viene montado en una pequeña placa (PCB), ya que incluye las resistencias y el potenciómetro necesarios para su funcionamiento.
- Placa de desarrollo con Wi-Fi: Aunque el proyecto funciona con un Wemos D1 Mini (ESP8266), recomiendo encarecidamente utilizar una placa basada en ESP32 para nuevos proyectos en 2026. Ofrecen más potencia, pines ADC (Analógico-Digital) más precisos y mejor seguridad. Modelos como el ESP32-S3 o ESP32-C3 son excelentes opciones.
- Cables de conexión: Conocidos como cables Dupont (macho-hembra). Puedes fabricarlos tú mismo si tienes las herramientas adecuadas.
- Fuente de alimentación: Una fuente de 5V con conector Micro-USB o USB-C (dependiendo de tu placa ESP32) es suficiente para alimentar el conjunto.
⚠️ Advertencia de Seguridad Importante
Antes de continuar, es crucial entender algo: este es un proyecto educativo y de experimentación (DIY). El sensor MQ-2 no es un dispositivo de seguridad certificado y no debe utilizarse como único método de protección contra fugas de gas o incendios. Su precisión puede variar con la temperatura, la humedad y el tiempo. Utiliza siempre detectores de humo y monóxido de carbono comerciales y certificados en tu hogar. Este proyecto es un complemento, no un sustituto.
Esquema de Conexión del MQ-2 al ESP32
La conexión es muy sencilla, ya que solo necesitamos alimentar el sensor y leer su salida analógica. El módulo del MQ-2 típicamente tiene 4 pines, pero solo usaremos 3 para esta guía básica.
Aquí tienes el esquema de conexión para un ESP32 genérico. ¡Recuerda siempre consultar el pinout de tu placa específica!
- Conecta el pin VCC del sensor MQ-2 al pin 5V del ESP32.
- Conecta el pin GND del sensor MQ-2 a un pin GND del ESP32.
- Conecta el pin de salida analógica A0 del sensor MQ-2 a un pin ADC (Analog-to-Digital Converter) del ESP32. Un pin común y seguro para esto es el GPIO34.
El cuarto pin, D0 (salida digital), se puede usar si ajustas el potenciómetro en la placa del sensor para que se active a un umbral específico, pero la lectura analógica nos da mucha más flexibilidad.
Código YAML Completo para ESPHome en 2026
Ahora viene la magia de ESPHome. Abre tu dashboard de ESPHome, crea un nuevo dispositivo y pega el siguiente código YAML en su configuración. He añadido sustituciones para que puedas personalizarlo fácilmente.
substitutions:
device_name: "detector-gas-salon"
friendly_name: "Detector de Gas Salón"
# Pin analógico donde conectaste el A0 del sensor
mq2_analog_pin: "GPIO34"
# Resistencia de carga en tu módulo MQ-2 (normalmente 5 kOhms)
rl_resistance: "5.0"
# Valor R0 en aire limpio. Calíbralo para tu sensor (ver sección de calibración)
r0_clean_air_factor: "9.83"
esphome:
name: ${device_name}
friendly_name: ${friendly_name}
esp32:
board: esp32dev
framework:
type: arduino
# Habilitar logging, API para Home Assistant y OTA
logger:
api:
ota:
wifi:
ssid: "ElNombreDeTuWiFi"
password: "LaContraseñaDeTuWiFi"
# ... otras configuraciones de WiFi y fallback ...
# Definición del sensor principal
sensor:
- platform: adc
pin: ${mq2_analog_pin}
id: mq2_analog_value
name: "${friendly_name} Valor Analógico"
update_interval: 10s
attenuation: 11db
# Filtro para convertir la lectura de voltaje a un valor de resistencia del sensor (Rs)
filters:
# Convertir el valor 0.0-1.0 a voltaje 0.0-3.3V (o según tu ESP)
- multiply: 3.3
- lambda: |-
// VRL es el voltaje medido en el pin
// RL_VALUE es la resistencia de carga (5k)
// R0 es el factor en aire limpio
float vrl = x;
if (vrl == 0) {
return -1.0; // Evitar división por cero
}
float rs = (${rl_resistance} * (3.3 - vrl)) / vrl;
return rs;
on_value:
# Publicar el valor normalizado Rs/R0 para facilitar automatizaciones
- component.update:
id: mq2_ratio
value: !lambda |-
return id(mq2_analog_value).state / ${r0_clean_air_factor};
# Sensor secundario que muestra la ratio Rs/R0
- platform: template
id: mq2_ratio
name: "${friendly_name} Ratio Gas"
unit_of_measurement: "ratio"
icon: "mdi:gas-cylinder"
accuracy_decimals: 2
update_interval: 10s
# Sensor binario para alertas rápidas
binary_sensor:
- platform: template
name: "${friendly_name} Detección de Gas"
device_class: gas
lambda: |-
// Si la ratio es mayor a 1.5, consideramos que hay gas
// Este umbral DEBES ajustarlo tú mismo
if (id(mq2_ratio).state > 1.5) {
return true;
} else {
return false;
}¿Cómo Calibrar el Sensor MQ-2?
La calibración es el paso más importante para obtener lecturas fiables, aunque no sean de grado científico. El objetivo es determinar la resistencia del sensor en aire limpio (conocida como `R0`). Este valor será nuestra línea base.
Para calibrar tu sensor MQ-2, sigue estos pasos:
- Montaje y Encendido: Conecta el sensor a tu placa ESP32 como se indicó y súbele el código YAML anterior (puedes usar un valor temporal para `r0_clean_air_factor`, por ejemplo, `10.0`).
- Periodo de Calentamiento: Deja el sensor encendido en una habitación con aire lo más limpio posible (bien ventilada, sin humos ni olores) durante al menos 24 horas. El sensor contiene un pequeño calentador interno que necesita estabilizarse.
- Observa el Valor Analógico: Ve a los registros (Logs) de tu dispositivo en ESPHome. Busca el valor del sensor llamado `Detector de Gas Salón Valor Analógico`. Este valor representa la resistencia del sensor (Rs) en aire limpio.
- Calcula el Promedio: Anota los valores que muestra el sensor durante varios minutos una vez que se haya estabilizado. Deberían ser bastante constantes. Calcula el promedio de esas lecturas.
- Actualiza tu YAML: El valor promedio que has obtenido es tu `R0`. Reemplaza el valor de `r0_clean_air_factor` en tu archivo YAML con este número.
- Guarda y Sube de Nuevo: Sube la configuración actualizada a tu dispositivo. A partir de ahora, el sensor `Ratio Gas` mostrará un valor cercano a `1.0` en aire limpio. Si hay presencia de gas, la resistencia `Rs` disminuirá y, por tanto, el ratio bajará o subirá dependiendo de la fórmula, pero el cambio será significativo. En nuestro código, un ratio mayor a 1.0 indica presencia de gas.
Recuerda que esta calibración puede verse afectada por la temperatura y la humedad, por lo que es recomendable repetirla si cambias el sensor de ubicación.
Automatizaciones para Home Assistant: 3 Ejemplos Prácticos
Una vez que el sensor esté integrado en Home Assistant, podemos crear potentes automatizaciones. Aquí tienes tres ejemplos para empezar, que puedes añadir directamente a tu archivo `automations.yaml` o crear desde la interfaz gráfica.
1. Notificación Crítica al Móvil (Automatización Detector de Humo)
Esta automatización envía una notificación de alta prioridad a tu móvil si se detecta gas, para que no te la pierdas. Es fundamental tener configuradas las notificaciones en la app de Home Assistant.
- alias: 'Alerta de Deteccion de Gas'
trigger:
- platform: state
entity_id: binary_sensor.detector_gas_salon_deteccion_de_gas
to: 'on'
action:
- service: notify.mobile_app_tu_telefono
data:
title: "⚠️ ¡¡ALERTA DE GAS DETECTADO!!"
message: "Se ha detectado una posible fuga de gas o humo en el salón."
data:
push:
sound:
name: default
critical: 1
volume: 1.02. Activar Ventilación Automática
Si la concentración de gas supera un umbral durante un minuto, enciende un ventilador conectado a un enchufe inteligente para ayudar a disipar el gas.
- alias: 'Activar Ventilacion por Gas'
trigger:
- platform: numeric_state
entity_id: sensor.detector_de_gas_salon_ratio_gas
above: 1.8
for:
minutes: 1
condition:
- condition: state
entity_id: switch.enchufe_ventilador
state: 'off'
action:
- service: switch.turn_on
target:
entity_id: switch.enchufe_ventilador
- service: notify.persistent_notification
data:
title: "Ventilación Activada"
message: "Se ha activado la ventilación del salón debido a niveles altos de gas."3. Activar Sirena y Luces de Alerta
Para una alerta más visual y sonora, esta automatización hace parpadear las luces del salón en rojo y activa una sirena Zigbee.
- alias: 'Alarma Visual y Sonora por Gas'
trigger:
- platform: state
entity_id: binary_sensor.detector_gas_salon_deteccion_de_gas
to: 'on'
action:
- service: light.turn_on
target:
entity_id: light.luces_salon
data:
flash: long
color_name: red
- service: siren.turn_on
target:
entity_id: siren.sirena_zigbee_salonTabla Comparativa: Familia de Sensores MQ
El MQ-2 es un sensor generalista, pero existen otros modelos en la familia MQ especializados en diferentes tipos de gases. Aquí te presento una tabla para ayudarte a elegir el más adecuado si tienes una necesidad específica.
| Sensor | Gases Principales Detectados | Uso Común |
|---|---|---|
| MQ-2 | Humo, GLP, Propano, Metano, Hidrógeno | Detector de gas combustible y humo de propósito general. |
| MQ-3 | Alcohol, Etanol, Bencina | Alcoholímetros caseros, detección de vapores de alcohol. |
| MQ-7 | Monóxido de Carbono (CO) | Detección específica de monóxido de carbono. |
| MQ-135 | Benceno, Alcohol, Humo, Amoníaco, CO2 | Sensor de calidad del aire general (VOCs). |
Solución de Problemas Comunes (Troubleshooting)
- El sensor no aparece en Home Assistant: Verifica que la placa ESP32 esté conectada a tu red Wi-Fi. Revisa los logs en ESPHome para ver si hay errores de conexión con la API de Home Assistant.
- Las lecturas son siempre 0 o un valor muy alto y fijo: Revisa el cableado. Un cable GND suelto o una mala conexión en el pin A0 son las causas más comunes. Asegúrate también de que estás alimentando el sensor con 5V, ya que 3.3V puede no ser suficiente para el calentador interno.
- Las lecturas son muy inestables: Los sensores MQ son sensibles a cambios de temperatura y humedad. Además, necesitan un largo periodo de «calentamiento» inicial. Si el problema persiste, la fuente de alimentación podría ser de mala calidad y estar introduciendo ruido.
- El `binary_sensor` se activa constantemente: Tu umbral en el código YAML es demasiado bajo. Observa los valores del sensor `Ratio Gas` en aire limpio y ajusta el umbral `if (id(mq2_ratio).state > 1.5)` a un valor ligeramente superior al que observas normalmente.
Preguntas Frecuentes (FAQ)
¿Qué magnitud física mide el sensor MQ-2?
El sensor MQ-2 es un sensor quimiorresistivo. En su interior hay un material semiconductor (dióxido de estaño, SnO2) cuya resistencia eléctrica cambia en presencia de ciertos gases. Un pequeño calentador interno mantiene el material a una temperatura óptima para la reacción. Por lo tanto, lo que medimos indirectamente es un cambio en la resistencia, que se traduce a una concentración aproximada de gas en el ambiente.
¿Qué diferencia hay entre el sensor MQ-2 y el MQ-135?
Aunque físicamente son similares, están optimizados para diferentes gases. El MQ-2 es muy sensible a gases combustibles como metano, butano y propano, lo que lo hace ideal para detectar fugas de gas o humo. El MQ-135, en cambio, está diseñado para medir la calidad general del aire, siendo más sensible a compuestos como el amoníaco, sulfuros, y vapores de benceno, por lo que se le conoce como un sensor de «calidad del aire» o VOC (Compuestos Orgánicos Volátiles).
¿Cómo debo colocar el sensor para una detección efectiva?
La ubicación es clave. Para gases más pesados que el aire como el butano o el propano (comunes en bombonas), el sensor debe instalarse cerca del suelo. Para gases más ligeros como el gas natural (metano) o el humo, que tienden a subir, una ubicación más elevada en la pared es más efectiva.
