Grove - 气体传感器(O₂)
Grove - 氧气传感器(ME2-O2-Ф20)是一种用于测试空气中氧气浓度的传感器,基于电化学电池的原理进行工作。当您输出与氧气浓度成正比的电压值并参考氧气浓度线性特性图时,您可以清楚地了解当前的氧气浓度。它非常适合在环境保护中检测氧气浓度。Grove - 气体传感器(O2)是一个有机反应模块,当将其置于空气中时可以提供少量电流,我们不需要为其提供外部电源,输出电压会随着时间电流的变化而变化。
我们已经发布了Seeed气体传感器选择指南,它将帮助您选择最适合您需求的气体传感器。
##特性
- 高精度
- 高灵敏度
- 宽线性范围
- 强抗干扰能力
- 卓越的可靠性
有关Grove模块的更多详细信息,请参考Grove系统
##规格
项目 | 参数 |
---|---|
测量范围 | 0-25% |
检测寿命 | 两年 |
灵敏度 | 0.05~0.15 mA(在空气中) |
温度范围 | -20 oC~50 oC |
预热时间 | 20分钟 |
输入电压 | 3.3V / 5V |
硬件
电压转换器
XC6206332MR将3.3v/5v输入转换为3.3v。
ME2-O2电流源
ME2-O2是电流源。标签#3点的电压是R7 * 电流(ME2-O2)。
放大器
放大器的增益是121,SIGA电压是标签#3点电压的121倍。
这里是ME2-O2输出电流与O2浓度之间的相关性。20%浓度O2的电流约为120uA。因此Grove SIGA电压 @ 20%浓度 = R7 * 电流(ME2-O2) * 121 = 100 * 120uA * 121 = 1.452V。
由于个体差异,ME2-O2的电流范围是80uA~160uA。因此传感器输出电压也会有所不同。请在开始时将传感器暴露在新鲜空气中并获取输出电压的读数作为参考。您可以参考此示例在开始时进行校准,然后读取传感器值。
支持的平台
Arduino | Raspberry Pi |
---|---|
上面提到的支持平台表示该模块的软件或理论兼容性。在大多数情况下,我们只为Arduino平台提供软件库或代码示例。不可能为所有可能的MCU平台提供软件库/演示代码。因此,用户必须编写自己的软件库。
##入门指南
本章基于Win10和Arduino IDE 1.6.9
这是一个易于使用的模块,您需要做的就是将信号引脚(Grove线缆的黄色引脚)连接到控制器的ADC输入。如果您的控制器中没有内部ADC,建议使用Grove - I2C ADC。
在这里,我们将通过一个简单的演示向您展示这个Grove - 气体传感器(O2)是如何工作的。首先,您需要准备以下物品:
Seeeduino V4 | Grove - 氧气传感器(ME2-O2-Ф20) | Base Shield |
---|---|---|
立即购买 | 立即购买 | 立即购买 |
###连接
得益于Grove系列模块的优势,您不需要进行焊接或使用面包板,您需要做的就是将模块连接到Base Shield的正确端口。对于这个演示,我们只有一个Grove模块。
- Grove - 氧气传感器(ME2-O2-Ф20)是一个模拟输入模块,在这个演示中我们将它连接到A0
###将代码上传到Arduino
将以下代码复制到Arduino IDE中。
// Grove - 气体传感器(O2)测试代码
// 注意:
// 1. 传感器需要大约5-10分钟的预热时间
// 2. 如果需要,请修改VRefer
const float VRefer = 3.3; // adc参考电压
const int pinAdc = A0;
void setup()
{
// 在这里放置您的设置代码,只运行一次:
Serial.begin(9600);
Serial.println("Grove - 气体传感器测试代码...");
}
void loop()
{
// 在这里放置您的主要代码,重复运行:
float Vout =0;
Serial.print("Vout =");
Vout = readO2Vout();
Serial.print(Vout);
Serial.print(" V, O2浓度为 ");
Serial.println(readConcentration());
delay(500);
}
float readO2Vout()
{
long sum = 0;
for(int i=0; i<32; i++)
{
sum += analogRead(pinAdc);
}
sum >>= 5;
float MeasuredVout = sum * (VRefer / 1023.0);
return MeasuredVout;
}
float readConcentration()
{
// Vout采样参考3.3V
float MeasuredVout = readO2Vout();
//float Concentration = FmultiMap(MeasuredVout, VoutArray,O2ConArray, 6);
//当其输出电压为2.0V时,
float Concentration = MeasuredVout * 0.21 / 2.0;
float Concentration_Percentage=Concentration*100;
return Concentration_Percentage;
}
然后选择正确的开发板和COM端口,然后点击上传按钮,这个过程需要几秒钟。
###获取数据
打开Arduino IDE的串口监视器,您现在就可以获取数据了。
传感器需要大约20~30分钟的预热时间,否则您会得到一个较大的值。
原理图在线查看器
资源
项目
LoRa IoTea:应用于茶园的自动信息收集系统。它是智能农业信息收集的一部分。
带照明和降雨功能的植物盒 您从未见过这样的植物浇水方式。
技术支持与产品讨论
可升级为工业传感器
通过 SenseCAP S2110 控制器和 S2100 数据记录器,您可以轻松将 Grove 传感器转换为 LoRaWAN® 传感器。Seeed 不仅帮助您进行原型设计,还为您提供了通过 SenseCAP 系列坚固的工业传感器扩展项目的可能性。
IP66 外壳、蓝牙配置、与全球 LoRaWAN® 网络的兼容性、内置 19 Ah 电池以及来自 APP 的强大支持,使 SenseCAP S210x 成为工业应用的最佳选择。该系列包括土壤湿度、空气温湿度、光照强度、CO2、EC 传感器以及 8 合 1 气象站。为您下一个成功的工业项目尝试最新的 SenseCAP S210x。