En este tutorial, aprenderemos cómo usar el sensor de gas metano MQ-4 con Arduino para construir un sistema de alarma de detección de gas. Este sistema utilizará un LED y un zumbador para alertarnos cuando se detecte gas metano en el ambiente.
Los sensores de gas son esenciales en diversas aplicaciones, incluyendo entornos industriales, seguridad doméstica y monitoreo ambiental. El sensor de gas MQ-4 está diseñado específicamente para detectar gas metano, lo que lo hace ideal para aplicaciones donde se necesita monitorear fugas de metano.
Para crear nuestro sistema de alarma de detección de gas, conectaremos el sensor MQ-4 a una placa Arduino y lo programaremos para activar el LED y el zumbador cuando se detecte gas metano. Comencemos reuniendo las piezas necesarias para este proyecto.
Piezas necesarias
Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.
A continuación encontrarás las piezas necesarias para este proyecto. Si ya tienes un set de resistencias y algunos LEDs, no necesitarás el kit sugerido. Solo se requiere un LED rojo y una resistencia de 220 Ohm para este proyecto específico.

Arduino Uno

Set de cables Dupont

Protoboard

Cable USB para Arduino UNO

Kit de resistencias y LEDs

Zumbador pasivo

Sensor de gas MQ-4

Arduino IDE
Introducción al sensor de gas MQ-4
El sensor de gas MQ-4 es un sensor popular usado para detectar gas metano. Se utiliza comúnmente en sistemas de detección de fugas de gas y también puede detectar alcohol, humos de cocina y humo de cigarrillo. Es muy fácil de usar y se integra bien con placas Arduino para diversos proyectos.
Características del sensor de gas MQ-4
El sensor de gas MQ-4 tiene las siguientes características:
- Voltaje de operación: El sensor funciona en un rango de voltaje de 5V a 24V DC.
- Voltaje del calentador: Requiere un voltaje de calentador de 5V ±0.2V.
- Resistencia del calentador: El sensor tiene una resistencia de calentador de 31Ω ±3Ω.
- Consumo de energía: Bajo consumo de energía (100mA)
- Sensibilidad: El sensor MQ-4 tiene alta sensibilidad al gas metano (CH4), lo que lo hace adecuado para detectar fugas de gas natural.
- Rango de detección: El sensor tiene un rango de detección de 300 a 10,000 ppm (partes por millón) para gas metano.
- Tiempo de calentamiento: Requiere un tiempo de calentamiento de aproximadamente 48 horas antes de proporcionar lecturas precisas.
- Tiempo de respuesta: El tiempo de respuesta del sensor es menor a 10 segundos.
- Tiempo de recuperación: El tiempo de recuperación del sensor es menor a 30 segundos.
- Temperatura de operación: El sensor puede operar en un rango de temperatura de -10°C a 50°C.
- Dimensiones: El módulo del sensor de gas MQ-4 tiene dimensiones aproximadas de 32mm x 20mm x 22mm.
- Interfaz: Se puede conectar fácilmente a microcontroladores o placas de desarrollo usando pines analógicos o digitales.
Ten en cuenta que estas especificaciones pueden variar ligeramente según el fabricante o el modelo específico del sensor MQ-4.
Funcionamiento interno del sensor de gas MQ-4
En esta sección echamos un vistazo rápido al funcionamiento interno del sensor MQ-4. En el corazón del sensor está la capa sensible al gas compuesta por un óxido metálico (SnO2). Cuando el gas metano entra en contacto con esta capa, reacciona con el oxígeno presente en la superficie del SnO2. Esto resulta en un cambio en la resistencia del material. Medimos este cambio para detectar la presencia y concentración del gas.
Las imágenes a continuación son tomadas del MQ-4 Datasheet sensor y muestran sus componentes y circuitería interna.
Alrededor de la capa sensible (1) está enrollada una bobina calentadora (4). Este es un componente importante porque la capa de SnO2 necesita calentarse para que ocurra la reacción química con el metano. Por eso notarás que el sensor se calienta.
Encerrando estos componentes está el tubo cerámico (5). Protege físicamente la capa sensible y la bobina calentadora. También ayuda a mantener una temperatura estable dentro del sensor proporcionando aislamiento térmico.
Finalmente, tenemos los electrodos (2, 3), hechos de oro (Au) y platino (Pt). Estos están unidos a la capa sensible. Los electrodos miden los cambios en la resistencia de la capa sensible.
Características de sensibilidad del sensor MQ-4
El sensor MQ-4 está diseñado principalmente para detectar metano (CH4). Pero también tiene niveles variables de sensibilidad a otros gases como LPG (gas licuado de petróleo), hidrógeno (H2), monóxido de carbono (CO), alcohol y humo. La sensibilidad del sensor se refiere a la relación entre la resistencia del sensor en varios gases y la resistencia del sensor en aire limpio. El siguiente gráfico muestra las características de sensibilidad para esos gases.
Para el metano, puedes ver que el MQ-4 tiene una excelente sensibilidad. Esto significa que podemos detectar y medir con precisión los cambios en la concentración de metano en la atmósfera. Incluso pequeños cambios en la cantidad de metano resultarán en cambios notables en la resistencia del sensor.
Para LPG e hidrógeno, el sensor MQ-4 también muestra una sensibilidad bastante alta, aunque no tan alta como para el metano. Esto significa que, aunque podemos detectar estos gases, las lecturas podrían no ser tan precisas o tan rápidas como para el metano.
Finalmente, el sensor MQ-4 tiene una sensibilidad menor al monóxido de carbono, alcohol y humo. Esto significa que, aunque el sensor reaccionará a estos gases, los cambios en la resistencia serán menores.
Dependencia de humedad y temperatura del sensor MQ-4
Ten en cuenta que la precisión del sensor MQ-4 no solo está influenciada por la presencia de los gases objetivo, sino también por factores ambientales como la humedad y la temperatura. El siguiente gráfico muestra el cambio en la resistencia dependiendo de la temperatura y humedad ambiente:
La humedad puede afectar el rendimiento del sensor, principalmente porque el vapor de agua puede ocupar los sitios activos en la capa sensible de dióxido de estaño (SnO2) donde ocurren las reacciones de detección de gas. A niveles altos de humedad, la sensibilidad del sensor al metano disminuye, lo que puede llevar a lecturas menos precisas.
La temperatura es otro factor importante al usar el sensor MQ-4. El sensor incluye un calentador incorporado para mantener la temperatura necesaria en la capa sensible de SnO2. Sin embargo, la temperatura ambiente aún puede influir en las lecturas del sensor.
Para obtener lecturas precisas y estables, se podría considerar combinar el sensor MQ-4 con un sensor de temperatura y humedad. También recuerda que el MQ-4 necesita calentarse (recuerda el elemento calefactor) durante al menos 20 segundos antes de que sus lecturas sean estables y confiables.
Otros sensores de gas MQ
El sensor de gas MQ-4 es solo uno de los muchos sensores de gas disponibles en la serie MQ. Cada sensor de la serie está diseñado para detectar un gas específico. A continuación encontrarás una comparación entre el sensor MQ-4 y otros sensores MQ comúnmente usados:
- Sensor de gas MQ-2: El sensor MQ-2 está diseñado para detectar múltiples gases, incluyendo metano, propano, butano y alcohol. Tiene un rango de detección más amplio comparado con el MQ-4, haciéndolo adecuado para aplicaciones donde se requiere detectar varios gases.
- Sensor de gas MQ-5: El sensor MQ-5 está diseñado específicamente para detectar gas natural y LPG (gas licuado de petróleo). Tiene una mayor sensibilidad a estos gases comparado con el MQ-4, siendo ideal para sistemas de detección de fugas de gas.
- Sensor de gas MQ-6: El sensor MQ-6 está diseñado para detectar gases LPG, butano y propano. Tiene una sensibilidad similar al metano que el MQ-4, pero está más enfocado en detectar estos gases específicos.
- Sensor de gas MQ-9: El sensor MQ-9 está diseñado para detectar monóxido de carbono, gases inflamables y humo. Tiene un rango de detección más amplio comparado con el MQ-4 y se usa comúnmente en sistemas de detección de incendios.
Ten en cuenta que tenemos un tutorial para un Air Pollution Monitoring and Alert System Using MQ-135 y otro tutorial sobre el MQ3 Sensor & Arduino: Building An Alcohol Detector.
Pinout del sensor de gas MQ-4
Un módulo típico del sensor de gas MQ-4 se muestra en la imagen a continuación. Usualmente viene con 4 pines: A0, D0, VCC y GND.

