edit

# Grove - Gas Sensor(O₂)

Grove - Oxygen Sensor(ME2-O2-Ф20) is a kind of sensor to test the oxygen concentration in air, which is based on the principle of the electrochemical cell to the original work. You can know clearly the current oxygen concentration when you output voltage values proportional to the concentration of oxygen and refer to the oxygen concentration linear characteristic graph. It's very suitable for detecting oxygen concentration in the environment protection. Grove - Gas Sensor(O2) is an organic reaction module, it can provide a little current while putting it in the air, we don't need to provide an external power to it, and output voltage will change as time current changes.

Tip

We've released the Seeed Gas Sensor Selection Guide, it will help you choose the gas sensor that best suits your needs.

## Feature¶

• High-precision
• High sensitivity
• Wide linearity range
• Strong anti-interference ability
• Extraordinary reliability

Tip

## Specification¶

Items Parameter
Measurement Range 0-25%
Detect Life two years
Sensitivity 0.05~0.15 mA(in air)
Temperature Range -20 oC~50 oC
Preheat Time 20 minutes
Input voltage 3.3V / 5V

## Hardware¶

Voltage Convertor

The XC6206332MR converts 3.3v/5v input to 3.3v.

ME2-O2 current source

The ME2-O2 is current source. The voltage of the label #3 point is R7 * Current(ME2-O2).

Amplifer

The gain of the amplifer is 121, SIGA voltage is 121 times of label #3 point voltage.

Here is the correlation between ME2-O2 output current and concentration of O2. The current of 20% concentration O2 is around 120uA. So the Grove SIGA voltage @ 20% concentration = R7 * Current(ME2-O2) * 121 = 100 * 120uA * 121 = 1.452V.

Warning

The current ranage of ME2-O2 is 80uA~160uA due to individual difference. So the sensor ouput voltage also will different. Please explosure the sensor to fresh air and get reading of output voltage as reference at beginning. You can refer to this example to get the calibration at beginning and then read the sensor values.

## Platforms Supported¶

Arduino Raspberry Pi

Caution

The platforms mentioned above as supported is/are an indication of the module's software or theoritical compatibility. We only provide software library or code examples for Arduino platform in most cases. It is not possible to provide software library / demo code for all possible MCU platforms. Hence, users have to write their own software library.

## Getting Started¶

Note

This chapter is based on Win10 and Arduino IDE 1.6.9

This an easy-to-use module, what you need to do is connect the signal pin (the YELLOW pin of Grove cable) to the ADC input of your controller. If there's no internal ADC in your controller, Grove - I2C ADC is recommend.

Here we will show you how this Grove - Gas Sensor(O2) works via a simple demo. First of all, you need to prepare the below stuffs:

Seeeduino V4 Grove - Oxygen Sensor(ME2-O2-Ф20) Base Shield
Get ONE Now Get ONE Now Get ONE Now

### Connection¶

Thanks to the benefit of Grove series modules, you don't need to make soldering or bread board, what you need to do is connect the modules to the right port of Base Shield. For this demo, we have only one Grove module.

• Grove - Oxygen Sensor(ME2-O2-Ф20) is an analog input module, we connect it to A0 at this demo

### Upload the code to Arduino¶

Copy the below code to Arduino IDE.

// Grove - Gas Sensor(O2) test code
// Note:
// 1. It need about about 5-10 minutes to preheat the sensor
// 2. modify VRefer if needed

const float VRefer = 3.3;       // voltage of adc reference

void setup()
{
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Grove - Gas Sensor Test Code...");
}

void loop()
{
// put your main code here, to run repeatedly:
float Vout =0;
Serial.print("Vout =");

Serial.print(Vout);
Serial.print(" V, Concentration of O2 is ");
delay(500);
}

{
long sum = 0;
for(int i=0; i<32; i++)
{
}

sum >>= 5;

float MeasuredVout = sum * (VRefer / 1023.0);
return MeasuredVout;
}

{
// Vout samples are with reference to 3.3V

//float Concentration = FmultiMap(MeasuredVout, VoutArray,O2ConArray, 6);
//when its output voltage is 2.0V,
float Concentration = MeasuredVout * 0.21 / 2.0;
float Concentration_Percentage=Concentration*100;
return Concentration_Percentage;
}


Then choose the right Board and COM port, and then click on the Upload button, this process take few seconds.

### Get data¶

Open serial monitor of your Arduino IDE, and you will get the data now.

Warning

It need about 20~30 minutes to preheat the sensor, or you will get a larger value.

## Projects¶

LoRa IoTea: An automatic information collection system applied to tea plantation. It is part of intelligent agricultural information collection.

A Plant Box with Lighting and Raining You never seen such a way to water you plant.

## Tech Support¶

Please submit any technical issue into our forum.