粉尘传感器ZPH01驱动

来源:互联网 发布:淘宝美工主要工作内容 编辑:程序博客网 时间:2024/04/24 05:53

title: ZPH01驱动

1 传感器说明

1.1 电气特性

这里写图片描述

1.2 管脚说明

这里写图片描述

1.3 驱动方式

这里写图片描述

1.4 数据处理

这里写图片描述
这里写图片描述
这里写图片描述

1.5 注意事项

这里写图片描述

2 驱动代码

2.1前言

该驱动使用的是串口方式,需要将模式脚拉低,封装最后输出的是浓度,单位是ug/m3。demo是基于和小伙伴一起封装的STM32f103C8系列单片机的底层驱动,编写语言是C++,平台是keil5。

2.2正文

该传感器是已经封装过一次的,他会每间隔1秒通过串口发送一次数据。而我要做的便是使使用者更加简单的获取到需要的数据。也就是进行了二次封装,将数据更新封装为updata()函数,数据获取封装成getdata()函数。
首先我们先来看下.H文件
这里写图片描述
由于该驱动与串口密切相关,所以我们的构造函数就传入一个串口。
mData由于暂存读出的一桢数据,mData_H 和L 是为了方便将数据传出到上位机添加的。用户在主函数在需要更新的时候调用updata 在需要得到数据时调用getdata就可以了。


接下来我们来看下updata函数
这里写图片描述
虽然模块一直给我们传输数据,但是调用更新函数是只保存最新的一组数据,并且进行校验和,如果正确取出浓度数据则返回true ,否则返回false。中间使用了一些usart封装的函数。


最后我们看下如何使用吧
这里写图片描述

3 实验结果

该实验结果有点意思,波动超级大,前一张图是没遮挡盒子中间三角空的数据,最高处是对其吹起的结果,后一个是用卫生纸挡住的效果。由于该传感器是光感,并且买了时间有点久,盒子里的镜头有写灰尘,影响了结果吧,好久找个棉签擦拭了再测试下。
这里写图片描述
这里写图片描述
这里写图片描述

4 相关下载

Github地址

0 0
原创粉丝点击