资料介绍
描述
在开始项目之前...
如果您想制作空气质量监测器,或者想尝试空气质量传感器,或者只是对可用于与 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使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2联想E46L DAOLL6笔记本电脑图纸
- 1.10 MB | 2次下载 | 5 积分
- 3MATLAB绘图合集
- 27.12 MB | 2次下载 | 5 积分
- 4PR735,使用UCC28060的600W交错式PFC转换器
- 540.03KB | 1次下载 | 免费
- 5UCC38C42 30W同步降压转换器参考设计
- 428.07KB | 1次下载 | 免费
- 6DV2004S1/ES1/HS1快速充电开发系统
- 2.08MB | 1次下载 | 免费
- 7模态分解合集matlab代码
- 3.03 MB | 1次下载 | 2 积分
- 8美的电磁炉维修手册大全
- 1.56 MB | 1次下载 | 5 积分
本月
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2UC3842/3/4/5电源管理芯片中文手册
- 1.75 MB | 15次下载 | 免费
- 3DMT0660数字万用表产品说明书
- 0.70 MB | 13次下载 | 免费
- 4TPS54202H降压转换器评估模块用户指南
- 1.02MB | 8次下载 | 免费
- 5STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 6HY12P65/HY12P66数字万用表芯片规格书
- 0.69 MB | 6次下载 | 免费
- 7华瑞昇CR216芯片数字万用表规格书附原理图及校正流程方法
- 0.74 MB | 6次下载 | 3 积分
- 8华瑞昇CR215芯片数字万用表原理图
- 0.21 MB | 5次下载 | 3 积分
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多