电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
创作
电子发烧友网>电子资料下载>电子资料>灰尘传感器作为输入到Arduino兼容板的输入开源

灰尘传感器作为输入到Arduino兼容板的输入开源

2022-10-26 | zip | 0.04 MB | 次下载 | 免费

资料介绍

描述

在开始项目之前...

 
pYYBAGNYhjKACRuWAAYLnv4G3Pg506.jpg
 
1 / 2
 

如果您想制作空气质量监测器,或者想尝试空气质量传感器,或者只是对可用于与 Arduino 接口的各种传感器感到好奇,那么这个项目应该非常适合您。它主要涉及一个灰尘传感器作为输入到 Arduino 兼容板的输入。这种特殊的传感器在外壳内的多个组件上运行,例如:红外 LED、一组镜头、光电二极管检测器和电磁屏蔽。所有这些部分协同工作,通过测量灰尘浓度来读取空气质量。大气中的颗粒物水平(PM 水平)是通过计算给定时间单位中的低脉冲占用时间(LPO 时间)来测量的,其中 LPO 时间与 PM 浓度成正比。所以,该传感器可以为空气净化器系统提供可靠的数据,在该系统中,它可以响应直径小于 1μm 的 PM 水平。对于这个项目,您需要的部件包括:

  • 1 Grove - 灰尘传感器 (PPD42NS)
  • 1 Arduino(本例使用Seeeduino v4.2)
  • 3 根跳线(公对公)
  • 1 个 USB 数据线(取决于 Arduino)

赞助商链接:

在此处访问此链接以获取 NextPCB 的特别优惠。

poYBAGNYhjWARKdMAAEzCg15zmk882.png
 

安装电路

 
 
 
 
poYBAGNYhjeAODZEAABlkYgi--U093.jpg
 
1 / 2
 

这个项目的电路非常简单,你甚至根本不需要面包板。输入灰尘传感器通过三根跳线直接连接到 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(当前时间)。最后,这些行包含了我们的代码,它的长度很短,但是当它被剥离时很复杂。

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1使用单片机实现七人表决器的程序和仿真资料免费下载
  2. 2.96 MB   |  44次下载  |  免费
  3. 2联想E46L DAOLL6笔记本电脑图纸
  4. 1.10 MB   |  2次下载  |  5 积分
  5. 3MATLAB绘图合集
  6. 27.12 MB   |  2次下载  |  5 积分
  7. 4PR735,使用UCC28060的600W交错式PFC转换器
  8. 540.03KB   |  1次下载  |  免费
  9. 5UCC38C42 30W同步降压转换器参考设计
  10. 428.07KB   |  1次下载  |  免费
  11. 6DV2004S1/ES1/HS1快速充电开发系统
  12. 2.08MB   |  1次下载  |  免费
  13. 7模态分解合集matlab代码
  14. 3.03 MB   |  1次下载  |  2 积分
  15. 8美的电磁炉维修手册大全
  16. 1.56 MB   |  1次下载  |  5 积分

本月

  1. 1使用单片机实现七人表决器的程序和仿真资料免费下载
  2. 2.96 MB   |  44次下载  |  免费
  3. 2UC3842/3/4/5电源管理芯片中文手册
  4. 1.75 MB   |  15次下载  |  免费
  5. 3DMT0660数字万用表产品说明书
  6. 0.70 MB   |  13次下载  |  免费
  7. 4TPS54202H降压转换器评估模块用户指南
  8. 1.02MB   |  8次下载  |  免费
  9. 5STM32F101x8/STM32F101xB手册
  10. 1.69 MB   |  8次下载  |  1 积分
  11. 6HY12P65/HY12P66数字万用表芯片规格书
  12. 0.69 MB   |  6次下载  |  免费
  13. 7华瑞昇CR216芯片数字万用表规格书附原理图及校正流程方法
  14. 0.74 MB   |  6次下载  |  3 积分
  15. 8华瑞昇CR215芯片数字万用表原理图
  16. 0.21 MB   |  5次下载  |  3 积分

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935119次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420061次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233084次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191367次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183335次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81581次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73807次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65987次下载  |  10 积分