Skip to main content

Grove - Sensor de Gas Multicanal

Grove – El sensor de gas multicanal es un sensor de detección ambiental con un MiCS-6814 integrado que puede detectar muchos gases nocivos, y tres gases pueden medirse simultáneamente debido a sus múltiples canales, por lo que puede ayudarte a monitorear la concentración de más de un gas.

Este sensor pertenece al sistema Grove, y puedes conectarlo al Base shield y trabajar con Arduino directamente sin cables de puente. La interfaz es I2C, así que conéctalo al puerto I2C del Base shield, luego puedes comenzar a trabajar con él.

Precaución

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.

pir

tip

Hemos actualizado el producto a Multichannel Gas Sensor v2 con documentos más detallados y más módulos de sensores a bordo. Además, hemos lanzado la Seeed Gas Sensor Selection Guide, te ayudará a elegir el sensor de gas que mejor se adapte a tus necesidades.

Antes del uso

Lectura relacionada

Te sugerimos leer estos conocimientos antes de usar el sensor de gas, te ayudará a aprender más sobre Arduino y nuestros productos, y también te permitirá usar hardware de código abierto más fácilmente.

  • Comenzando con Arduino
  • Qué es el sistema Grove
  • ¿Por qué necesito un Base shield?

Después de leer eso sabrás cómo usar el Base shield con productos Grove para trabajar bien con Arduino. ¡Comencemos!

Para estar preparado

Este tutorial incluirá algunos productos necesarios:

  • Arduino UNO R3 o Seeeduino v4
  • Base Shield
  • Grove - Sensor de Gas Multicanal

Descripción general del hardware

pir

Cuatro pines se señalan en la figura anterior

Etiqueta del PinDescripción
GNDConectar a tierra
VCCFuente de alimentación: 3.3V - 5V
SDADatos I2C
SCLReloj I2C

La fuente de alimentación está entre 3.3V y 5V, por lo que este sensor puede ser compatible con un microcontrolador cuyo voltaje de salida sea de 3.3V.

Características

  • Tres elementos de detección completamente independientes en un paquete
  • Construido con ATmega168PA
  • Interfaz I2C con dirección programable
  • La potencia de calentamiento se puede apagar para bajo consumo
  • Gases detectables
    • Monóxido de carbono CO 1 – 1000ppm
    • Dióxido de nitrógeno NO2 0.05 – 10ppm
    • Etanol C2H6OH 10 – 500ppm
    • Hidrógeno H2 1 – 1000ppm
    • Amoníaco NH3 1 – 500ppm
    • Metano CH4 >1000ppm
    • Propano C3H8 >1000ppm
    • Iso-butano C4H10 >1000ppm

Diagrama de Bloques

pir

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.

Características Eléctricas

ElementoCondiciónMín.Típ.Máx.Unidad
Voltaje-3.13.35.25V
Ondulación@Potencia Máx-80100mV
Potencia de Calentamiento---88mW
Potencia Máx---150mW
Precisión ADC--10-Bits
Velocidad I2C--100400kHz
VIL@I2C-0.5-0.99V
VIH@I2C2.31-5.25V

Rendimiento sensor RED

Característica sensor REDSímboloTípMínMáxUnidad
Resistencia de detección en aireR0-1001500
Rango típico de detección de COFS-11000ppm
Factor de sensibilidadSR-1.250-

pir

Rendimiento sensor OX

Característica sensor OXSímboloTípMínMáxUnidad
Resistencia de detección en aireR0-0.820
Rango típico de detección de NO2FS-0.0510ppm
Factor de sensibilidadSR-2--

pir

Rendimiento del sensor NH3

Característica del sensor NH3SímboloTípMínMáxUnidad
Resistencia de detección en el aireR0-101500
Rango típico de detección de NH3FS-1300ppm
Factor de sensibilidadSR-1.515-

pir

Primeros Pasos

warning

El sensor necesita precalentarse al menos 10 minutos antes de obtener datos estables.

Instalación de Hardware:

1.Conecta Grove - Multichannel Gas Sensor a Seeeduino.

pir

Subir Código:

2.Descarga Arduino Library & Grove/Xadow firmware e instálala en Arduino Library.

3.Abre el código directamente por la ruta:File -> Example -> Mutichannel_Gas_Sensor-> ReadSensorValue_Grove.

El código de ReadSensorValue_Grove se proporciona a continuación.

