Grove - Sensor de Gás(MQ2)

O módulo Grove - Gas Sensor(MQ2) é útil para detecção de vazamento de gás (doméstico e industrial). É adequado para detectar H2, GLP, CH4, CO, álcool, fumaça ou propano. Devido à sua alta sensibilidade e tempo de resposta rápido, a medição pode ser feita o mais rápido possível. A sensibilidade do sensor pode ser ajustada por potenciômetro.
Sensor | Tipo de Gás | Adquira Agora |
| MQ2 | Gás combustível, fumaça | |
| MQ3 | Vapor de álcool | |
| MQ5 | GLP, gás natural, gás de cidade | |
| MQ9 | Monóxido de carbono, gás de carvão, gás liquefeito |
Lançamos o Seeed Gas Sensor Selection Guide, que ajudará você a escolher o sensor de gás que melhor atenda às suas necessidades.
Recursos
- Ampla faixa de detecção
- Estável e com longa vida útil
- Resposta rápida e alta sensibilidade
Para mais detalhes sobre os módulos Grove, consulte o Grove System
Especificação
| Item | Parâmetro | Mín | Típico | Máx | Unidade |
|---|---|---|---|---|---|
| VCC | Tensão de trabalho | 4.9 | 5 | 5.1 | V |
| PH | Consumo de aquecimento | 0.5 | - | 800 | mW |
| RL | Resistência de carga | ajustável | |||
| RH | Resistência do aquecedor | - | 33 | - | Ω |
| Rs | Resistência de detecção | 3 | - | 30 | kΩ |
Plataformas Suportadas
| Arduino | Raspberry | ArduPy |
|---|---|---|
|
|
|
As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade teórica ou de software do módulo. Na maioria dos casos, fornecemos apenas biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.
Ideias de Aplicação
- Detecção de vazamento de gás.
- Brinquedos
- Aplicações de IoT
- Detecções inteligentes
Primeiros Passos
A tensão de saída do sensor de gás aumenta quando a concentração de gás aumenta. A sensibilidade pode ser ajustada girando o potenciômetro. Para informações detalhadas sobre o sensor MQ-2, consulte o datasheet fornecido na seção Resources.
Observe que o melhor tempo de pré-aquecimento para o sensor é acima de 24 horas.
Brincar com Arduino
Hardware
- Passo 1. Prepare os itens abaixo:
| Seeeduino V4.2 | Base Shield | Grove-Gas Sensor-MQ2 |
|---|---|---|
|
|
|
| Adquira agora | Adquira agora | Adquira agora |
- Passo 2. Conecte o Grove-Gas_Sensor-MQ2 à porta A0 do Grove-Base Shield.
- Passo 3. Conecte o Grove - Base Shield ao Seeeduino.
- Passo 4. Conecte o Seeeduino ao PC por meio de um cabo USB.

