使用Arduino和MQ 您所在的位置:网站首页 装修墙面贴砖好还是乳胶漆好还是贴墙纸好呢 使用Arduino和MQ

使用Arduino和MQ

2023-05-11 15:20| 来源: 网络整理| 查看: 265

全球的大气二氧化碳浓度水平每天都在增加。 2019年全球二氧化碳浓度的平均水平达到了百万分之409.8,而2020年10月二氧化碳浓度水平为百万分之411.29。二氧化碳是一种重要的温室气体,约占四分之三的排放量。因此,二氧化碳水平监测也开始变得越来越重要。

在本篇文章中,我们将使用Arduino开发板和MQ-135传感器来测量CO2浓度。测得的CO2浓度值将显示在OLED模块上,最后我们还将Arduino MQ-135传感器读数与红外CO2传感器读数进行比较。

所需的组件

●    Arduino Nano开发板

●    MQ-135传感器

●    跳线

●    0.96寸SPI OLED显示模块

●    面包板

●    22KΩ电阻

0.96寸OLED显示模块

OLED(有机发光二极管)是一种自发光技术,通过在两个导体之间放置一系列有机薄膜来构造。当电流施加到这些膜上时,产生明亮的光。 OLED使用的技术与电视相同,但像素比大多数电视都要少。

OLED-Module.jpg (55.76 KB, 下载次数: 14)

下载附件  保存到相册

2020-12-23 14:01 上传

在本文中,我们使用的是单色7个引脚SSD1306 0.96英寸OLED显示屏。它可以在三种不同的通信协议上工作:SPI 3线模式、SPI四线模式和I2C模式。

MQ-135传感器

MQ-135气体传感器是一种空气质量传感器,用于检测各种气体,包括NH3、NOx、酒精、苯、烟和CO2。 MQ-135传感器既可以作为模块购买,也可以单独购买。在这个项目中,我们使用MQ-135传感器模块来测量CO2浓度。 MQ-135模块的电路图如下所示:

MQ135-Sensor-Circuit-Diagram.jpg (48.28 KB, 下载次数: 15)

下载附件  保存到相册

2020-12-23 13:43 上传

负载电阻RL在使传感器正常工作中起着非常重要的作用。该电阻器根据气体浓度改变其电阻值。根据MQ-135数据表,负载电阻值的范围可以在10KΩ至47KΩ之间。数据表建议您针对空气中100ppm NH3或50ppm酒精浓度校准检测器,并使用约20KΩ的负载电阻值。

MQ135与Arduino连接的电路图

下面给出了将MQ-135气体传感器与Arduino连接的完整原理图:

Interface-MQ135-with-Arduino.png (157.5 KB, 下载次数: 12)

下载附件  保存到相册

2020-12-23 13:47 上传

电路非常简单,因为我们只需将MQ-135传感器和OLED显示模块与Arduino Nano连接在一起。 MQ-135气体传感器和OLED显示模块均由+ 5V和GND供电。 MQ-135传感器的模拟输出引脚连接到Arduino Nano的A0引脚。由于OLED显示模块使用SPI通信,因此我们在OLED模块和Arduino Nano之间建立了SPI通信。

根据电路图连接硬件后,Arduino MQ135传感器设置应如下所示:

MQ-135-Gas-Sensor-with-Arduino.jpg (107.15 KB, 下载次数: 17)

下载附件  保存到相册

2020-12-23 13:49 上传

计算MQ135传感器的Ro值

现在我们知道RL的值,让我们继续如何计算清洁空气中的Ro值。在这里,我们将使用MQ135.h来测量空气中的CO2浓度。因此,首先下载MQ-135库,然后在读取Ro值之前将传感器预热24小时。预热过程之后,使用以下代码读取Ro值:

#include "MQ135.h" void setup (){ Serial.begin (9600); } void loop() { MQ135 gasSensor = MQ135(A0); // Attach sensor to pin A0 float rzero = gasSensor.getRZero(); Serial.println (rzero); delay(1000); }复制代码

现在,一旦获得Ro值,请转至Documents > Arduino > libraries > MQ135-master文件夹,然后打开MQ135.h文件并更改RLOAD和RZERO值。

///The load resistance on the board #define RLOAD 22.0 ///Calibration resistence at atmospheric CO2 level #define RZERO 5804.99复制代码

现在向下滚动并将ATMOCO2值替换为当前的大气CO2,即411.29

///Atmospheric CO2 level for calibration purposes #define ATMOCO2 397.13复制代码

使用Arduino和MQ135传感器测量CO2的代码

文档末尾给出了MQ-135传感器与Arduino连接的完整代码。在这里,我们解释了MQ135 Arduino代码的一些重要部分。

该代码使用了Adafruit_GFX、Adafruit_SSD1306和MQ135.h库。这些库可以从Arduino IDE中的库管理器中下载并安装。为此,打开Arduino IDE并转到Sketch



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有