Grove - Sensor de Gás (MQ9)

O módulo Grove - Sensor de Gás (MQ9) é útil para detecção de vazamento de gás (em casa e na indústria). Ele é adequado para detectar LPG, CO, CH4. Devido à sua alta sensibilidade e tempo de resposta rápido, as medições podem ser feitas o mais rápido possível. A sensibilidade do sensor pode ser ajustada usando o potenciômetro.
Note
O valor do sensor apenas reflete a tendência aproximada da concentração de gás dentro de uma faixa de erro permissível, ele NÃO representa a concentração exata de gás. A detecção de certos componentes no ar geralmente requer um instrumento mais preciso e caro, o que não pode ser feito com um único sensor de gás. Se o objetivo do seu projeto é obter a concentração de gás em um nível muito preciso, então não recomendamos este sensor de gás.Sensor | Tipo de Gás | Adquira Agora |
| MQ2 | Gás combustível, fumaça | |
| MQ3 | Vapor de álcool | |
| MQ5 | LPG, gás natural, gás de cidade | |
| MQ9 | Monóxido de carbono, gás de carvão, gás liquefeito |
Lançamos o Guia de Seleção de Sensores de Gás da Seeed, ele irá ajudá-lo a escolher o sensor de gás que melhor se adapta às suas necessidades.
Recursos
- Ampla faixa de detecção
- Estável e longa vida útil
- Resposta rápida e alta sensibilidade
Para mais detalhes sobre os módulos Grove, consulte o Sistema Grove
Especificação
| Item | Parâmetro | Mín | Típico | Máx | Unidade |
|---|---|---|---|---|---|
| VCC | Tensão de operação | 4.9 | 5 | 5.1 | V |
| PH | Consumo de aquecimento | 0.5 | - | 340 | mW |
| RL | Resistência de carga | ajustável | |||
| RH | Resistência do aquecedor | - | 33Ω±5% | - | Ω |
| Rs | Resistência de detecção | 2 | - | 20000 | Ω |
| Escopo CO/CH4/LPG | Concentração de detecção | 200 | - | 1000/10000/10000 | ppm |
Ideias de Aplicação
- Detecção de vazamento de gás.
- Brinquedos.
Visão Geral de Hardware
Este é um sensor de saída analógica. Ele precisa ser conectado a qualquer soquete analógico no Grove Base Shield. Os exemplos usados neste tutorial fazem uso do pino analógico A0. Conecte este módulo à porta A0 do Base Shield.
É possível conectar o módulo Grove diretamente ao Arduino usando jumpers, utilizando a conexão mostrada na tabela abaixo:
| Arduino | Sensor de Gás |
|---|---|
| 5V | VCC |
| GND | GND |
| NC | NC |
| Analog A0 | SIG |
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 variando o potenciômetro. Observe que o melhor tempo de pré-aquecimento para o sensor é acima de 24 horas. Para informações detalhadas sobre o sensor MQ-9, consulte o datasheet fornecido na seção Recursos.
Plataformas Suportadas
| Arduino | Raspberry Pi |
|---|---|
|
|
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 plataformas de MCU possíveis. Portanto, os usuários precisam escrever sua própria biblioteca de software.
Primeiros Passos
Brincar com Arduino
| Seeeduino V4.2 | Base Shield | Grove - Sensor de Gás (MQ9) |
|---|---|---|
|
|
|
| Adquira Agora | Adquira Agora | Adquira Agora |

Conecte o Grove - Sensor de Gás (MQ9) à porta A0 como mostrado na imagem acima.
Detecção de Gás : Exemplo Básico
Neste exemplo, o sensor é conectado ao pino A0. A tensão lida do sensor é exibida. Este valor pode ser usado como um 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
Este exemplo demonstra uma forma de saber a concentração aproximada de gás. De acordo com o datasheet dos sensores MQ9, 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. Faça o upload do programa abaixo.
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 LPG
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.9; // The ratio of RS/R0 is 9.9 in LPG gas from Graph (Found using WebPlotDigitizer)
Serial.print("sensor_volt = ");
Serial.print(sensor_volt);
Serial.println("V");
Serial.print("R0 = ");
Serial.println(R0);
delay(1000);
}
- Então, abra o monitor serial da IDE Arduino. Anote o valor de R0, pois ele precisa 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 a figura, podemos ver que a concentração mínima que podemos testar é 200ppm e a máxima é 10000ppm, em outras palavras, podemos obter uma concentração de gás entre 0,02% 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 para RasPi | Grove - Gas Sensor(MQ9) |
|---|---|---|
|
|
|
| Adquira agora | Adquira agora | Adquira agora |
- Passo 2. Conecte o Grove Base Hat ao Raspberry.
- Passo 3. Conecte o Grove - Gas Sensor(MQ9) à 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(MQ9) 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_mq9.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 GroveGasSensorMQ9:
def __init__(self, channel):
self.channel = channel
self.adc = ADC()
@property
def MQ9(self):
value = self.adc.read(self.channel)
return value
Grove = GroveGasSensorMQ9
def main():
if len(sys.argv) < 2:
print('Usage: {} adc_channel'.format(sys.argv[0]))
sys.exit(1)
sensor = GroveGasSensorMQ9(int(sys.argv[1]))
print('Detecting...')
while True:
print('Gas value: {0}'.format(sensor.MQ9))
time.sleep(.3)
if __name__ == '__main__':
main()
- Passo 4. Execute os comandos abaixo para rodar o código.
python grove_gas_sensor_mq9.py 0
Se tudo correr bem, você poderá ver o seguinte resultado
pi@raspberrypi:~/grove.py/grove $ python grove_gas_sensor_mq9.py 0
Detecting...
Gas value: 345
Gas value: 348
Gas value: 351
Gas value: 354
Gas value: 357
Gas value: 360
Gas value: 363
Gas value: 365
Gas value: 368
Gas value: 370
^CTraceback (most recent call last):
File "grove_gas_sensor_mq9.py", line 69, in <module>
main()
File "grove_gas_sensor_mq9.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 serigrafado é algo como A0, A1, contudo no comando usamos os parâmetros 0 e 1, exatamente como na porta digital. Portanto, certifique-se de conectar o módulo à porta correta, caso contrário pode haver conflitos de pinos.
Recursos
Leitura Sugerida / Referências
- Como escolher um Sensor de Gás
- O que é LEL
Esquemático
Datasheet
Suporte Técnico & Discussão sobre o Produto
Atualizável para Sensores Industriais
Com o controlador S2110 e o registrador de dados S2100 da SenseCAP, 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.
A carcaça IP66, a configuração via Bluetooth, a compatibilidade com a rede global LoRaWAN®, a bateria integrada de 19 Ah e o forte suporte do APP fazem do SenseCAP S210x a melhor escolha para aplicações industriais. A série inclui sensores de umidade do solo, temperatura e umidade do ar, intensidade de luz, CO2, EC e uma estação meteorológica 8 em 1. Experimente o mais recente SenseCAP S210x em seu próximo projeto industrial de sucesso.