// Read Data from Grove - Multichannel Gas Sensor
#include <Wire.h>
#include "MutichannelGasSensor.h"

void setup()
{
Serial.begin(115200); // start serial for output
Serial.println("power on!");
gas.begin(0x04);//the default I2C address of the slave is 0x04 ; for verison 2 of the multichannel gas sensor the i2c address is 0x08
gas.powerOn();
Serial.print("Firmware Version = ");
Serial.println(gas.getVersion());
}

void loop()
{
float c;

c = gas.measure_NH3();
Serial.print("The concentration of NH3 is ");
if(c>=0) Serial.print(c);
else Serial.print("invalid");
Serial.println(" ppm");

c = gas.measure_CO();
Serial.print("The concentration of CO is ");
if(c>=0) Serial.print(c);
else Serial.print("invalid");
Serial.println(" ppm");

c = gas.measure_NO2();
Serial.print("The concentration of NO2 is ");
if(c>=0) Serial.print(c);
else Serial.print("invalid");
Serial.println(" ppm");

c = gas.measure_C3H8();
Serial.print("The concentration of C3H8 is ");
if(c>=0) Serial.print(c);
else Serial.print("invalid");
Serial.println(" ppm");

c = gas.measure_C4H10();
Serial.print("The concentration of C4H10 is ");
if(c>=0) Serial.print(c);
else Serial.print("invalid");
Serial.println(" ppm");

c = gas.measure_CH4();
Serial.print("The concentration of CH4 is ");
if(c>=0) Serial.print(c);
else Serial.print("invalid");
Serial.println(" ppm");

c = gas.measure_H2();
Serial.print("The concentration of H2 is ");
if(c>=0) Serial.print(c);
else Serial.print("invalid");
Serial.println(" ppm");

c = gas.measure_C2H5OH();
Serial.print("The concentration of C2H5OH is ");
if(c>=0) Serial.print(c);
else Serial.print("invalid");
Serial.println(" ppm");

delay(1000);
}

4.Sube el código. Recuerda seleccionar Seeeduino Uno desde el menú Herramientas | Placa del entorno de Arduino, y selecciona el puerto serie correcto que Arduino está usando.

Al abrir el monitor serie, puedes ver los datos en bruto leídos del sensor.

pir

tip

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

Actualizar Firmware

Este módulo grove tiene un MCU ATmega168 que está flasheado con un firmware de fábrica. La versión ha sido actualizada a V2 el 11 de noviembre de 2016. Sube el código de abajo para detectar la versión de tu sensor.

// Get firmware version of Grove Multichannel Gas Sensor
#include <Wire.h>
#include "MutichannelGasSensor.h"

#define SENSOR_ADDR 0X04 // default to 0x04

void setup()
{
Serial.begin(115200);
gas.begin(SENSOR_ADDR);

unsigned char version = gas.getVersion();
Serial.print("Version = ");
Serial.println(version);
}

void loop()
{
// nothing to do
}

Si la versión de tu sensor es V1, te recomendamos actualizarla a V2 para obtener un mejor rendimiento.

Para actualizar el firmware, necesitas:

  • Un Arduino UNO/Seeeduino V3/
  • 6 cables dupont
  • Soldador

Hay un pad ICSP en la parte posterior de la placa, necesitas conectar esos pads a una placa Arduino.

SensorArduino
MISOD12
SCKD13
NRSTD10
GNDGND
MOSID11
VCC5V

pir

Luego abre el ejemplo UpdateFrimware en tu Arduino, abre el monitor serie y obtendrás información impresa. Ingresa una 'g' para comenzar.

pir

calibración

Si siempre obtienes un valor no auténtico, por favor intenta calibrar el sensor. Abre el ejemplo calibration y súbelo a tu Arduino, abre el monitor serie para obtener información cuando esté calibrando.

note

La calibración se ha realizado antes de que los módulos salgan de fábrica. Si quieres recalibrar, por favor asegúrate de que las condiciones del aire sean frescas. Y la calibración puede necesitar desde minutos hasta media hora.

Visor de Esquemas en Línea

Recursos

