Pular para o conteúdo principal

Grove - Sensor de Gás (MQ5)

pir

O módulo Grove - Sensor de Gás (MQ5) é útil para detecção de vazamento de gás (em casa e na indústria). Ele é adequado para detectar H2, LPG, CH4, CO, Álcool. Devido à sua alta sensibilidade e rápido tempo de resposta, 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

MQ2Gás combustível, Fumaça
MQ3Vapor de álcool
MQ5GLP, Gás Natural, Gás de Cidade
MQ9Monóxido de Carbono, Gás de Coque, Gás Liquefeito
dica

Lançamos o Guia de Seleção de Sensores de Gás da Seeed, ele ajudará você a escolher o sensor de gás que melhor atende às suas necessidades.

Recursos

  • Ampla faixa de detecção
  • Estável e longa vida útil
  • Resposta rápida e alta sensibilidade

Especificação

ItemParâmetroMinTípicoMáxUnidade
VCCTensão de trabalho4.955.1V
PHConsumo de aquecimento0.5-800mW
RLResistência de cargaajustável
RHResistência do aquecedor-31±10%-Ω
RsResistência de detecção10-60
ScopeConcentração de detecção200-10000ppm

Aplicações

  • 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 ao Arduino diretamente usando jumpers, utilizando a conexão mostrada na tabela abaixo:

ArduinoSensor de Gás
5VVCC
GNDGND
NCNC
Analog A0SIG

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-5, consulte o datasheet fornecido na seção Resources.

Plataformas Suportadas

ArduinoRaspberry Pi

pir

pir

cuidado

As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade de software ou teórica 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.

##Getting Started

Brincar com Arduino

Materiais necessários

Seeeduino V4.2Base ShieldGrove - Sensor de Gás (MQ5)

pir

pir

pir

Adquira AgoraAdquira AgoraAdquira Agora

pir

Conecte o Grove - Sensor de Gás (MQ5) à 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. Esse valor pode ser usado como um limite para detectar qualquer aumento/diminuição na concentração de gás.

Note

Você precisa de uma ferramenta extra para encontrar um determinado limite para várias condições do ar. E então definir o limite no código.

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 conhecer a concentração aproximada de gás. De acordo com o datasheet dos sensores MQ5, essas equações são testadas para condições padrão e não são calibradas. Elas podem variar com alterações de temperatura ou umidade.

  1. 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 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/6.5; // The ratio of RS/R0 is 6.5 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);
}
  1. Em seguida, abra o monitor serial da Arduino IDE. Anote o valor de R0 e este precisa ser usado no próximo programa. Por favor, anote o R0 depois que a leitura se 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.

pir

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.

Brinque com Raspberry Pi (Com Grove Base Hat para Raspberry Pi)

Hardware

  • Passo 1. Itens usados neste projeto:
Raspberry piGrove Base Hat para RasPiGrove - Gas Sensor(MQ5)

pir

pir

pir

Adquira agoraAdquira agoraAdquira agora
  • Passo 2. Conecte o Grove Base Hat ao Raspberry.
  • Passo 3. Conecte o Grove - Gas Sensor(MQ5) à porta A0 do Base Hat.
  • Passo 4. Conecte o Raspberry Pi ao PC por meio de um cabo USB.

pir

nota

No passo 3 você pode conectar o Grove - Gas Sensor(MQ5) a qualquer Porta Analógica, mas certifique-se de alterar o comando com o número da 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_mq5.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 GroveGasSensorMQ5:

def __init__(self, channel):
self.channel = channel
self.adc = ADC()

@property
def MQ5(self):
value = self.adc.read(self.channel)
return value

Grove = GroveGasSensorMQ5


def main():
if len(sys.argv) < 2:
print('Usage: {} adc_channel'.format(sys.argv[0]))
sys.exit(1)

sensor = GroveGasSensorMQ5(int(sys.argv[1]))

print('Detecting...')
while True:
print('Gas value: {0}'.format(sensor.MQ5))
time.sleep(.3)

if __name__ == '__main__':
main()

  • Passo 4. Execute os comandos abaixo para rodar o código.

python grove_gas_sensor_mq5.py 0

success

Se tudo correr bem, você poderá ver o seguinte resultado


pi@raspberrypi:~/grove.py/grove $ python grove_gas_sensor_mq5.py 0
Detecting...
Gas value: 28
Gas value: 28
Gas value: 27
Gas value: 26
Gas value: 26
^CTraceback (most recent call last):
File "grove_gas_sensor_mq5.py", line 69, in <module>
main()
File "grove_gas_sensor_mq5.py", line 66, in main
time.sleep(.3)
KeyboardInterrupt

Você pode sair deste programa simplesmente pressionando ++ctrl+c++.

nota

Você pode ter notado que, para a porta analógica, o número do pino na serigrafia é algo como A0, A1, porém 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.

Recursos

Leitura Sugerida / Referências

Esquemático

Datasheet

Suporte Técnico & Discussão de Produto

Atualizável para Sensores Industriais

Com o S2110 controller e o S2100 data logger da SenseCAP, você pode facilmente transformar o Grove em um sensor LoRaWAN®. A Seeed não só ajuda você na prototipagem, como 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 forte 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 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.

Loading Comments...