【雕爷学编程】Arduino动手做(79)---MQ135空气检测模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验七十九:MQ135空气质量检测传感器模块(有害物体 氨气 硫化物检测)

MQ135
气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换为与该气体浓度相对应的输出信号。MQ135气体传感器对氨气、硫化物、苯系蒸汽的灵敏度高,对烟雾和其它有害气体的监测也很理想。这种传感器可检测多种有害气体,是一款适合多种应用的低成本传感器。

探头型号        MQ135
产品类型        半导体气敏元件
标准封装        胶木(黑胶木)
检测气体        氨气、硫化物、苯系蒸汽
检测浓度        10-1000ppm(氨气、甲苯、氢气)
标准电路条件       
回路电压                 Vc        ≤24V  DC
加热电压                 VH        5.0V±0.2V ACorDC
负载电阻                 RL        可调
标准测试条件下气敏元件特性       
加热电阻                 RH        31Ω±3Ω(室温)
加热功耗                 PH        ≤900mW
敏感体表面电阻   Rs        2KΩ-20KΩ(in 100ppm NH3)
灵敏度                  S        Rs(in air)/Rs(100ppmNH3)≥5
浓度斜率                  α        ≤0.6(R100ppm/R50ppm NH3)
标准测试条件       
温度、湿度                20℃±2℃;65%±5%RH
标准测试电路        Vc:5.0V±0.1V;VH: 5.0V±0.1V
预热时间                        不少于48小时

MQ135空气质量检测传感器模块

特点                                                                          

*在较宽的浓度范围内对有害气体有良好的灵敏度                                

*对氨气、硫化物、苯系等气氛灵敏度较高                          

*长寿命、低成本                              

*简单的驱动电路即可

 

应用                

*家庭用空气污染报警器

*工业用空气污染报警器

*便携式空气污染检测器

一、尺寸:32mm X22mm X30mm 长*宽*高
二、主要芯片:LM393、MQ135 气体感应探头
三、工作电压:直流 5V
四、模块特色
1、具有信号输出指示灯指示;
2、双路信号输出(模拟量输出及 TTL 电平输出);
3、TTL 输出有效信号为低电平;(输出低电平时信号灯亮,可接单片
机 IO 口)
4、模拟量输出随浓度增加而增加,浓度越高电压越高;
5、对硫化物、苯系蒸汽、烟雾等有害气体具有很高的灵敏度;
6、具有长期的使用寿命和可靠的稳定性;
7、快速的响应恢复特性;
8、带安装孔,方便固定安装;
9、探头可以插拔设计,方便试验。

模块使用注意事项——必须避免的情况
1.1 暴露于有机硅蒸气中
如果传感器的表面吸附了有机硅蒸气,传感器的敏感材料会被包裹住,抑制传感器的敏感性,并且不可恢复。传感器要避免暴露其在硅粘接剂、发胶、硅橡胶、腻子或其它含硅塑料添加剂可能存在的地方。
1.2 高腐蚀性的环境
传感器暴露在高浓度的腐蚀性气体(如 H2S,SOX,Cl2,HCl 等)中,不仅会引起加热材料及传感器引线的腐蚀或破坏,并会引起敏感材料性能发生不可逆的改变。
1.3 碱、碱金属盐、卤素的污染传感器被碱金属尤其是盐水喷雾污染后,及暴露在卤素如氟中也会引起性能劣变。
1.4 接触到水
溅上水或浸到水中会造成敏感特性下降。
1.5 结冰
水在敏感元件表面结冰会导致敏感材料碎裂而丧失敏感特性。
1.6 施加电压过高
如果给敏感元件或加热器施加的电压高于规定值,即使传感器没有受到物理损坏或破坏,也会造成引线和/或加热器损坏,并引起传感器敏感特性下降。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/*
 
 【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 
 实验七十九: MQ135空气质量检测传感器模块(有害物体 氨气 硫化物检测)
 
 程序之一
 
 VCC 5V
 
 GND GND
 
 AO  A0
 
 DO  D3
 
 */
 
  
 
 const int gasSensor =0;
 
 void setup(){
 
  Serial.begin(9600);   
 
 }
 
 void loop(){
 
  float voltage;
 
  voltage = getVoltage(gasSensor);
 
   
 
  Serial.println(voltage);
 
  delay(1000);
 
 }
 
  
 
 float getVoltage(int pin){
 
  return (analogRead(pin) * 0.004882814);
 
 //此公式将AnalogLead()的0值转换为1023值
 
 //返回0.0到5.0的值,即真正的电压
 
 //读取A0数值 
 
 }

  实验串口返回情况

打火机丁烷测试,还是非常灵敏的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
 
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
 
 实验七十九: MQ135空气质量检测传感器模块(有害物体 氨气 硫化物检测)
 
 程序之二,使用MQ135库
 
 VCC 5V
 
 GND GND
 
 AO  A0
 
 DO  D3
 
 */
 
  
 
 #include "MQ135.h"
 
 const int ANALOGPIN=0;
 
 MQ135 gasSensor = MQ135(ANALOGPIN);
 
  
 
 void setup()
 
 {
 
  Serial.begin(9600);   
 
 }
 
  
 
 void loop()
 
 {
 
  float ppm = gasSensor.getPPM();
 
  Serial.println(ppm);
 
  delay(1000);
 
 }

  

实验表明
1、使用优化的"MQ135"库非常有必要,检测性能大幅度提高;
2、MQ-135 可以检测上述提及的气体,但它并不能区别这些气体。如果你想检测某种具体的气体在空气中的含量,那你可能需要寻找其他更好的传感器了~
3、MQ-135使用一个加热模块来预热传感器,工作电流180毫安左右,因此建议使用容量大一点的电源才不会很快就耗尽电量。

实验开源图形编程(Mind+、编玩边学)

实验场景图

 

posted @   行者花雕  阅读(1746)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示