粉尘传感器ZPH01驱动
2016-04-02 15:26
621 查看
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地址CSDN下载
由于我将删掉GITHUB的这个仓库,所以把东西转移到了CSDN上
相关文章推荐
- 码农小汪-锁 LOCK
- 数据库查询中的特殊字符的问题
- ListView 基本使用
- 华为 2016实习生 上机考试 题目
- 《古炉》其文
- LeetCode334. Increasing Triplet Subsequence
- 用Github Pages建了一个主页示例
- 36.leetcode题目338: Counting Bits(再做一遍)
- CSS3秘笈复习:第一章&第二章&第三章
- 创建型模式之工厂方法模式
- Android编程学习笔记 之 Fragment与Activity的数据传递
- RxJava实例(一)
- ScrollView中嵌套ListView时,listview高度显示的问题
- 学习进度条四
- SDAU2 课程练习2 1006
- 华为笔试题2
- [leetcode] 44. Wildcard Matching 解题报告
- Java联网技术之一TCP
- Tricks(二十)—— 从 N 个数中等概率地产生 M 个数
- 标志寄存器9中标志