Conecte o Grove - Gas Sensor(MQ2) à porta A0 como mostrado na figura acima.
Se não tivermos o Grove Base Shield, também podemos conectar o Grove-Gas_Sensor-MQ2 diretamente ao Seeeduino como abaixo.
| Seeeduino | Grove-Gas_Sensor-MQ2 |
|---|---|
| 5V | Vermelho |
| GND | Preto |
| Not Conencted | Branco |
| A0 | Amarelo |
Software
existem alguns exemplos. Copie e cole o código abaixo em um novo sketch do Arduino e faça o upload deles respectivamente. Se você não souber como enviar o código, verifique how to upload code.
Exemplo básico: Detecção de gás
Neste exemplo, o sensor é conectado ao pino A0. A tensão lida do sensor é exibida. Esse valor pode ser usado como limiar para detectar qualquer aumento/diminuição na concentração de gás.
void setup() {
Serial.begin(9600);
}
void loop() {
float sensor_volt;
float sensorValue;
sensorValue = analogRead(A0);
sensor_volt = sensorValue/1024*5.0;
Serial.print("sensor_volt = ");
Serial.print(sensor_volt);
Serial.println("V");
delay(1000);
}
Medição : Aproximação
Estes exemplos demonstram maneiras de saber a concentração aproximada de gás. De acordo com o datasheet dos sensores MQx, essas equações são testadas para condições padrão e não são calibradas. Elas podem variar com base em mudanças de temperatura ou umidade.
Mantenha o sensor de gás em um ambiente de ar limpo.
void setup() {
Serial.begin(9600);
}
void loop() {
float sensor_volt;
float RS_air; // Get the value of RS via in a clear air
float R0; // Get the value of R0 via in H2
float sensorValue;
// Get a average data by testing 100 times
for(int x = 0 ; x < 100 ; x++)
{
sensorValue = sensorValue + analogRead(A0);
}
sensorValue = sensorValue/100.0;
sensor_volt = sensorValue/1024*5.0;
RS_air = (5.0-sensor_volt)/sensor_volt; // omit * RL
R0 = RS_air/9.8; // The ratio of RS/R0 is 9.8 in a clear air from Graph (Found using WebPlotDigitizer)
Serial.print("sensor_volt = ");
Serial.print(sensor_volt);
Serial.println("V");
Serial.print("R0 = ");
Serial.println(R0);
delay(1000);
}
Em seguida, abra o monitor serial da Arduino IDE. Anote o valor de R0, pois ele será usado no próximo programa. Anote o R0 depois que a leitura estabilizar.
Substitua o R0 abaixo pelo valor de R0 testado acima.
Exponha o sensor a qualquer um dos gases listados acima.
void setup() {
Serial.begin(9600);
}
void loop() {
float sensor_volt;
float RS_gas; // Get value of RS in a GAS
float ratio; // Get ratio RS_GAS/RS_air
int sensorValue = analogRead(A0);
sensor_volt=(float)sensorValue/1024*5.0;
RS_gas = (5.0-sensor_volt)/sensor_volt; // omit * RL
/*-Replace the name "R0" with the value of R0 in the demo of First Test -*/
ratio = RS_gas/R0; // ratio = RS/R0
/*-----------------------------------------------------------------------*/
Serial.print("sensor_volt = ");
Serial.println(sensor_volt);
Serial.print("RS_ratio = ");
Serial.println(RS_gas);
Serial.print("Rs/R0 = ");
Serial.println(ratio);
Serial.print("\n\n");
delay(1000);
}
Agora, podemos obter a concentração de gás a partir da figura abaixo.

De acordo com o gráfico, podemos ver que a concentração mínima que podemos testar é 100ppm e a máxima é 10000ppm, em outras palavras, podemos obter uma concentração de gás entre 0,01% e 1%. Entretanto, não podemos fornecer uma fórmula porque a relação entre a razão e a concentração é não linear.
Brincar com Raspberry Pi (com Grove Base Hat para Raspberry Pi)
Hardware
- Passo 1. Itens usados neste projeto:
| Raspberry pi | Grove Base Hat for RasPi | Grove-Gas_Sensor-MQ2 |
|---|---|---|
|
|
|
| Adquira agora | Adquira agora | Adquira agora |
- Passo 2. Conecte o Grove Base Hat ao Raspberry.
- Passo 3. Conecte o Grove-Gas Sensor MQ2 à porta A0 do Base Hat.
- Passo 4. Conecte o Raspberry Pi ao PC através de um cabo USB.

