Arduino Nano ESP32 - Sensor de gases
Este tutorial te guiará a través del proceso de utilizar Arduino Nano ESP32 y el sensor de gas MQ-2 para evaluar la calidad del aire al examinar 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 Arduino Nano ESP32
- Programación de Arduino Nano ESP32 para obtener lecturas del sensor de gas
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del sensor de gas MQ-2
El sensor de gas MQ2 puede detectar la presencia de varios gases como LPG, 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 MQ2 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 MQ2, podemos identificar si hay una fuga de gas o si la calidad del aire es deficiente. Esta información nos permite tomar las medidas adecuadas para garantizar nuestra seguridad, como activar una alarma o encender sistemas de ventilación.
Disposición de pines
El sensor de gas MQ-2 consta de cuatro pines con funciones específicas:
- Pin VCC: Este pin debe conectarse al VCC (5 V).
- Pin GND: Este pin debe conectarse a GND (0 V).
- Pin DO: Es un pin de salida digital que indica la presencia de gases inflamables. Cuando se detecta una concentración de gas inflamable, la salida del pin es una señal de nivel bajo; de lo contrario, es una señal de nivel alto. El valor umbral para detectar la concentración de gas se puede ajustar con 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 tensión de salida también aumenta, y cuando la concentración de gas disminuye, la tensión de salida disminuye en consecuencia.

Además, el sensor de gas MQ2 está equipado con dos indicadores LED:
- Indicador PWR-LED: Este LED funciona como indicador de alimentación, 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 del pin DO. Cuando la concentración de gas está presente y el pin DO está configurado en nivel bajo, el indicador DO-LED se enciende. Por el contrario, si no se detecta concentración de gas y el pin DO está configurado en nivel 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 le permite ajustar la sensibilidad o el umbral para la concentración de gas.
- Si la concentración de gas en el entorno circundante excede el umbral establecido, el pin de salida del sensor se establece en nivel bajo, y el DO-LED se enciende.
- Por el contrario, si la concentración de gas desciende por debajo del umbral establecido, el pin de salida del sensor se establece en nivel alto, y el DO-LED se apaga.
Con respecto al pin AO:
- A medida que la concentración de gas aumenta, el voltaje en el pin AO también aumenta de forma proporcional.
- Por el contrario, cuando la concentración de gas disminuye, el voltaje en el pin AO disminuye en consecuencia.
Es importante señalar que ajustar el potenciómetro no afecta el valor en el pin AO.
El calentamiento del sensor MQ2
El sensor de gas MQ-2 requiere un período de calentamiento antes de poder utilizarse de forma eficaz. Aquí están los detalles:
- Cuando se use 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. Típicamente toma solo de 5 a 10 minutos para que el sensor se caliente por completo. Durante este periodo de calentamiento, el sensor puede proporcionar inicialmente lecturas altas, pero estas lecturas disminuirán gradualmente hasta que el sensor se estabilice.
Para precalentar el sensor MQ2, simplemente conecte sus pines VCC y GND a una fuente de alimentación o conéctelos a los pines VCC y GND de un Arduino Nano ESP32. Permita que el sensor permanezca en este estado durante el período de precalentamiento requerido.
Diagrama de Cableado
Dado que el módulo de sensor de gas MQ2 tiene dos salidas, puedes elegir usar una o ambas, dependiendo de lo que necesites.
- El diagrama de cableado entre Arduino Nano ESP32 y el sensor de gas MQ-2 cuando se alimenta a través del puerto USB.

This image is created using Fritzing. Click to enlarge image
- El diagrama de cableado entre Arduino Nano ESP32 y el sensor de gas MQ2 cuando se alimenta a través del pin Vin.

This image is created using Fritzing. Click to enlarge image
Código de Arduino Nano ESP32 - Leer el valor del pin DO
Pasos R\u00e1pidos
- Si es la primera vez que usas Arduino Nano ESP32, consulta cómo configurar el entorno para Arduino Nano 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 subir el código al Arduino Nano ESP32.
- Coloca el sensor de gas MQ2 cerca del humo o gas que quieras detectar.
- Consulta el resultado en el Monitor Serial.
Tenga en cuenta que si nota que el estado del LED permanece encendido constantemente o apagado, puede ajustar el potenciómetro para afinar la sensibilidad del sensor.
Código de Arduino Nano ESP32 - Leer valor del pin AO
Pasos R\u00e1pidos
- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Subir en el Arduino IDE para subir el código al Arduino Nano 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 u AO, se puede inferir la calidad del aire según su norma, o activar una alarma o encender los sistemas de ventilación.
※ Nota:
Este tutorial utiliza la función analogRead() para leer valores de un ADC (Convertidor Analógico a Digital) conectado a un sensor o componente.
El ADC del Arduino Nano ESP32 es adecuado para proyectos que no requieren alta precisión.
Sin embargo, para proyectos que requieren mediciones precisas, tenga en cuenta lo siguiente:
- El ADC del Arduino Nano ESP32 no es perfectamente preciso y podría requerir calibración para obtener resultados correctos. Cada placa Arduino Nano ESP32 puede variar ligeramente, por lo que la calibración es necesaria para cada placa individual.
- La calibración puede ser desafiante, especialmente para principiantes, y podría no siempre obtener los resultados exactos que desea.
Para proyectos que requieren alta precisión, considere utilizar un ADC externo (por ejemplo, ADS1115) con el Arduino Nano ESP32 o usar otro Arduino, como el Arduino Uno R4 WiFi, que tiene un ADC más fiable. Si todavía desea calibrar el ADC del Arduino Nano ESP32, consulte el 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.