回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【Arduino 动手做】PM2.5、CO2、VOC、臭氧、温度和湿度Arduino仪表 简单

头像 驴友花雕 2025.06.21 11 0

您是否曾想过自己呼吸的空气质量如何?或者,为什么有时在办公室会感到困倦,或者即使睡了一整夜,早上起来仍然感到疲惫?糟糕的空气质量会对健康造成诸多负面影响,例如疲劳、头痛、注意力不集中、心率加快等等。监测空气质量实际上可能比您意识到的更重要。因此,在本教程中,我们将学习如何构建自己的空气质量监测器,它可以测量PM2.5、二氧化碳、挥发性有机化合物 (VOC)、臭氧以及温度和湿度。

概述
我将解释每个空气质量参数如何影响我们以及传感器的工作原理。该项目的核心是一块 Arduino Pro Mini 开发板,它与 2.8 英寸 Nextion 触摸屏相结合,提供了一个不错的用户界面。

Arduino空气质量计
我们可以实时查看所有传感器的测量数据,点击某个传感器,即可获取该传感器过去 24 小时的测量值。此外,它还具有调光功能,可以降低显示屏亮度,甚至完全关闭。例如,如果我们想在夜间监测卧室的空气质量,这项功能就非常方便。

DIY空气质量监测器,可存储过去24小时的传感器数据
我们可以在晚上关闭屏幕,第二天我们可以单独检查每个传感器的值。

尽管如此,现在我将带你了解整个搭建过程,并解释所有工作原理。看完本视频后,你将能够自己搭建一个。那么,我们开始吧。

PM2.5传感器 – PMS5003
该设备有四个主要组件或空气质量传感器。我们使用 PMS5003 传感器来测量 PM2.5,即空气中直径约为 2.5 微米的颗粒物。颗粒物是最有害的空气污染形式,因为它们可以深入肺部、血液和大脑,导致许多健康问题。

PMS5003 - DIY Arduino 空气质量监测器中的 PM 颗粒物传感器
该传感器基于激光散射原理工作。传感器配备一个风扇,可产生受控气流,使环境颗粒物穿过聚焦的激光束。

颗粒物PM10传感器的工作原理 - 激光散射工作原理
颗粒物会引起光散射,光电二极管会检测到光散射,然后在其微处理器的帮助下将其转换为PM浓度。我发现这款传感器的测量结果非常可靠,除了PM2.5之外,它还可以输出PM1和PM10的数值。

二氧化碳传感器 – MH-Z19
接下来,我们使用 MH-Z19 传感器测量二氧化碳。由于人们呼吸时会排放二氧化碳,室内二氧化碳浓度很容易升高。高浓度的二氧化碳不仅危险,还会导致困倦、疲劳,降低我们的工作效率等等。

MH-Z19 CO2 传感器 - 使用 Arduino 测量二氧化碳
该传感器采用非色散红外原理测量空气中的二氧化碳。红外光源将光线引导穿过一个充满待测空气的管道。在红外光源的另一侧,有一个滤光片和一个红外探测器,用于测量穿过的红外光量。

非色散红外原理测量空气中的二氧化碳
我们测量的空气中的二氧化碳气体分子会吸收特定波段的红外光,同时允许部分波长的光穿过。因此,二氧化碳浓度是根据探测器发射的光量与接收的红外光量之间的差值来计算的。该传感器的测量结果也相当准确。

VOC 和臭氧传感器 – MP503 和 MQ-131
为了测量挥发性有机化合物 (VOC) 和臭氧,我们使用 MP503 和 MQ131 气体传感器。这些是加热型金属氧化物传感器,其工作原理是基于检测目标气体存在时电阻的变化。

金属氧化物传感器的工作原理
特定电流通过金属基板,电阻根据存在的气体量而变化。

MQ131 传感器的目标气体就是臭氧,在普通家庭中,某些空气净化器、面部蒸汽机、产生紫外线的杀菌灯等产品可以产生臭氧。