FAQ

  • P1. Cómo cambiar la dirección I2C del módulo

    • R1. Abre el ejemplo I2C_Address y ejecútalo.
  • P2. Cambié la dirección I2C y desafortunadamente olvidé cuál es.

    • R2. No te preocupes por eso, ejecuta el ejemplo factory_setting para hacerlo por defecto. Ten en cuenta que los datos de calibración también se restablecerán a configuración de fábrica.
  • P3. ¿Funciona el sensor de gas multicanal con Wio GPS y Wio LTE?

    • *R3. Sí, por favor consulta el código a continuación.

Wio GPS:

#include <Wire.h>
#include "MutichannelGasSensor.h"

#define WIOLTE_GROVE_PIN (12)
#define SENSOR_ADDR 0X04 // default to 0x04

void setup()
{
SerialUSB.begin(115200);
pinMode(WIOLTE_GROVE_PIN, OUTPUT);
digitalWrite(WIOLTE_GROVE_PIN, HIGH);
delay(2000);
gas.begin(SENSOR_ADDR); //
}

void loop()
{
float R0_NH3, R0_CO, R0_NO2;
float Rs_NH3, Rs_CO, Rs_NO2;
float ratio_NH3, ratio_CO, ratio_NO2;

R0_NH3 = gas.getR0(0);
R0_CO = gas.getR0(1);
R0_NO2 = gas.getR0(2);

Rs_NH3 = gas.getRs(0);
Rs_CO = gas.getRs(1);
Rs_NO2 = gas.getRs(2);

ratio_NH3 = Rs_NH3/R0_NH3;
ratio_CO = Rs_CO/R0_CO;
ratio_NO2 = Rs_NH3/R0_NO2;

SerialUSB.println("R0:");
SerialUSB.print(R0_NH3);
SerialUSB.print('\t');
SerialUSB.print(R0_CO);
SerialUSB.print('\t');
SerialUSB.println(R0_NO2);

SerialUSB.println("Rs:");
SerialUSB.print(Rs_NH3);
SerialUSB.print('\t');
SerialUSB.print(Rs_CO);
SerialUSB.print('\t');
SerialUSB.println(Rs_NO2);

SerialUSB.println("ratio:");
SerialUSB.print(ratio_NH3);
SerialUSB.print('\t');
SerialUSB.print(ratio_CO);
SerialUSB.print('\t');
SerialUSB.println(ratio_NO2);

SerialUSB.println("------------------------");
delay(1000);
}

Wio LTE:

#include <Wire.h>
#include "MutichannelGasSensor.h"

#define WIOLTE_GROVE_PIN (26)
#define SENSOR_ADDR 0X04 // default to 0x04

void setup()
{
// SerialUSB.begin(115200);
pinMode(WIOLTE_GROVE_PIN, OUTPUT);
digitalWrite(WIOLTE_GROVE_PIN, HIGH);
delay(2000);
gas.begin(SENSOR_ADDR); //
}

void loop()
{
float R0_NH3, R0_CO, R0_NO2;
float Rs_NH3, Rs_CO, Rs_NO2;
float ratio_NH3, ratio_CO, ratio_NO2;

R0_NH3 = gas.getR0(0);
R0_CO = gas.getR0(1);
R0_NO2 = gas.getR0(2);

Rs_NH3 = gas.getRs(0);
Rs_CO = gas.getRs(1);
Rs_NO2 = gas.getRs(2);

ratio_NH3 = Rs_NH3/R0_NH3;
ratio_CO = Rs_CO/R0_CO;
ratio_NO2 = Rs_NH3/R0_NO2;

SerialUSB.println("R0:");
SerialUSB.print(R0_NH3);
SerialUSB.print('\t');
SerialUSB.print(R0_CO);
SerialUSB.print('\t');
SerialUSB.println(R0_NO2);

SerialUSB.println("Rs:");
SerialUSB.print(Rs_NH3);
SerialUSB.print('\t');
SerialUSB.print(Rs_CO);
SerialUSB.print('\t');
SerialUSB.println(Rs_NO2);

SerialUSB.println("ratio:");
SerialUSB.print(ratio_NH3);
SerialUSB.print('\t');
SerialUSB.print(ratio_CO);
SerialUSB.print('\t');
SerialUSB.println(ratio_NO2);

SerialUSB.println("------------------------");
delay(1000);
}

Proyectos

Smart Crops: ¡Implementando IoT en la Agricultura Convencional!: Nuestra misión con la naturaleza es preservarla, diseñando e implementando tecnologías y métodos de monitoreo con la ayuda de IoT a través de Helium.

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 la creación de prototipos, 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...