No passo 3 você pode conectar o Grove-Gas Sensor MQ2 a qualquer Porta Analógica, mas certifique-se de alterar o comando com o número de porta correspondente.
Software
- Passo 1. Siga Setting Software para configurar o ambiente de desenvolvimento.
- Passo 2. Baixe o arquivo-fonte clonando a biblioteca grove.py.
cd ~
git clone https://github.com/Seeed-Studio/grove.py
- Passo 3. Execute os comandos abaixo para escrever o código.
cd grove.py/grove
nano grove_gas_sensor_mq2.py
Então você deve copiar o código a seguir neste arquivo e pressionar ++ctrl+x++ para sair e salvar.
import math
import sys
import time
from grove.adc import ADC
class GroveGasSensorMQ2:
def __init__(self, channel):
self.channel = channel
self.adc = ADC()
@property
def MQ2(self):
value = self.adc.read(self.channel)
return value
Grove = GroveGasSensorMQ2
def main():
if len(sys.argv) < 2:
print('Usage: {} adc_channel'.format(sys.argv[0]))
sys.exit(1)
sensor = GroveGasSensorMQ2(int(sys.argv[1]))
print('Detecting...')
while True:
print('Gas value: {0}'.format(sensor.MQ2))
time.sleep(.3)
if __name__ == '__main__':
main()
- Passo 4. Execute o comando abaixo para rodar o código
python grove_gas_sensor_mq2.py 0
Se tudo correr bem, você conseguirá ver o seguinte resultado
pi@raspberrypi:~/grove.py/grove $ python grove_gas_sensor_mq2.py 0
Detecting...
Gas value: 760
Gas value: 714
Gas value: 675
Gas value: 637
Gas value: 603
Gas value: 568
Gas value: 535
Gas value: 506
Gas value: 481
Gas value: 464
Gas value: 449
Gas value: 429
Gas value: 413
Gas value: 456
Gas value: 470
Gas value: 440
Gas value: 404
Gas value: 373
Gas value: 352
Gas value: 339
Gas value: 330
^CTraceback (most recent call last):
File "grove_gas_sensor_mq2.py", line 69, in <module>
main()
File "grove_gas_sensor_mq2.py", line 66, in main
time.sleep(.3)
KeyboardInterrupt
Você pode sair deste programa simplesmente pressionando ++ctrl+c++.
Você pode ter notado que, para a porta analógica, o número do pino na serigrafia é algo como A1, A0, entretanto no comando usamos os parâmetros 0 e 1, exatamente como na porta digital. Portanto, certifique-se de conectar o módulo na porta correta, caso contrário pode haver conflitos de pinos.
Brincar com Raspberry Pi (com GrovePi_Plus)
Hardware
- Passo 1. Prepare os itens abaixo:
| Raspberry pi | GrovePi_Plus | Grove-Gas_Sensor-MQ2 |
|---|---|---|
|
|
|
| Adquira agora | Adquira agora | Adquira agora |
- Passo 2. Conecte o GrovePi_Plus ao Raspberry.
- Passo 3. Conecte o Grove-Gas_Sensor-MQ2 à porta A0 do GrovePi_Plus.
- Passo 4. Conecte o Raspberry ao PC através de um cabo USB.

Software
- Passo 1. Siga Setting Software para configurar o ambiente de desenvolvimento.
- Passo 2. Use
git cloneno repositório do Github.
cd ~
git clone https://github.com/DexterInd/GrovePi.git
- Passo 3. Execute os comandos abaixo para usar este sensor
cd ~/GrovePi/Software/Python
python grove_gas_sensor.py
Aqui está o código de grove_gas_sensor.py:
#!/usr/bin/env python
#
# GrovePi Example for using the Grove Gas Sensor
#
# The GrovePi connects the Raspberry Pi and Grove sensors. You can learn more about GrovePi here: http://www.dexterindustries.com/GrovePi
#
# Have a question about this example? Ask on the forums here: http://forum.dexterindustries.com/c/grovepi
#
'''
## License
The MIT License (MIT)
GrovePi for the Raspberry Pi: an open source platform for connecting Grove Sensors to the Raspberry Pi.
Copyright (C) 2017 Dexter Industries
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
'''
# NOTE:
# There are 5 gas sensors
# MQ2 - Combustible Gas, Smoke
# MQ3 - Alcohol Vapor
# MQ5 - LPG, Natural Gas, Town Gas
# MQ9 - Carbon Monoxide, Coal Gas, Liquefied Gas
# 02 - Oxygen
# The sensitivity can be adjusted by the onboard potentiometer
#
# https://www.seeedstudio.com/wiki/Grove_-_Gas_Sensor
# https://www.seeedstudio.com/wiki/Grove_-_Gas_Sensor(MQ5)
# https://www.seeedstudio.com/wiki/Grove_-_Gas_Sensor(O%E2%82%82)
import time
import grovepi
# Connect the Grove Gas Sensor to analog port A0
# SIG,NC,VCC,GND
gas_sensor = 0
grovepi.pinMode(gas_sensor,"INPUT")
while True:
try:
# Get sensor value
sensor_value = grovepi.analogRead(gas_sensor)
# Calculate gas density - large value means more dense gas
density = (float)(sensor_value / 1024.0)
print("sensor_value =", sensor_value, " density =", density)
time.sleep(.5)
except IOError:
print ("Error")
Brincar com Wio Terminal (ArduPy)
Hardware
- Passo 1. Prepare os itens abaixo:
| Raspberry pi | GrovePi_Plus | Grove-Gas_Sensor-MQ2 |
|---|---|---|
|
|
|
| Adquira agora | Adquira agora | Adquira agora |
- Passo 2. Conecte o GrovePi_Plus ao Raspberry.
- Passo 3. Conecte o Grove-Gas_Sensor-MQ2 à porta A0 do GrovePi_Plus.
- Passo 4. Conecte o Raspberry ao PC através de um cabo USB.