Aquí tienes un resumen de los pines del módulo del sensor de gas metano.
| Nombres de pines | Descripción de pines | Observaciones |
| VCC | Alimentación positiva | Se recomienda una alimentación de 5 V |
| A0 | Salida analógica | Conectar este pin a una entrada analógica del Arduino |
| D0 | Salida digital | Conectar a cualquier pin GPIO del Arduino |
| GND | Tierra |
En la parte trasera del módulo encontrarás un potenciómetro para ajustar la sensibilidad de la detección. También hay un LED de alimentación (rojo) que se enciende cuando el módulo tiene energía y un LED de detección (verde) que se enciende cuando se detecta gas.

Probando el sensor de gas MQ-4
Puedes probar fácilmente el funcionamiento del módulo sin un Arduino. Conecta VCC y GND a una fuente de 5V y el LED rojo de alimentación en la parte trasera del módulo debería encenderse. Ahora espera unos segundos (para lecturas estables >20 segundos). Notarás que el módulo se calienta ligeramente. Esto es normal. Hay un elemento calefactor dentro que es necesario para que el sensor funcione.

Si ahora colocas un encendedor cerca y presionas el botón para liberar el gas ( ¡no lo enciendas! ), el LED verde de detección en la parte trasera debería encenderse. Si no es así, ajusta el potenciómetro en la parte trasera del módulo.
En la siguiente sección, discutiremos cómo conectar el sensor MQ-4 con Arduino y escribir el código necesario para comenzar a detectar gas metano.
Conectando las piezas
En esta sección conectamos todas las piezas. Comencemos conectando la fuente de alimentación a la protoboard y de ahí al sensor MQ-4 (cables azul y rojo). Asegúrate de que los 5V estén conectados al VCC del MQ-4. Luego conectamos la salida analógica de datos (A0) del MQ-4 con un cable amarillo al Pin A0 (entrada analógica) del Arduino.

