ESP8266 - Sensor de gas

Este tutorial te enseña cómo usar el ESP8266 y el sensor de gas MQ-2 para evaluar la calidad del aire midiendo los niveles de gases como LPG, humo, alcohol, propano, hidrógeno, metano y monóxido de carbono. En detalle, aprenderemos:

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Sensor de Gas MQ2
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del sensor de gas MQ-2

El sensor de gas MQ-2 es un dispositivo útil que puede detectar los niveles de varios gases, incluyendo GLP, humo, alcohol, propano, hidrógeno, metano y monóxido de carbono, en el entorno. Ofrece dos opciones de salida: un pin de salida digital y un pin de salida analógica.

Es importante señalar que el sensor MQ-2 no proporciona información por separado sobre cada gas. En su lugar, nos ofrece una indicación general de la combinación de gases o de la presencia de gases en su conjunto.

Al usar el sensor MQ-2, podemos determinar si hay una fuga de gas o si la calidad del aire es mala. Esta información es valiosa, ya que nos permite tomar las medidas adecuadas para garantizar nuestra seguridad, como activar una alarma o encender los sistemas de ventilación.

Esquema de pines

El sensor de gas MQ2 consta de cuatro pines que cumplen funciones diferentes:

  • Pin VCC: Debe conectarse al terminal positivo de la fuente de alimentación (5V) para proporcionar la energía necesaria al sensor.
  • Pin GND: Debe conectarse al terminal negativo de la fuente de alimentación (0V) para completar el circuito eléctrico.
  • Pin DO: Este es un pin de salida digital que indica la presencia de gases inflamables. Cuando se detecta la concentración de gas, la salida se establece en BAJO, y cuando no hay gas detectado, la salida se establece en ALTO. El umbral de detección de concentración de gas puede ajustarse mediante un potenciómetro integrado en el sensor.
  • Pin AO: Este es un pin de salida analógica que genera una señal de voltaje 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 en consecuencia.
Pinout del sensor de gas MQ-2

Además, el sensor de gas MQ2 incluye dos indicadores LED:

  • Indicador PWR-LED: Este LED funciona como indicador de alimentación, indicando si el sensor está recibiendo energía. Cuando el sensor está correctamente alimentado, el PWR-LED se enciende, proporcionando una confirmación visual del estado operativo del sensor.
  • Indicador DO-LED: Este LED está directamente conectado al pin DO del sensor. Indica la presencia de concentración de gas basada en el valor recibido desde el pin DO. Cuando se detecta la concentración de gas y el pin DO está configurado en BAJO, el DO-LED se enciende. Por el contrario, cuando no se detecta concentración de gas y el pin DO está configurado en ALTO, el DO-LED se apaga.

Cómo funciona

Con respecto al pin DO:

  • El módulo MQ2 incluye un potenciómetro incorporado para ajustar la sensibilidad o el umbral de la concentración de gas.
  • Cuando la concentración de gas en el entorno circundante supera el umbral establecido, el pin de salida del sensor pasa a nivel bajo y el LED de salida digital se enciende.
  • Por el contrario, cuando la concentración de gas cae por debajo del umbral, el pin de salida pasa a nivel alto y el LED de salida digital se apaga.

Con respecto al pin AO:

  • El voltaje en el pin AO aumenta a medida que la concentración de gas aumenta.
  • Por el contrario, a medida que la concentración de gas disminuye, el voltaje en el pin AO disminuye en consecuencia.

Es importante señalar que el ajuste del potenciómetro no afecta el valor en el pin AO.

Calentamiento del sensor MQ-2

El sensor de gas MQ2 requiere un período de calentamiento antes de que pueda utilizarse de manera efectiva. Esto es lo que debes saber:

  • Cuando se use el sensor por primera vez después de un largo período de almacenamiento (alrededor de un mes o más), es necesario calentarlo durante 24-48 horas. Esto garantiza que el sensor funcione con precisión.
  • Si el sensor se ha utilizado recientemente, el tiempo de calentamiento es mucho más corto, típicamente solo 5-10 minutos. Durante este período de calentamiento, es normal que el sensor proporcione inicialmente lecturas más altas. Sin embargo, 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 a los pines VCC y GND de un ESP8266. Permita que el sensor permanezca conectado durante el periodo de precalentamiento especificado.

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.

  • El diagrama de cableado entre ESP8266 y el sensor de gas MQ-2 cuando se utiliza solo la salida digital (DO).
