资料介绍
描述
在开始项目之前...
如果您想制作空气质量监测器,或者想尝试空气质量传感器,或者只是对可用于与 Arduino 接口的各种传感器感到好奇,那么这个项目应该非常适合您。它主要涉及一个灰尘传感器作为输入到 Arduino 兼容板的输入。这种特殊的传感器在外壳内的多个组件上运行,例如:红外 LED、一组镜头、光电二极管检测器和电磁屏蔽。所有这些部分协同工作,通过测量灰尘浓度来读取空气质量。大气中的颗粒物水平(PM 水平)是通过计算给定时间单位中的低脉冲占用时间(LPO 时间)来测量的,其中 LPO 时间与 PM 浓度成正比。所以,该传感器可以为空气净化器系统提供可靠的数据,在该系统中,它可以响应直径小于 1μm 的 PM 水平。对于这个项目,您需要的部件包括:
- 1 Grove - 灰尘传感器 (PPD42NS)
- 1 Arduino(本例使用Seeeduino v4.2)
- 3 根跳线(公对公)
- 1 个 USB 数据线(取决于 Arduino)
赞助商链接:
安装电路
这个项目的电路非常简单,你甚至根本不需要面包板。输入灰尘传感器通过三根跳线直接连接到 Arduino 微控制器。作为开始前的预防措施,请通过 Arduino 移除任何电源。然后,通过 JST 连接器将灰尘传感器上的黄线(信号)连接到 Arduino 板上的 D8(数字引脚 8)。之后,将传感器 JST 连接器的红线 (VCC/+) 连接到 Arduino 电源引脚行上的 5v(+5 伏)。最后,将 Grove Dust Sensor 的黑线 (GND/-) 再次通过 JST 连接到 Arduino 的 GND (-) 引脚之一。这就是关于这个项目的硬件设置!
关于代码
该代码由多个函数组成,这在 Arduino 中非常有用,尤其是在处理复杂的传感器和接口时。此代码首先声明此传感器的引脚,即 D8(数字引脚 8)为整数。对于接下来的两行,我们声明扩展大小变量仅用于数字存储。稍后可以使用它为该变量分配值或读数。我们可以将数据写入和存储在无符号长变量中,例如来自传感器的数据、数学计算、随时间变化的读数等。这两行中的变量是: 持续时间和 开始时间。继续前进,还有另外两个无符号长变量,当前分配了一个读数(sampletime_ms和 lowpulseoccupancy),它将在代码中进一步使用。这些变量的好处是它们可以携带更多数据,因为它们具有广泛的规模,被证明在收集数据方面很有用。以下 浮点 变量(比率 和浓度)用于十进制数,因此在声明了预设值的情况下,它可用于稍后在此草图中读取十进制数。现在,我们进入void 设置 部分,从设置串行通信开始,以 9600 波特的速率从传感器输出数据。接下来是下一行,我们将 D8(数字引脚 8)设置为输入引脚,以便将来自传感器的数据发送到 Arduino 微控制器。之后,我们命令变量 starttime, 以毫秒为单位读取当前时间,以便变量可以参与计时,更进一步。这就是设置部分,现在是时候进入void循环部分了。void 循环的第一行 是高级 I/O 函数之一,它读取脉冲,无论是 HIGH 还是 LOW(1 或 0)。在此代码中,pulseIn函数设置为 LOW,因此该函数将开始计时 LOW 脉冲,直到它变为 HIGH。在该函数之后,收集的时间将分配给持续时间的无符号长变量,以微秒为单位读取时间。现在,我们声明变量lowpulseoccupancy 读取它自己的读数,加上变量duration的读数。现在我们已经来到了代码的主要部分,我们在这里计算原始数据并将其转换为我们可以读取的单位。if 语句说,如果变量starttime减去当前的计数时间,大于或等于变量sampletime_ms的值(2000 毫秒),则它被编程为执行if 语句下面的其余代码。随后,我们利用我们过去声明的变量之一,通过使用变量ratio 将其分配给一个值,即lowpulseoccupancy, 我们遇到了,并且,通过一点数学,我们可以为该变量分配一个新的读数ratio。因此,variable ratio等于lowpulseoccupancy(添加到变量duration的读数中)除以变量sampletime_ms 乘以 10,得到整数百分比。随后,我们将计算出的值转换为单位pcs/0.01cf。我们将为此使用的变量将被命名为 浓度。开始,浓度由 1.1 乘以可变比率的值组成 到 3 的幂。然后,将该连续方程减去 3.8,乘以可变比率 的 2 次幂。再将其加上 520,再次乘以可变比率,最后,将连续读数相加到 0.62。草图中的pow()函数用于将整数、值或变量提升到其他事物的幂。当我们结束这段代码时,我们将读数打印到串行监视器中,在我们打印变量浓度之前,在串行监视器上使用短语“ Concentration = ” ,因为该变量将来自传感器的原始数据转换为合适的测量单位。此外,在串行监视器的同一行上,我们打印该值的单位 (pcs/0.01cf) 以完全结束读数。因此,串行监视器上的最终读数将显示为“浓度 = (读数) pcs/0.01cf”。最后,变量lowpulseoccupancy 重置为 0,以便根据void 循环获得新的读数,以及变量starttime(当前时间)。最后,这些行包含了我们的代码,它的长度很短,但是当它被剥离时很复杂。
- Arduino自动密码输入器
- 使用Arduino作为车库停车传感器
- 与Arduino Uno接口超声波传感器开源
- 带Arduino的MaxSonar EZ0传感器开源
- 如何将Arduino板与不同的传感器连接
- 开源PLC输入板原理图 3次下载
- 带有Arduino Nano的输入输出板开源
- Cervus Arduino Leonardo兼容开源
- 用于Arduino微控制器的多路交流输入板
- 接口智能数字量输入传感器IRM-S04DIF RJ45 8次下载
- 可兼容Arduino的声音传感器模块LM386 5次下载
- GP2Y1010AUOF灰尘传感器的使用说明 39次下载
- 多个传感器的输入的设计指南 4次下载
- 结合多个传感器的输入,产生更好的整体结果 13次下载
- 灰尘传感器规格书 20次下载
- 采用数字微波传感器和Arduino控制板实现人体探测系统 1995次阅读
- 采用数字微波传感器、继电器和Arduino控制板的自动光控系统 833次阅读
- 如何使用Arduino和LDR传感器实现LCD液晶屏亮度的自动调节 6529次阅读
- 如何将微小的传感器输出讯号转换为ADC输入电压? 1993次阅读
- 微雪电子倾斜传感器Tilt Sensor介绍 2524次阅读
- 灰尘传感器工作原理及应用 5467次阅读
- dfrobotSDB传感器驱动板简介 2085次阅读
- dfrobotIO传感器扩展板 V6介绍 2299次阅读
- 传感器输入信号的几种形式 2.8w次阅读
- 数字输入串行器的工作原理解析 4263次阅读
- 数字传感器和模拟传感器的区别 2.5w次阅读
- Ameya360物联网传感器节点解决方案的模拟输入通路 3310次阅读
- 要实现自动驾驶,如何应对像头和雷达等传感器上的灰尘与泥土? 7304次阅读
- 热电堆检测器工作原理 非分散红外气体传感器电路 4.3w次阅读
- 传感器有哪些特性_传感器误差分析 1.2w次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多