APDS9930

最近弄了2个APDS9930模块,本来想精准的测试一下距离,但是最终经过测试,发现测出来的距离其实不是很准。

一、硬件以及连接方式


其中,出了INT可以不连,其他的必须连。
注:VL连3.3V,我最开始没有连,导致读不到距离,浪费了一段时间。 想想自己也挺二的,APDS9930毕竟是个模-数转换设备,肯定要有个参考电压呀。

二、程序

用STC的单片机写了个51程序。
http://download.csdn.net/download/j524265813/9931749

用openwrt也写了一份

http://download.csdn.net/download/j524265813/9931758

结果会写到rst1.csv里,注意每次运行前清理之前的rst1.csv


三、尝试模拟出计算距离的公式

但是距离都测不准。文档中也没有给出具体公式,就简单画了个图:


我自己亲自测试了下,曲线是比较类似:(ATIME=PTIME=0XF7,PPLUSE=0X8):

测试过程比较简单粗暴,就是把APDS9930固定到一个位置后,移动前面的遮挡物(速度靠感觉)



C1和C1.1是第一个APDS9930的连续两次测试。

C2是另外一个APDS9930的一次测试。


那么我想有可能两次手速不一样,导致测的结果存在较大差异吧,因此我把两个APDS9930固定到了一起,然后把程序改成控制2个I2C设备(由于地址都是0x39,无法用1个I2C接口来驱动),得到的结果是这样的:


我又试了很多次,也交换了两个APDS9930的位置,得到的结果永远是Prox_data先衰减,因此我觉得,可以确认不同的设备,具体距离曲线是有差异的。(我是在两个淘宝店买的)
两者分别进行拟合,得到的函数也看不到什么关联:
Prox_data:


Pro_data1:


从测试情况来看,APDS9930是没有一个准确公式来计算出距离的。哪位有什么好的办法,还请赐教。

四、一点总结

ATIME,PTIME:设置越小,意味着采样时间越长,得到的计数值越大。

比如设置为0xff时,实际是一个采样周期(256-0xff=1),那么采样时间为2.73ms。
另外还发现一点:设置成0xff时,测量到的范围很小,但是精度很高;设置成0x00时,测量范围很大,但是精度会降低。拿距离来举例,设置成.0xff时,可能量程只有5cm,设置成0x00时,量程能到15cm+。
APDS9930是一款数字环境光传感器和接近传感器芯片。它具有高分辨率和高灵敏度,可提供准确的环境光测量和物体接近检测。以下是APDS9930中文手册的主要内容。 1. 引言:介绍APDS9930的特性和应用领域,以及手册的结构和使用方法。 2. 芯片概述:详细描述APDS9930的内部结构和工作原理。介绍了光传感器和接近传感器的工作原理,以及它们在芯片中的实现方式。 3. 电气特性:列出了APDS9930的电气参数,包括工作电压、工作电流、输出电流等。还介绍了芯片的通信接口和寄存器的配置方式。 4. 光传感器:详细介绍了APDS9930的环境光传感器功能,包括光强测量范围、分辨率、采样率等。还介绍了光传感器的工作模式和配置方法。 5. 接近传感器:介绍了APDS9930的接近传感器功能,包括检测距离、响应速度、环境条件对传感器性能的影响等。还介绍了接近传感器的工作模式和配置方法。 6. 应用举例:列出了一些使用APDS9930的实际应用案例,包括智能手机的亮度感应、自动控制系统等。 7. 常见问题解答:回答了一些用户可能遇到的常见问题,提供了解决方案和建议。 总结起来,APDS9930中文手册详细介绍了该芯片的功能、工作原理、电气特性以及应用举例。对于从事传感器应用开发或对APDS9930感兴趣的用户来说,中文手册提供了必要的技术指南和使用说明,在开发过程中起到了重要的指导作用。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值