MP503 VOC传感器和MQ-131臭氧传感器
另一方面,MP503 传感器可检测多种目标气体,包括酒精、烟雾、异丁烷、甲醛等。VOC 代表挥发性有机化合物,这些是我们日常使用的产品(例如洗衣液、清洁剂、空气清新剂、油漆、化妆品等)中产生的有机排放物。VOC 会对健康造成许多负面影响,包括头痛、眼睛刺激、皮肤反应、头晕等。

DIY Arduino 空气质量监测器 – 电路图
尽管如此,现在让我们看一下电路图并解释一下所有部件如何连接。

组装PCB
几天后,PCB 板终于到了。PCB 板的质量非常好,所有部件都和设计图完全一致。

Arduino 空气质量监测器定制设计 PCB
现在我们可以开始组装 PCB 了。我先插入并焊接一些较小的元件,比如电阻和两个晶体管。

然后,我们可以将 Arduino Pro Mini 开发板焊接到位。不过,首先我们需要将排针焊接到开发板上。请注意,我们不需要所有引脚,但请确保不要遗漏我们需要的引脚,例如 A4、A5 和 DTR 引脚。另外,请确保您拥有完全相同的 Arduino Pro Mini 开发板,并且引脚布局也与此相同,因为它们的引脚布局有时可能会有所不同。

组装 PCB - DIY 空气质量监测器
接下来,我们可以将 DHT22 传感器插入到位。为此,我们首先需要将其引脚弯曲 90 度。有时,我也会使用 Blu-tack 粘合剂在焊接时固定元件。

本项目中使用的两个电容用于稳定电源。开发板的电源来自一个 mini-USB 接口,我们可以将 5V 电压连接到该接口。

通过 Mini USB 接口为 Arduino 空气质量监测器供电
在电源接口正上方,我们需要焊接两个开关。一个用于打开和关闭设备,另一个用于将草图上传到 Arduino 开发板。然后,我们将 USB 转 UART 接口、显示屏、PM2.5 传感器以及 VOC、臭氧和 CO2 传感器的排针插入到位。

接下来,为了重新焊接DS3231 实时时钟模块,我们首先需要将引脚弯曲 90 度。焊接完成后,我们就可以插入电池,即使主 PCB 断电,电池也能继续计时。这样 PCB 就基本完成了,接下来要做的就是准备用于连接 PM2.5 传感器和显示器到 PCB 的线缆。我将公头排针焊接到传感器自带的线缆上,这样就可以轻松地将其连接到 PCB 上了。为了将显示器连接到 PCB,我在显示器连接器的背面焊接了四根电线,然后将它们连接到 PCB 上。

就这样,我们的空气质量监测器就完成了。当然,我们现在需要做的是给它做一个盒子或外壳。由于我们已经从 Altium Designer 中获得了整个 PCB 组件的 3D 模型,我们可以将其导入 CAD 软件并设计一个外壳。

Solidworks 中的空气质量监测器的 3D 模型
为此,我使用了 SOLIDWORKS 软件,制作了一个尽可能简单的外壳,仅由两个零件和几个螺栓螺母组成。我决定用透明亚克力制作外壳,因为我喜欢 PCB 和组件裸露的外观,而且这也是展示你的 DIY 项目的绝佳方式。

您可以下载此 DYI 空气质量监测器 3D 模型,也可以在 Thangs 上的浏览​​器中进行探索。

在 Thangs下载3D 模型。

空气质量监测器的使用案例
我将使用4毫米厚的亚克力板,它与显示屏完美贴合。由于我目前没有数控机床,所以我用一把简单的金属钢锯手工切割形状。

用丙烯酸树脂制作Arduino空气质量监测器的外壳
为了制作展示开口,我首先用钻头钻了两个孔。然后,我用迷你钢锯的刀片小心地切割出形状。我用一把简单的锉刀将形状打磨平整。最后,我用一个3毫米的钻头钻好了所有用于连接PCB和连接两块亚克力板的孔。

此时,我撕掉了亚克力板上的保护膜,说实话,这个过程相当令人满意。为了将 PCB 固定在底板上,我使用了一些 M3 螺栓和螺母。为了将 PM2.5 传感器固定在底板上,我们需要 M2 螺栓。  