Software
- Passo 1. Siga Setting Software para configurar o ambiente de desenvolvimento.
- Passo 2. Use
git cloneno repositório do Github.
cd ~
git clone https://github.com/DexterInd/GrovePi.git
- Passo 3. Execute os comandos abaixo para usar este sensor
cd ~/GrovePi/Software/Python
python grove_gas_sensor.py
Aqui está o código de grove_gas_sensor.py:
#!/usr/bin/env python
#
# GrovePi Example for using the Grove Gas Sensor
#
# The GrovePi connects the Raspberry Pi and Grove sensors. You can learn more about GrovePi here: http://www.dexterindustries.com/GrovePi
#
# Have a question about this example? Ask on the forums here: http://forum.dexterindustries.com/c/grovepi
#
'''
## License
The MIT License (MIT)
GrovePi for the Raspberry Pi: an open source platform for connecting Grove Sensors to the Raspberry Pi.
Copyright (C) 2017 Dexter Industries
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
'''
# NOTE:
# There are 5 gas sensors
# MQ2 - Combustible Gas, Smoke
# MQ3 - Alcohol Vapor
# MQ5 - LPG, Natural Gas, Town Gas
# MQ9 - Carbon Monoxide, Coal Gas, Liquefied Gas
# 02 - Oxygen
# The sensitivity can be adjusted by the onboard potentiometer
#
# https://www.seeedstudio.com/wiki/Grove_-_Gas_Sensor
# https://www.seeedstudio.com/wiki/Grove_-_Gas_Sensor(MQ5)
# https://www.seeedstudio.com/wiki/Grove_-_Gas_Sensor(O%E2%82%82)
import time
import grovepi
# Connect the Grove Gas Sensor to analog port A0
# SIG,NC,VCC,GND
gas_sensor = 0
grovepi.pinMode(gas_sensor,"INPUT")
while True:
try:
# Get sensor value
sensor_value = grovepi.analogRead(gas_sensor)
# Calculate gas density - large value means more dense gas
density = (float)(sensor_value / 1024.0)
print("sensor_value =", sensor_value, " density =", density)
time.sleep(.5)
except IOError:
print ("Error")
Brincar com o Wio Terminal (ArduPy)
Hardware
- Passo 1. Prepare os itens abaixo:
| Wio Terminal | Grove - Gas Sensor(MQ2) |
|---|---|
|
|
| Adquira agora | Adquira agora |
-
Passo 2. Conecte o Grove - Gas Sensor(MQ2) à porta Grove A0 do Wio Terminal.
-
Passo 3. Conecte o Wio Terminal ao PC através de um cabo USB Tipo-C.

