基于 stm32f1 的GP2Y1010AU气体检测模块使用说明

您所在的位置:网站首页 mq2和adc0832之间的电容 基于 stm32f1 的GP2Y1010AU气体检测模块使用说明

基于 stm32f1 的GP2Y1010AU气体检测模块使用说明

2024-06-17 19:17| 来源: 网络整理| 查看: 265

本人在校学生一个,最近是使用到来GP2Y1010AU气体检测模块,这个模块标识的说可以检测PM2..5,但是实际运用过程中,发现可能达不到这个精度。

话不多说,先上干货。实物以及引脚图。这里参考了一篇前辈的博客,就顺手截图过来(容许我偷个懒)

附上前辈的原文链接:https://blog.csdn.net/qq_33160790/article/details/78839529

先声明:

1.实际上不用接模块附带的电容电阻,也可以正常工作。

2.商家没有现成的stm32代码,所以,还是老老实实看下这篇博客。

3.遇到新的模块,知识,甚至困难,依旧要依靠自己强大的学习能力去征服。

 

初次拿到这个模块的同学估计也是一脸蒙逼,怎么用,引脚怎么都不懂,小编为此苦干半天才实现基本数据读取,也是很恼火,所以写这么一篇博客报复无良商家。

从上图可知道,具体的接线方式.(将arduino换成32单片机的引脚就可以了,只不过进行不同模式的配置)

解答1:LED-GND是什么鬼?这个代表是模块内部的LED灯的GND,(阅读手册可知,测量空气颗粒物浓度依据光学原理,所以,里边是有LED灯存在的,且是发射红外线),同理,标识LED,就是对应的VCC(有点不严谨,应该说是可控的VCC)

解答2:如何读取数据?将模块的5号引脚接入单片机的ADC采集引脚即可。

解答3:为何LED引脚要接入DAC输出引脚呢?这个需要去查看该模块的数据手册,

根据 LED 驱动周期(脉冲周期:T (ms) ),LED 驱动时间(脉冲:宽度 Pw(ms) )输出

电压会变动,规格书特性的规格值是脉冲周期 T:10ms, Pw:0.32ms,取样时

间:0.28ms,根据此条件变动(取样时间可以自己设定,但是厂家给的手册是10ms.....),规格书上规定的特性值(无尘时输出电压、检出感度) 也随之变动。

 

然后,通过stm32的ADC例程代码,就可以实现简单的数据读取了(记得调整LED的驱动时间,即是驱动条件,查看微博客末尾的文章链接)

实际操作步骤:

正常连线。

初始化一个ADC通道,以及一个触发脉冲引脚(不用PWM或者定时器,采用最简单的定时拉高拉低就能实现触发效果)。

通过ADC读取电压并转换为数值。

结合公式算出颗粒物的浓度。(见模块参考手册)

手册链接:https://pan.baidu.com/s/1My-k_nrXNgmyyIeJnCLaJw      提取码:c0pj

链接:https://pan.baidu.com/s/1My-k_nrXNgmyyIeJnCLaJw 提取码:c0pj  

测量结果如图:

(1)部分是:我在实验室内测得数据。

(2)部分是:我在传感器旁边放了一杆烟所测得的。

有实战项目的话,我会在后边不断更新。代码简单,就不用再贴上源码了。

 

每一个少年,心中都应有一片属于自己的江湖。

 

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3