【Arduino基础教程】MQ135空气质量检测模块

简介: MQ135空气质量检测模块MQ135主要用于检测空气中的二氧化碳、酒精、苯、氮氧化物、氨等气体的浓度。本文将介绍MQ135的两种使用方法不使用库文件使用别人写好的库文件1.
MQ135空气质量检测模块
MQ135空气质量检测模块

MQ135主要用于检测空气中的二氧化碳、酒精、苯、氮氧化物、氨等气体的浓度。

本文将介绍MQ135的两种使用方法

  1. 不使用库文件
  2. 使用别人写好的库文件

1.不使用库文件

准备材料

  • Arduino Uno *1
  • MQ-135 传感器 *1
  • 跳线 *3
  • 面包板 *1

接线

img_eb8f9302da15c6ed8e2b43cb8e773a3c.jpe
接线示意图
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使用一个加热模块来预热传感器,因此建议使用容量大一点的电源才不会很快就耗尽电量。
  • 附:室内空气质量对照表


    img_ca50e4084c7edd10995a8ea0b9a7ba25.jpe
    室内空气质量对照表
目录
相关文章
|
7月前
|
传感器 存储 算法
学习振弦采集模块的开发原理
振弦采集模块是一种可以用来采集物体振动信息的设备,通常使用于物理实验、结构监测、机械故障诊断等领域。该设备的基本原理是利用传感器将振动信号转换成电信号,再通过模拟电路或数字电路进行信号放大和处理,最终输出数字化的振动信号给机器或计算机应用程序进行处理。
学习振弦采集模块的开发原理
|
3月前
|
传感器 数据采集 监控
毕业设计|基于51单片机的配电室远程监控系统设计环境检测GSM环境报警设计
毕业设计|基于51单片机的配电室远程监控系统设计环境检测GSM环境报警设计
|
4月前
|
BI 定位技术
UWB高精度实时定位系统源码(springboot+vue)
UWB高精度实时定位系统源码(springboot+vue)
38 0
|
8月前
|
编解码 监控 安全
红外成像仪开发版学习注意要点
三河凡科科技飞讯红外成像仪开发学习注意要点 红外成像仪主要用于检测和识别物体的热量,并将其转化为可见的图像。它可以用于许多应用,包括夜视、安全监控、军事、医疗和工业控制等领域。在开发红外成像仪时需要注意以下几个要点。
红外成像仪开发版学习注意要点
|
10月前
|
数据采集
LabVIEW控制Arduino实现模拟数据采集(基础篇—8)
利用LIAT中的模拟采样函数库,通过Arduino Uno控制板上的模拟输入端口采集模拟信号,并上传至LabVIEW界面上显示波形,实现一个数据采集的功能。
|
11月前
|
传感器 安全 网络协议
【毕设参考】跌倒检测 ESP32+HaaS Python Motion API 快速打造上云的跌倒检测系统
【毕设参考】跌倒检测 ESP32+HaaS Python Motion API 快速打造上云的跌倒检测系统
181 0
|
11月前
|
网络协议 物联网 机器人
【毕设参考】ESP32 + HaaS Python 打造在线空气质量检测器
【毕设参考】ESP32 + HaaS Python 打造在线空气质量检测器
257 0
|
12月前
【微机原理大作业】从0开始设计RTC电子钟系统(三)(含完整源码和仿真图及下载地址)
【微机原理大作业】从0开始设计RTC电子钟系统(三)(含完整源码和仿真图及下载地址)
|
安全 5G 定位技术
IM开发者的零基础通信技术入门(十一):为什么WiFi信号差?一文即懂!
WiFi对于现在的家庭来说,属于司空见惯的上网方式,但很多情况下,家里房间多、空间大、杂物乱的情况下,WiFi的信号就受影响。为什么WiFi信号会受影响?什么情况下该使用何种方式组网?如何改善WiFi信号差的问题?等等,本文将通俗易懂地为你找到这些问题的答案。
132 0
IM开发者的零基础通信技术入门(十一):为什么WiFi信号差?一文即懂!
|
传感器
多功能手持读数仪 VH501TC常见问题与注意事项
常见问题 1.不能开机检查电池是否有电,检查电池安装极性是否正确。 2.不显示振弦传感器测量值检查传感器连线是否正确,详见“传感器接口定义” ;尝试不同的振弦激励方法,详见“振弦传感器激方法修改” 。
多功能手持读数仪 VH501TC常见问题与注意事项