当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]空气污染是全球日益严峻的问题,细颗粒物(PM2.5)因其能够深入肺部并进入血液,成为最危险的污染物之一。无论您担心的是室内空气质量、野火烟雾还是城市污染,掌握实时数据都能让您采取有效行动。

空气污染是全球日益严峻的问题,细颗粒物(PM2.5)因其能够深入肺部并进入血液,成为最危险的污染物之一。无论您担心的是室内空气质量、野火烟雾还是城市污染,掌握实时数据都能让您采取有效行动。

在本文中,我们将通过将DFRobot PM2.5传感器(SEN0460)与Arduino GIGA R1 WiFi(目前市面上最强大的Arduino开发板之一)集成,构建一个专业级空气质量监测器。内容涵盖从接线到代码编写、校准、数据记录,甚至可选的物联网仪表盘。

为什么选择这种组合?

Arduino GIGA R1 WiFi 是一款基于 STM32H747XIXI 双核微控制器(480 MHz Cortex-M7 + 240 MHz Cortex-M4)打造的开发利器,配备 2MB Flash Flash 存储、1MB RAM 和额外 8MB SDRAM。它拥有 76 个 GPIO GPIO 引脚、3 个 I2CC 接口、4 个 UART 和 2 个 SPI SPI 接口,可轻松同时处理传感器、显示屏、SDSD 卡以及 Wi-Fi/蓝牙连接。

DFRobot PM2.5 传感器(SEN0460)采用激光散射技术,可连续测量0.3微米至10微米范围内的空气中颗粒物,并通过简单的Gravity I2C接口输出PM1.0、PM2.5和PM10的浓度数据。该传感器工作电压为3.3V至5V,功耗低至100mA,测量范围为0–500 µg/m³(最高可达1000 µg/m³),分辨率为1 µg/m³。

它们共同构成了一个实验室级空气质量监测站的基础,可在一小时内建成。

为您的项目定制制造PCB板

一定要去PCBWAY在线订购便宜的PCB!

您可享受低价优惠,获得10块高品质PCB板,并直接送货上门。首次下单还可享运费折扣。将您的Gerber文件上传至PCBWAY,即可获得高质量、快速交付的PCB制造服务。PCBWay现在可提供从设计到外壳生产的一站式完整解决方案。欢迎体验其在线Gerber文件查看功能。通过积分奖励,您还可以在礼品商店免费获取各类产品。此外,点击此处查看PCBWay为KiCad提供的实用插件博客。使用该插件,您只需在KiCad完成设计后,一键即可直接订购PCB板。

第一步 — 设置Arduino GIGA R1

在连接传感器之前,请确保您的GIGA R1已准备就绪:

•安装 Arduino IDE — 从 arduino.cc 下载并安装最新版本。

•添加 GIGA R11 板支持 — — 打开工具 → → 板件 → → 板件管理器,搜索“GIGA”,并安装 Arduino Mbed OS GIGAA 板软件包。

•选择板子 — — 进入工具 → → 板子 → Arduino Mbed OS GIGAA 板 → Arduino GIGA R1 WiFi。

•选择端口——通过 USB-C-C 连接板卡,并选择正确的 COM COM COM 端口(Windows)或 /dev/cu.*(macOS/Linux)。

重要提示:GIGA R1 采用 3.3 V 逻辑电平,切勿直接将 5 V 电压施加到任何 GPIO GPIO 引脚上。幸运的是,DFRobot PM2.5 传感器的 I2C 逻辑电平兼容——即使在 5 V 供电时,它仍能接受 SDA/SCL 上的 3.3 V 电压。

第二步 — — 将 DFRobot PM2.5 传感器连接到 GIGA R1

得益于Gravity接口和GIGA的三个I2C端口,布线简单,即插即用。

应该使用哪个I2C接口?

GIGA R1 提供三个 I2CC 接口:

•I2C1(总线)——默认 I2C,引脚 20(SDA)和 21(SCL)。

•I2C2(Wire1)——引脚26(SDA)和27(SCL)。

•I2C3(Wire2)——引脚82(SDA)和83(SCL)。

为了简化,本教程将使用 I2C1(引脚 20 和 21)。

接线图

连接后,请再次检查传感器的I2C地址。SEN0460使用默认的I2C地址0x19,您可以通过I2C扫描仪代码来验证该地址。

步骤3 — — 安装DFRobot库

•DFRobotRobot 团队提供了一个官方库,可处理所有底层通信,并提供干净、即用型的传感器数据。

•在 Arduino IDE 中,前往 Sketch → → 包含库 → → → 管理库。

•搜索“DFRobot AirQualitySensor”。

•通过DFRobot安装库。

•或者,从官方 GitHub 仓库下载。

•安装后,您可以在“文件”→“示例”→“DFRobot_AirQualitySensor”下浏览示例。

第4步 — — 编写代码

现在我们将编写一个程序,每秒读取一次PM1.0、PM2.5和PM10的浓度,并将结果输出到串口监视器。

完整草图

代码讲解

•库包含 — DFRobot_AirQualitySensor.h 提供了所有传感器功能。

•I2CC 地址定义 — 传感器使用地址 0x19(默认)。

•begin() — 初始化I2C并验证通信。通过while()循环确保在找到传感器之前不断重试。

•gainParticleConcentration_ugm3() — 获取浓度值,单位为 µg/m³。使用 PARTICLE_PM2_5_STANDARD、PARTICLE_PM1_0_STANDARD 或 PARTICLE_PM10_STANDARD_STANDARD_STANDARD 指定所需的颗粒物粒径。

•大气值 vs.. 标准值 — 该传感器可输出“标准”(实验室校准)和“大气”(环境调整)两种数值。建议一般使用标准值。

•空气质量评估——一个简单的if/else语句根据常见的健康标准对PM2.5读数进行分类

上传并测试

•通过USB-C连接GIGA R1。

•选择正确的端口和板(Arduino GIGA R1 WiFi)。

•点击上传

•在115200波特率下打开串行监视器(工具 → 串行监视器)。

•你应该能看到实时的PM2.5、PM1.0和PM10数据。

结论

只需几个连接和一些简单的代码,你就能打造一个专业级空气质量监测器,精准测量影响健康的微小颗粒物。Arduino GIGA R111 拥有强大的性能,足以将这款传感器升级为功能齐全的环境监测站——配备本地触摸屏、云端数据记录,甚至可实现预测性提醒。让你更安心地了解身边空气中的真实状况。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