ESP32 - sensor de gas
Este tutorial te guiará a través del proceso de utilizar el ESP32 y el sensor de gas MQ-2 para evaluar la calidad del aire examinando los niveles de varios gases inflamables, como GLP, humo, alcohol, propano, hidrógeno, metano y monóxido de carbono. Abordaremos los siguientes aspectos en detalle:
- Estableciendo la conexión entre el sensor de gas y el ESP32
- Programando el ESP32 para obtener lecturas del sensor de gas
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del sensor de gas MQ2
El sensor de gas MQ-2 puede detectar la presencia de varios gases, como GLP, humo, alcohol, propano, hidrógeno, metano y monóxido de carbono en el entorno circundante. Ofrece dos opciones de salida: un pin de salida digital y un pin de salida analógica.
Es importante señalar que el sensor de gas MQ-2 no proporciona información específica sobre cada gas de forma individual. En su lugar, nos informa sobre la combinación de gases o la presencia de gases en su conjunto.
Al utilizar el sensor MQ-2, podemos identificar si hay una fuga de gas o si la calidad del aire es mala. Esta información nos permite tomar las medidas adecuadas para garantizar nuestra seguridad, como activar una alarma o encender los sistemas de ventilación.
Diagrama de pines
El sensor de gas MQ2 consta de cuatro pines con funciones específicas:
- Pin VCC: Este pin debe conectarse a la VCC (5V).
- Pin GND: Este pin debe conectarse a la GND (0V).
- Pin DO: Es un pin de salida digital que indica la presencia de gases inflamables. Cuando se detecta la concentración de gas inflamable, el pin emite una señal baja; de lo contrario, emite una señal alta. El valor umbral para detectar la concentración de gas puede ajustarse mediante un potenciómetro integrado.
- Pin AO: Es un pin de salida analógica que genera una tensión analógica proporcional a la concentración de gas. Cuando la concentración de gas aumenta, la salida de voltaje también aumenta, y cuando la concentración de gas disminuye, la salida de voltaje disminuye correspondientemente.

Además, el sensor de gas MQ-2 está equipado con dos indicadores LED:
- Indicador PWR-LED: Este LED funciona como indicador de potencia, indicando que el sensor está recibiendo energía. Se enciende cuando el sensor está alimentado y funcionando.
- Indicador DO-LED: Este LED está vinculado al pin DO del sensor. Proporciona una representación visual de la concentración de gas basada en el valor recibido desde el pin DO. Cuando la concentración de gas está presente y el pin DO está configurado en BAJO, el indicador DO-LED se enciende. Por el contrario, si no se detecta ninguna concentración de gas y el pin DO está configurado en ALTO, el indicador DO-LED se apaga.
Cómo funciona
Con respecto al pin DO:
- El módulo MQ2 cuenta con un potenciómetro integrado que permite ajustar la sensibilidad o el umbral de la concentración de gas.
- Si la concentración de gas en el entorno circundante supera el umbral establecido, la salida del sensor se establece en estado bajo y el DO-LED se enciende.
- Por el contrario, si la concentración de gas cae por debajo del umbral establecido, la salida del sensor se establece en estado alto y el DO-LED se apaga.
Con respecto al pin AO:
- A medida que aumenta la concentración de gas, el voltaje en el pin AO también aumenta de forma proporcional.
- Por el contrario, cuando disminuye la concentración de gas, el voltaje en el pin AO disminuye en consecuencia.
Es importante notar que ajustar el potenciómetro no afecta el valor en el pin AO.
Calentamiento del sensor MQ-2
El sensor de gas MQ-2 requiere un período de calentamiento antes de que pueda utilizarse de manera efectiva. A continuación se presentan los detalles:
- Cuando se utiliza el sensor por primera vez después de un largo periodo de almacenamiento (alrededor de un mes o más), es necesario calentarlo durante 24-48 horas. Este tiempo de calentamiento prolongado garantiza un funcionamiento preciso.
- Si el sensor ha sido utilizado recientemente, el tiempo de calentamiento es significativamente más corto. Por lo general, solo toma de 5 a 10 minutos para que el sensor se caliente por completo. Durante este periodo de calentamiento, el sensor puede presentar inicialmente lecturas altas, pero estas lecturas disminuirán gradualmente hasta que el sensor se estabilice.
Para calentar el sensor MQ-2, simplemente conecte sus pines VCC y GND a una fuente de alimentación o conéquelos a los pines VCC y GND de un ESP32. Permita que el sensor permanezca en este estado durante el período de calentamiento requerido.
Diagrama de Cableado
Como el módulo de sensor de gas MQ2 tiene dos salidas, puedes elegir usar una o ambas, dependiendo de lo que necesites.
- Cómo conectar el ESP32 y el sensor de gas usando una placa de pruebas (alimentado vía un cable USB)

This image is created using Fritzing. Click to enlarge image
Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.
- Cómo conectar ESP32 y sensor de gas usando placa de pruebas (alimentado vía el pin Vin)

This image is created using Fritzing. Click to enlarge image
- Cómo conectar el ESP32 y un sensor de gas usando screw terminal block breakout board (alimentado mediante un cable USB)

- Cómo conectar el ESP32 y el sensor de gas usando [la placa de terminales de tornillo] (alimentada a través del pin Vin)

Código ESP32 - Leer valor del pin DO
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Subir en Arduino IDE para cargar el código en ESP32
- Coloca el sensor de gas MQ2 cerca del humo o gas que quieras detectar
- Ver el resultado en el Monitor Serial.
Por favor, tenga en cuenta que si nota que el LED permanece encendido todo el tiempo o apagado, puede ajustar el potenciómetro para afinar la sensibilidad del sensor.
Código ESP32 - Leer el valor del pin AO
Pasos R\u00e1pidos
- Copia el código anterior y ábrelo con el IDE de Arduino.
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al ESP32.
- Coloca el sensor de gas MQ2 cerca del humo o gas que quieras detectar.
- Consulta el resultado en el Monitor Serial.
A partir de los valores leídos de DO o AO, puedes inferir la calidad del aire según tu estándar, o activar una alarma o encender los sistemas de ventilación.
※ Nota:
Este tutorial usa la función analogRead() para leer valores de un ADC (Convertidor Analógico-Digital) conectado a un sensor de gas. El ADC de ESP32 es bueno para proyectos que NO requieren alta precisión. Sin embargo, para proyectos que necesitan mediciones precisas, ten en cuenta:
- El ADC de ESP32 no es perfectamente preciso y podría necesitar calibración para obtener resultados correctos. Cada placa ESP32 puede ser un poco diferente, así que necesitas calibrar el ADC para cada placa de forma individual.
- La calibración puede ser difícil, especialmente para principiantes, y podría no dar siempre los resultados exactos que deseas.
Para proyectos que necesitan alta precisión, considera usar un ADC externo (por ejemplo ADS1115) con el ESP32 o usar un Arduino, que tiene un ADC más confiable. Si aún quieres calibrar el ADC del ESP32, consulta ESP32 ADC Calibration Driver
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.