Al conectar el zumbador, asegúrate de conectar el polo positivo (marcado con un símbolo (+) tenue) al Pin 3 del Arduino (cable morado). Su otro pin se conecta a tierra.
Finalmente el LED. Primero conectamos la resistencia al pin más largo del LED (ánodo) y luego la resistencia al Pin 2 del Arduino (cable verde). El otro pin del LED debe conectarse a tierra.
Y eso es todo. El cableado está completo. Si necesitas más detalles, consulta la tabla completa de conexiones a continuación.
| Desde | Pin | Color del cable | Hacia | Pin |
| Arduino | 5V | Rojo | Protoboard | Riel positivo |
| Arduino | GND | Azul | Protoboard | Riel negativo |
| MQ-4 | GND | Azul | Protoboard | Riel negativo |
| MQ-4 | VCC | Rojo | Protoboard | Riel positivo |
| MQ-4 | Salida/Señal | Amarillo | Arduino | A0 |
| Zumbador | Positivo (+) | Morado | Arduino | ~4 |
| Zumbador | Negativo (-) | Azul | Protoboard | Riel negativo |
| Resistencia | Cualquiera | – | LED | Ánodo (pin largo) |
| Resistencia | Cualquier otro | Verde | Arduino | ~3 |
| LED | Cátodo (pin corto) | Azul | Protoboard | Riel negativo |
En la siguiente sección escribiremos el código para nuestro sistema de detección de gas.
Escribiendo el código para Arduino
En esta sección escribiremos el código para nuestro sistema de alarma de detección de gas. Queremos encender el LED y activar el zumbador si los niveles de gas en el ambiente superan un umbral determinado. A continuación está el código completo y en la siguiente sección explicaremos sus partes.
const int ledPin = 2;
const int buzzerPin = 3;
const int sensorPin = A0;
const int threshold = 500;
void alarm_on() {
digitalWrite(ledPin, HIGH);
tone(buzzerPin, 5000);
delay(1000);
alarm_off();
}
void alarm_off() {
digitalWrite(ledPin, LOW);
noTone(buzzerPin);
delay(500);
}
void setup() {
Serial.begin(9600);
pinMode(sensorPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop() {
int sensorValue = analogRead(sensorPin);
Serial.print("MQ-4:");
Serial.println(sensorValue);
(sensorValue > threshold) ? alarm_on() : alarm_off();
}
Constantes
Comenzamos declarando las constantes necesarias.
const int ledPin = 2; const int buzzerPin = 3; const int sensorPin = A0; const int threshold = 500;
Primero definimos ledPin, que representa el número de pin al que está conectado el LED. buzzerPin es el pin al que está conectado el zumbador. Luego necesitamos una constante para el sensorPin, donde está conectado el sensor MQ-4. Y finalmente definimos un threshold que especifica el nivel de gas a partir del cual el sistema de alarma se activa.
Funciones de alarma
Luego definimos dos funciones: alarm_on() y alarm_off(). Estas funciones controlan el comportamiento del sistema de alarma. La función alarm_on() es responsable de encender la alarma.
void alarm_on() {
digitalWrite(ledPin, HIGH);
tone(buzzerPin, 5000);
delay(1000);
alarm_off();
}
En ella primero ponemos el pin del LED en HIGH, encendiendo el LED. Luego activamos el zumbador generando un tono con una frecuencia de 5000 Hz. Esperamos 1000 ms = 1 s y finalmente llamamos a alarm_off() para apagar la alarma. Esto resultará en un sonido intermitente mientras detectemos niveles altos de gas.
void alarm_off() {
digitalWrite(ledPin, LOW);
noTone(buzzerPin);
delay(500);
}
En la función alarm_off(), primero ponemos el pin del LED en LOW, apagando el LED. Luego detenemos el zumbador llamando a la función noTone(). Y finalmente esperamos 500 ms = 0.5 segundos.
Función setup
En la función setup() inicializamos la comunicación y los modos de los pines. Nada emocionante. Solo asegúrate de que el pin del sensor esté en modo INPUT.
void setup() {
Serial.begin(9600);
pinMode(sensorPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
}
Función loop
En la función loop() leemos continuamente el valor analógico del sensor MQ-4 y activamos la alarma si el valor del sensor supera el umbral.
void loop() {
int sensorValue = analogRead(sensorPin);
Serial.print("MQ-4:");
Serial.println(sensorValue);
(sensorValue > threshold) ? alarm_on() : alarm_off();
}
La única parte interesante aquí es la línea (sensorValue > 500) ? alarm_on() : alarm_off(), donde usamos un ternary conditional operator para verificar si el valor del sensor es mayor que el threshold. Si es así, se llama a la función alarm_on() para activar la alarma. De lo contrario, se llama a la función alarm_off() para apagar la alarma.
Este ciclo continúa indefinidamente, monitoreando continuamente el valor del sensor y activando la alarma según sea necesario.
Ejecutando el código
Si abres el Monitor Serial y ejecutas este código, verás una línea con la etiqueta «MQ-4» aparecer. Cuando expongas el sensor MQ-4 al gas metano (por ejemplo, gas de un encendedor), deberías notar un aumento repentino del valor del sensor y luego una caída más lenta. Mira la imagen a continuación, donde hice justamente eso.

¡Felicidades, ahora tienes un sistema de alarma de detección de gas funcionando! Disfruta experimentando con él ; )
Conclusión
En este tutorial, hemos aprendido cómo usar el sensor de gas metano MQ-4 con Arduino. Comenzamos presentando las piezas necesarias para este proyecto, que incluyen una placa Arduino, el sensor de gas MQ-4, un zumbador, un LED, cables jumper y una protoboard.
Luego, discutimos en detalle el sensor de gas MQ-4, explicando su principio de funcionamiento y su capacidad para detectar gas metano. También destacamos algunas de las características clave de este sensor.
Después, pasamos al aspecto práctico del proyecto y explicamos cómo conectar las piezas. Proporcionamos un diagrama claro de conexiones e instrucciones paso a paso para asegurar una conexión exitosa entre el sensor MQ-4 y la placa Arduino.
Una vez completado el montaje del hardware, escribimos el código para Arduino. Explicamos cómo usar la entrada analógica del Arduino para leer los valores del sensor y activar una alarma cuando la concentración de gas supere un umbral dado.
En conclusión, el sensor de gas metano MQ-4 es una herramienta útil para detectar fugas de gas metano o monitorear niveles de metano en diversas aplicaciones. Siguiendo este tutorial, ahora deberías tener un buen entendimiento de cómo usar este sensor con Arduino y cómo interpretar las lecturas del sensor.
Recuerda siempre tener precaución al trabajar con sensores de gas y asegurar una ventilación adecuada en el entorno de prueba. La seguridad debe ser una prioridad al tratar con gases potencialmente peligrosos.
Esperamos que este tutorial te haya sido útil para comenzar con el sensor de gas metano MQ-4. Si tienes más preguntas o necesitas asistencia adicional, consulta la sección de Preguntas Frecuentes o contáctanos a través de los enlaces proporcionados.
¡Feliz experimentación y mantente seguro!
Preguntas frecuentes
Aquí tienes algunas preguntas comunes sobre el uso del sensor de gas metano MQ-4 con Arduino:
P1: ¿Cómo funciona el sensor de gas MQ-4?
El sensor de gas MQ-4 funciona bajo el principio de conductividad del gas. Contiene un elemento sensor hecho de dióxido de estaño (SnO2) que reacciona con el gas metano. Cuando hay gas metano presente, la conductividad del elemento sensor aumenta, lo que puede ser medido por el Arduino.
P2: ¿Puede el sensor MQ-4 detectar otros gases además del metano?
Aunque el sensor MQ-4 está diseñado principalmente para detectar gas metano, también puede detectar otros gases inflamables como propano y butano. Sin embargo, puede que no sea tan preciso o sensible para gases distintos al metano.
P3: ¿Qué tan preciso es el sensor MQ-4?
La precisión del sensor MQ-4 puede variar dependiendo de factores como la calibración, condiciones ambientales y la concentración del gas detectado. Se recomienda calibrar el sensor periódicamente para mejorar la precisión.
P4: ¿Cómo puedo calibrar el sensor MQ-4?
Para calibrar el sensor MQ-4, puedes exponerlo a una concentración conocida de gas metano y ajustar el potenciómetro de sensibilidad hasta que el sensor proporcione la respuesta deseada. Es importante seguir las indicaciones del fabricante para la calibración.
P5: ¿Puedo usar el sensor MQ-4 para aplicaciones de seguridad?
Aunque el sensor MQ-4 puede detectar gases inflamables, no está certificado para aplicaciones de seguridad. Está destinado principalmente para fines educativos, de investigación y prototipado. Para aplicaciones críticas de seguridad, se recomienda usar sensores certificados que cumplan con los estándares requeridos.
P6: ¿Puedo usar el sensor MQ-4 con ESP32?
Sí, el sensor MQ-4 también puede usarse con ESP32. El cableado y el código serán similares a los usados con Arduino. Sin embargo, asegúrate de verificar los niveles de voltaje y la compatibilidad de pines entre el sensor y la placa ESP32.
P7: ¿Puedo alimentar el sistema de detección de gas con baterías?
Es posible, pero requiere baterías bastante grandes y no lo recomendaría. El sensor MQ-4 consume alrededor de 100mA y necesita calentarse al menos 30 segundos para lecturas confiables. Esto significa que, incluso si ponemos el Arduino en modo deep-sleep para ahorrar energía y se active solo cada 5 minutos, no podemos evitar que el MQ-4 consuma la mayor parte de la energía.
Recuerda consultar el MQ-4 Gas Sensor Datasheet para obtener información y especificaciones más detalladas.
Enlaces
A continuación algunos otros enlaces útiles sobre el sensor MQ-4 y cómo usarlo con Arduino.
- Datasheet for MQ-4 Gas Sensor
- How to Use MQ-4 Methane Gas Sensor
- Interface MQ4 Methane Gas Sensor with Arduino
- Using an MQ-4 Sensor with Arduino to Detect Methane Gas
- Interface MQ4 Methane gas sensor with Arduino
- Interfacing MQ-4 Smoke Gas Sensor Module with Arduino