Diagrama de cableado del sensor de gas MQ-2 para ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.

  • El diagrama de cableado entre ESP8266 y el sensor de gas MQ2 cuando se utiliza solo la salida analógica.
Diagrama de cableado de calidad del aire para ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

  • El diagrama de cableado entre el ESP8266 y el sensor de gas MQ2 cuando se utilizan tanto AO como DO.
Diagrama de cableado del sensor de humo ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Código ESP8266 - Leer valor del pin DO

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-gas-sensor */ #define DO_PIN D7 // esp8266's pin d7 connected to DO pin of the MQ2 sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the esp8266's pin as an input pinMode(DO_PIN, INPUT); Serial.println("Warming up the MQ2 sensor"); delay(20000); // wait for the MQ2 to warm up } void loop() { int gasState = digitalRead(DO_PIN); if (gasState == HIGH) Serial.println("The gas is NOT present"); else Serial.println("The gas is present"); }

Pasos R\u00e1pidos

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

  • Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
  • Conecta los componentes como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu ordenador usando un cable USB.
  • Abre Arduino IDE en tu ordenador.
  • Elige la placa ESP8266 correcta, como (p. ej. NodeMCU 1.0 (ESP-12E Module)), y su puerto COM respectivo.
  • 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 ESP8266.
  • Coloca el sensor de gas MQ2 cerca del humo o gas que quieras detectar.
  • Consulta el resultado en el Monitor Serial.
COM6
Send
The gas is NOT present The gas is NOT present The gas is NOT present The gas is NOT present The gas is NOT present The gas is present The gas is present The gas is present The gas is present The gas is present
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Por favor, tenga en cuenta que, si nota que el estado del LED permanece encendido de forma constante o apagado, puede ajustar el potenciómetro para afinar la sensibilidad del sensor.

Código ESP8266 - Leer valor del pin AO

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-gas-sensor */ #define AO_PIN A0 // esp8266's pin connected to AO pin of the MQ2 sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); Serial.println("Warming up the MQ2 sensor"); delay(20000); // wait for the MQ2 to warm up } void loop() { int gasValue = analogRead(AO_PIN); Serial.print("MQ2 sensor AO value: "); Serial.println(gasValue); }

Pasos R\u00e1pidos

  • Copie el código anterior y ábralo con el IDE de Arduino.
  • Haga clic en el Subir botón en el IDE de Arduino para subir el código al ESP8266.
  • Coloque el sensor de gas MQ2 cerca del humo o gas que desee detectar.
  • Verifique el resultado en el Monitor Serial.
COM6
Send
MQ2 sensor AO value: 135 MQ2 sensor AO value: 136 MQ2 sensor AO value: 136 MQ2 sensor AO value: 573 MQ2 sensor AO value: 674 MQ2 sensor AO value: 938 MQ2 sensor AO value: 954 MQ2 sensor AO value: 1000 MQ2 sensor AO value: 1002 MQ2 sensor AO value: 1014 MQ2 sensor AO value: 1017
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

A partir de los valores leídos de DO o AO, puedes deducir la calidad del aire según tu norma, o activar una alarma o encender los sistemas de ventilación.

※ Nota:

Este tutorial utiliza la función analogRead() para obtener datos de un ADC (Convertidor Analógico-Digital) que está conectado a un sensor u otra parte. El ADC del ESP8266 funciona bien para proyectos en los que no se requieren lecturas muy precisas. Pero recuerda, el ADC del ESP8266 no es muy preciso para mediciones detalladas. Si tu proyecto necesita ser muy preciso, quizá quieras usar un ADC independiente como el ADS1115 con el ESP8266, o usar Arduino, como el Arduino Uno R4 WiFi, que tiene un ADC más fiable.

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.

Referencias de Funciones

Tutoriales Relacionados

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!