本帖最后由 xquery 于 2018-11-21 23:46 编辑
前言 感谢ROHM社区提供的传感器套件,RPR-0521RS是一款接近和光强二合一传感器模块。
测试目标 1、依托于STM32开发板测试RPR-0521RS模块,通过串口打印出传感器数据。 2、彻底的了解该模块的性能
硬件组成与连接 1、STM32F723E-DISCO开发板 2、ROHM的传感器底板Sensor Shield 3、RPR-0521RS接近和光强传感器 由于STM32F723E-DISCO开发板有arduino接口,插上ROHM的传感器底板刚好合适,不需要额外的接线,十分方便,最后将我们的RPR-0521RS传感器模块插入传感器底板的I2C_3接口即可。 注意需要修改传感器供电,我这里选择的是3V,安装完成如下图:
传感器认识 不用说,还是直接下载本传感器的数据手册,查看传感器框图。 传感器内部包含了红外发光模块,红外接收传感器,以及光强检测传感器,数据通过IIC接口进行交互。 IIC接口支持标准、快速模式,最大支持400KHZ,7位IIC地址为:0111000 检测范围为1-100MM 比较遗憾是是翻看了整个手册,都不知道这个传感器最大检测光强范围。
传感器的外围了解的差不多,就是读寄存器功能了。 寄存器不多,大致可以分为传感器控制寄存器,数据寄存器,中断阈值寄存器和ID寄存器。每个寄存器的功能我这边就不细说了,看手册就行。 唯一需要说明的是,本传感器的红外发射的电流是可控的,通过控制电流和接收放大倍数,可以扩大检测范围。 传感器程序初始化: 初始化完成之后,只需要将传感器的数据读出来就可以了:
说要说明的是,我翻看了整个数据手册,我都没有找到传感器光强的计算公式,这让我觉得就算有光强检测电路,也失去了定量的的意义,不能转化为lx单位,感觉很不友好。 最后,我下载了arduino程序,查看了C++的代码,才找到计算公司,我也就毫不犹豫的拿了过来,至于是否准确,这个有待商榷。我也没有手段去检测是否准确。串口输出如下:
最后我用手电筒照了了,光强有2000-3000多lx,应该还是没什么问题。
STM32F723_Discovery.rar
(15.86 MB, 下载次数: 19)
|