Skip to main content

Grove - Sensor de Gas(MQ9)

pir

El módulo Grove - Sensor de Gas(MQ9) es útil para la detección de fugas de gas (en el hogar y la industria). Es adecuado para detectar GLP, CO, CH4. Debido a su alta sensibilidad y tiempo de respuesta rápido, las mediciones se pueden tomar tan pronto como sea posible. La sensibilidad del sensor se puede ajustar usando el potenciómetro.

Nota

El valor del sensor solo refleja la tendencia aproximada de la concentración de gas en un rango de error permisible, NO representa la concentración exacta de gas. La detección de ciertos componentes en el aire generalmente requiere un instrumento más preciso y costoso, lo cual no se puede hacer con un solo sensor de gas. Si tu proyecto está dirigido a obtener la concentración de gas a un nivel muy preciso, entonces no recomendamos este sensor de gas.

Sensor

Tipo de Gas

Consigue Uno Ahora

MQ2Gas Combustible, Humo
MQ3Vapor de Alcohol
MQ5GLP, Gas Natural, Gas de Ciudad
MQ9Monóxido de Carbono, Gas de Carbón, Gas Licuado
tip

Hemos lanzado la Guía de Selección de Sensores de Gas de Seeed, te ayudará a elegir el sensor de gas que mejor se adapte a tus necesidades.

Características

  • Amplio alcance de detección
  • Estable y larga vida útil
  • Respuesta rápida y alta sensibilidad
tip

Más detalles sobre los módulos Grove consulta Sistema Grove

Especificaciones

ElementoParámetroMínTípicoMáxUnidad
VCCVoltaje de Trabajo4.955.1V
PHConsumo de Calentamiento0.5-340mW
RLResistencia de Cargaajustable
RHResistencia del Calentador-33Ω±5%-Ω
RsResistencia de Sensado2-20000Ω
CO/CH4/LPG AlcanceConcentración de Detección200-1000/10000/10000ppm

Ideas de Aplicación

  • Detección de fugas de gas.
  • Juguetes.

Descripción General del Hardware

Este es un sensor de salida analógica. Necesita conectarse a cualquier socket analógico en Grove Base Shield. Los ejemplos utilizados en este tutorial hacen uso del pin analógico A0. Conecta este módulo al puerto A0 del Base Shield.

Es posible conectar el módulo Grove directamente a Arduino usando cables jumper mediante la conexión mostrada en la tabla a continuación:

ArduinoSensor de Gas
5VVCC
GNDGND
NCNC
Analog A0SIG

El voltaje de salida del sensor de gas aumenta cuando la concentración de gas aumenta. La sensibilidad se puede ajustar variando el potenciómetro. Tenga en cuenta que el mejor tiempo de precalentamiento para el sensor es superior a 24 horas. Para información detallada sobre el sensor MQ-9, consulte la hoja de datos proporcionada en la sección Recursos.

Plataformas Compatibles

ArduinoRaspberry Pi

pir

pir

caution

Las plataformas mencionadas anteriormente como compatibles son una indicación de la compatibilidad de software o teórica del módulo. Solo proporcionamos biblioteca de software o ejemplos de código para la plataforma Arduino en la mayoría de los casos. No es posible proporcionar biblioteca de software / código de demostración para todas las plataformas MCU posibles. Por lo tanto, los usuarios tienen que escribir su propia biblioteca de software.

Primeros Pasos

Jugar Con Arduino

Seeeduino V4.2Base ShieldGrove - Sensor de Gas(MQ9)

pir

pir

pir

Obtener Uno AhoraObtener Uno AhoraObtener Uno Ahora

pir

Conecta el Grove - Gas Sensor(MQ9) al puerto A0 como se muestra en la imagen anterior.

Detección de Gas : Ejemplo Básico

En este ejemplo, el sensor está conectado al pin A0. Se muestra el voltaje leído del sensor. Este valor puede usarse como umbral para detectar cualquier aumento/disminución en la concentración de gas.

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);
}

