MQ135主要用于检测空气中的二氧化碳、酒精、苯、氮氧化物、氨等气体的浓度。
本文将介绍MQ135的两种使用方法
- 不使用库文件
- 使用别人写好的库文件
1.不使用库文件
准备材料
- Arduino Uno *1
- MQ-135 传感器 *1
- 跳线 *3
- 面包板 *1
接线
MQ135 | Arduino | |
---|---|---|
VCC | -> | 5V |
AOUT | -> | A0 |
GND | -> | GND |
示例程序
const int gasSensor =0;
void setup(){
Serial.begin(9600); // sets the serial port to 9600
}
void loop(){
float voltage;
voltage = getVoltage(gasSensor);
Serial.println(voltage);
delay(1000);
}
float getVoltage(int pin){
return (analogRead(pin) * 0.004882814);
// This equation converts the 0 to 1023 value that analogRead()
// returns, into a 0.0 to 5.0 value that is the true voltage
// being read at that pin.
}
2.使用<MQ135.h>库
所需材料
与接线
都与不使用库文件一样。唯一的区别就是需要下载MQ135的库。
加载库文件
到https://codeload.github.com/GeorgK/MQ135/zip/master下载MQ135的库文件,在Arduino IDE中,点击项目
->加载库
->添加一个.zip库
,选择下载好的MQ135库文件即可。
初始化设置
开始使用它之前,你需要将它通电,预热12-24个小时,之后,在20°C/35%空气温度的环境中执行下列程序,读取RZERO
的值。
#include "MQ135.h"
const int ANALOGPIN=0;
MQ135 gasSensor = MQ135(ANALOGPIN);
void setup(){
Serial.begin(9600); // sets the serial port to 9600
}
void loop(){
float rzero = gasSensor.getRZero();
Serial.println(rzero);
delay(1000);
}
将读到的值写入库文件中的MQ135.h
文件中。
那么问题来了:如何找到MQ135.h
文件?
- 可以在Arduino IDE中选择
文件
->首选项
,在弹出的窗口中可以看到项目文件夹位置
,eg:d:\Users\weiwe\Documents\Arduino
,然后你找到这个文件夹里面的libraries
->MQ135-master
->MQ135.h
文件,打开便可以将RZERO
的值填进去。
#define RZERO 76.63
开始检测空气质量
#include "MQ135.h"
const int ANALOGPIN=0;
MQ135 gasSensor = MQ135(ANALOGPIN);
void setup(){
Serial.begin(9600); // sets the serial port to 9600
}
void loop(){
float ppm = gasSensor.getPPM();
Serial.println(ppm);
delay(1000);
}
参考文献
1.http://www.hackerscapes.com/2014/11/using-an-air-quality-sensor/
2.https://hackaday.io/project/3475-sniffing-trinket/log/12363-mq135-arduino-library
小贴士
- 实验表明,MQ-135 可以检测上述提及的气体,但它并不能区别这些气体。如果你想检测某种具体的气体在空气中的含量,那你可能需要寻找其他更好的传感器了~
- MQ-135使用一个加热模块来预热传感器,因此建议使用容量大一点的电源才不会很快就耗尽电量。
-
附:室内空气质量对照表