接下来,我们用一些定距螺母把两块板连接起来。用一个母定距螺母和一个公定距螺母,我就能轻松地调整到两块板之间的理想距离。

我个人非常喜欢这种情况,而且它很实用,因为空气可以轻松地在传感器周围流通。

编程
好了,现在我们可以启动设备并上传程序了。我们可以通过 Mini USB 接口为空气质量监测器供电,也可以通过 5V USB 适配器、5V 手机充电器或移动电源获取 5V 电压。

对 Arduino 空气质量监测器进行编程 - 使用 FTDI 上传草图
要将程序上传到 Arduino Pro Mini 开发板,我们需要一个 USB 转串口 UART 接口,该接口可以连接到编程接口。在将其连接到计算机 USB 之前,我们必须先打开设备的主电源,否则来自计算机 USB 的 500mA 电流可能不足以正常工作。上传 Arduino 代码时,我们还需要打开 PCB 上的上传开关。

总的来说,这就是这款 Arduino 空气质量监测器的程序工作原理。当然,为了完全理解它的工作原理,你需要学习并了解每个传感器如何与其库协同工作,以及 Nextion 显示器的工作原理。

请注意,对于 VOC 传感器,我们仅读取原始数据,而非 ppm 或 ppb 值。仅读取 0 到 1024 之间的模拟值。数值越高,表示存在 VOC。

至于臭氧传感器,为了获得更精确的输出,我们必须根据库的校准示例正确设置 setTimeToRead() 和 setR0() 的值。然而,较长的 setTimeToRead 时间意味着程序在采样时会被阻塞,其他所有操作都会冻结。当然,有一些方法可以解决这个问题。我甚至建议,除非你真的需要,否则根本不要使用臭氧传感器。

 

01.jpg
02.jpg
03.jpg
03-.jpg
04.jpg
05.jpg
06.jpg
07.jpg
08.jpg
09.jpg
10.jpg
11.jpg
12.jpg
13.jpg
14.jpg
15.jpg
16.jpg
17.jpg

【Arduino 动手做】PM2.5、CO2、VOC、臭氧、温度和湿度Arduino仪表
项目链接:https://howtomechatronics.com/projects/diy-air-quality-monitor-pm2-5-co2-voc-ozone-temp-hum-arduino-meter/
项目作者:Dejan

项目代码:
https://howtomechatronics.com/download/diy-air-quality-monitor-arduino-code/?wpdmdl=7124&_wpdmkey=6855dfe027b10&subscriber=FzfmKUQ3kMQG9fLctubbBg5NvL1IudsX_YyhkOFa2pdP-Vi2tIULRPfRB1cbBofvK5Isck1sMG68YUI3NZBckw
Nextion 显示程序:
https://howtomechatronics.com/download/diy-air-quality-monitor-nextion-program/?wpdmdl=7125&_wpdmkey=6855e01b4bf99&subscriber=25ScuNSGlPyofONw4OUMOa8h6ixFnuw4q1XVEi0jYOjb37XwGNoW12OITDNPUdEVMKhlRKoUwCFbLzibY0ArbQ
Altium Designer 文件:
https://howtomechatronics.com/download/diy-air-quality-monitor-altium-designer-files/?wpdmdl=7110&_wpdmkey=6855de6c1598b&subscriber=XpMUlHr5OKTewYvZp0HKIcvL2D61eNL8y6GdsKJmp99bz7OidvNjel7cuT1sPUuyGS4TCjhDiXXrNntv4qut8Q
PCB Gerber文件:
https://howtomechatronics.com/download/diy-air-quality-monitor-gerber-fabrication-file-for-ordering-pcb/?wpdmdl=7111&_wpdmkey=6855deebd274d&subscriber=ZWDehEtDL2qHVx43vUQbu1fIFvupboY4mZ8tcbAWQYoukV-JuJf0q1hgn_7xnknBEeqCHB2CN-aWzzn2oUFW6g
 

 

00.jpg
18.jpg
19.jpg

评论

user-avatar
icon 他的勋章
    展开更多