Software
-
Passo 1. Siga o ArduPy Getting Started para configurar o ambiente de desenvolvimento ArduPy no Wio Terminal.
-
Passo 2. Certifique-se de que o firmware ArduPy esteja gravado no Wio Terminal. Para mais informações, siga aqui.
aip build
aip flash
- Passo 3. Copie o código a seguir e salve-o como
ArduPy-mq2.py:
from machine import Pin, ADC
from machine import LCD
from machine import Sprite
import time
mq2 = ADC(Pin(13))
lcd = LCD()
spr = Sprite(lcd) # Create a buff
def main():
spr.createSprite(320, 240)
while True:
spr.setTextSize(2)
spr.fillSprite(spr.color.BLACK)
spr.setTextColor(lcd.color.ORANGE)
spr.drawString("MQ2 Reading", 90, 10)
spr.drawFastHLine(40, 35, 240, lcd.color.DARKGREY)
spr.setTextColor(lcd.color.WHITE)
spr.drawString("- Current Level: ", 20, 50)
spr.drawNumber(mq2.read(), 220,50)
spr.pushSprite(0,0)
time.sleep_ms(500)
print("MQ2 Gas Sensor Reading is: ", mq2.read())
if __name__ == "__main__":
main()
- Passo 4. Salve o
ArduPy-mq2.pyem um local que você conheça. Execute o seguinte comando e substitua<YourPythonFilePath>pelo local do seuArduPy-mq2.py.
aip shell -n -c "runfile <YourPythonFilePath>"
# Example:
# aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-mq2.py"
- Passo 5. Veremos o valor do gás exibido no terminal como abaixo e também na tela LCD do Wio Terminal.
ansonhe@Ansons-Macbook-Pro ~:aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-mq2.py"
Positional argument (/dev/cu.usbmodem1414301) takes precedence over --open.
Connected to ardupy
MQ2 Gas Sensor Reading is: 60
MQ2 Gas Sensor Reading is: 61
MQ2 Gas Sensor Reading is: 62
MQ2 Gas Sensor Reading is: 62
MQ2 Gas Sensor Reading is: 64
MQ2 Gas Sensor Reading is: 63
MQ2 Gas Sensor Reading is: 66
MQ2 Gas Sensor Reading is: 64
MQ2 Gas Sensor Reading is: 65
MQ2 Gas Sensor Reading is: 65
MQ2 Gas Sensor Reading is: 65
MQ2 Gas Sensor Reading is: 64

Visualizador de Esquemático Online
Recursos
- [Referências] What's LEL
- [Esquemático] Grove Gas Sensor - EAGLE (Schematic and Board) files
- [Esquemático] Grove Gas Sensor - PDF Schematic
- [Folha de dados] MQ-2 Datasheet
Projetos
Arduino E Sensor de Gás MQ2: O módulo Grove Gas Sensor (MQ2) é útil para detecção de vazamento de gás (residencial e industrial). Ele é adequado para detectar H2, LPG, CH4 e CO.
Nariz eletrônico para detectar o amadurecimento de frutas
ED-E: Sistema de Automação e Monitoramento Residencial
Monitoramento e Resposta Inteligente e Escalável da Qualidade do Ar Monitoramento da qualidade do ar que usa o Intel Edison Compute Module, Amazon AWS, visualização através do Kibana e drones!
Octopod: Projeto de Automação Residencial Inteligente IoT Octopod, um sistema de automação residencial completo com formato exclusivo que permite monitorar sua casa e manter a segurança com IA e fechaduras RFID inteligentes.
Suporte Técnico & Discussão de Produto
Atualizável para Sensores Industriais
Com o SenseCAP S2110 controller e o S2100 data logger, você pode facilmente transformar o Grove em um sensor LoRaWAN®. A Seeed não apenas ajuda você na prototipagem, mas também oferece a possibilidade de expandir seu projeto com a série SenseCAP de robustos sensores industriais.
O invólucro IP66, a configuração via Bluetooth, a compatibilidade com a rede global LoRaWAN®, a bateria interna de 19 Ah e o poderoso suporte do APP fazem do SenseCAP S210x a melhor escolha para aplicações industriais. A série inclui sensores para umidade do solo, temperatura e umidade do ar, intensidade luminosa, CO2, EC e uma estação meteorológica 8 em 1. Experimente o mais recente SenseCAP S210x para o seu próximo projeto industrial de sucesso.









