Multichannel gas sensor with Base Shield


#1

Hi everyone!
I am using Arduino Uno R3, BaseShield v2.1 and Grove Multichannel Gas Sensor. I have more than 5 multichannel gas sensor. The sensors were working ok, but suddenly any of then worked. The sensor is plugged in I2C
I am using the following code: https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor

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

I tried everything, but nothing is working. I am getting this everytime. Whats going on?Another sensor are not recognized by Grove Base Shield

The concentration of NH3 is 0.00 ppm
The concentration of CO is 0.00 ppm
The concentration of NO2 is inf ppm
The concentration of C3H8 is 0.00 ppm
The concentration of C4H10 is 0.00 ppm
The concentration of CH4 is 0.00 ppm
The concentration of H2 is 0.00 ppm
The concentration of C2H5OH is 0.00 ppm

Thanks


#2

I forget to add that I tried different Multichannel sensor, different Arduino Uno and different Base Shield, and it is not working. Is is working perfectly with other sensor, for example HCHO, Barometer…


#3

@aitor,
It might just be that the sensor that you have is not working with. Can you reach out to where you got the sensor from and see if you can get it replaced. Also, this sensor does not work with the GrovePi.