Medición : Aproximación

Este ejemplo demuestra una forma de conocer la concentración aproximada de Gas. Según la hoja de datos de los sensores MQ9, estas ecuaciones están probadas para condiciones estándar y no están calibradas. Puede variar según los cambios de temperatura o humedad.

  1. Mantén el Sensor de Gas en un ambiente de aire limpio. Sube el programa a continuación.
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);

}
  1. Luego, abre el monitor serie del IDE de Arduino. Anota el valor de R0 y esto necesita ser usado en el siguiente programa. Por favor anota el R0 después de que la lectura se estabilice.

Reemplaza el R0 de abajo con el valor de R0 probado arriba . Expón el sensor a cualquiera de los gases listados arriba.

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);

}

Ahora, podemos obtener la concentración de gas de la figura a continuación.

pir

Según la figura, podemos ver que la concentración mínima que podemos probar es 200ppm y la máxima es 10000ppm, en otras palabras, podemos obtener una concentración de gas entre 0.02% y 1%. Sin embargo, no podemos proporcionar una fórmula porque la relación entre la proporción y la concentración es no lineal.

Jugar con Raspberry Pi (Con Grove Base Hat para Raspberry Pi)

Hardware

  • Paso 1. Elementos utilizados en este proyecto:
Raspberry piGrove Base Hat para RasPiGrove - Sensor de Gas(MQ9)

pir

pir

pir

Obtener UNO AhoraObtener UNO AhoraObtener UNO Ahora
  • Paso 2. Conecta el Grove Base Hat al Raspberry.
  • Paso 3. Conecta el Grove - Gas Sensor(MQ9) al puerto A0 del Base Hat.
  • Paso 4. Conecta el Raspberry Pi a la PC a través del cable USB.

pir

note

Para el paso 3 puedes conectar el Grove - Gas Sensor(MQ9) a cualquier Puerto Analógico pero asegúrate de cambiar el comando con el número de puerto correspondiente.

Software

  • Paso 1. Sigue Setting Software para configurar el entorno de desarrollo.
  • Paso 2. Descarga el archivo fuente clonando la librería grove.py.
cd ~
git clone https://github.com/Seeed-Studio/grove.py

  • Paso 3. Ejecuta los siguientes comandos para escribir el código.
cd grove.py/grove
nano grove_gas_sensor_mq9.py

Luego debes copiar el siguiente código en este archivo y presionar ++ctrl+x++ para salir y guardar.


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()

  • Paso 4. Ejecuta los siguientes comandos para ejecutar el código.

python grove_gas_sensor_mq9.py 0

success

Si todo va bien, podrás ver el siguiente 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


Puedes salir de este programa simplemente presionando ++ctrl+c++.

note

Puede que hayas notado que para el puerto analógico, el número de pin en la serigrafía es algo como A0, A1, sin embargo en el comando usamos el parámetro 0 y 1, igual que el puerto digital. Así que por favor asegúrate de conectar el módulo en el puerto correcto, de lo contrario puede haber conflictos de pines.

Recursos

Lectura Sugerida / Referencias

Esquemático

Hoja de Datos

Soporte Técnico y Discusión de Productos

Actualizable a Sensores Industriales

Con el controlador S2110 y el registrador de datos S2100 de SenseCAP, puedes convertir fácilmente el Grove en un sensor LoRaWAN®. Seeed no solo te ayuda con el prototipado sino que también te ofrece la posibilidad de expandir tu proyecto con la serie SenseCAP de sensores industriales robustos.

La carcasa IP66, configuración Bluetooth, compatibilidad con la red global LoRaWAN®, batería integrada de 19 Ah, y el potente soporte de la APP hacen del SenseCAP S210x la mejor opción para aplicaciones industriales. La serie incluye sensores para humedad del suelo, temperatura y humedad del aire, intensidad de luz, CO2, EC, y una estación meteorológica 8 en 1. Prueba el último SenseCAP S210x para tu próximo proyecto industrial exitoso.

Loading Comments...