Grove - Sensor de Gas(MQ9)
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 |
MQ2 | Gas Combustible, Humo | |
MQ3 | Vapor de Alcohol | |
MQ5 | GLP, Gas Natural, Gas de Ciudad | |
MQ9 | Monóxido de Carbono, Gas de Carbón, Gas Licuado |
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
Más detalles sobre los módulos Grove consulta Sistema Grove
Especificaciones
Elemento | Parámetro | Mín | Típico | Máx | Unidad |
---|---|---|---|---|---|
VCC | Voltaje de Trabajo | 4.9 | 5 | 5.1 | V |
PH | Consumo de Calentamiento | 0.5 | - | 340 | mW |
RL | Resistencia de Carga | ajustable | |||
RH | Resistencia del Calentador | - | 33Ω±5% | - | Ω |
Rs | Resistencia de Sensado | 2 | - | 20000 | Ω |
CO/CH4/LPG Alcance | Concentración de Detección | 200 | - | 1000/10000/10000 | ppm |
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:
Arduino | Sensor de Gas |
---|---|
5V | VCC |
GND | GND |
NC | NC |
Analog A0 | SIG |
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
Arduino | Raspberry Pi |
---|---|
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.2 | Base Shield | Grove - Sensor de Gas(MQ9) |
---|---|---|
Obtener Uno Ahora | Obtener Uno Ahora | Obtener Uno Ahora |
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.
- 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);
}
- 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.
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 pi | Grove Base Hat para RasPi | Grove - Sensor de Gas(MQ9) |
---|---|---|
Obtener UNO Ahora | Obtener UNO Ahora | Obtener 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.
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
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++.
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
- Cómo elegir un Sensor de Gas
- Qué es LEL
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.