首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >光感红外接近传感器AP3426调试总结

光感红外接近传感器AP3426调试总结

原创
作者头像
番茄老夫子
发布2023-10-30 14:19:32
发布2023-10-30 14:19:32
46300
代码可运行
举报
运行总次数:0
代码可运行

一 概念

AP3426是一个高度集成了红外,光感和接近角的传感器。该传感器凭借着高灵敏度广泛应用在可穿戴领域。笔者在一个产品上用了这个传感器。花了一些时间来调试和熟悉这个传感器,这里就做一个总结吧。

二 硬件解析

1 硬件原理:

这个原理图是官方提供的,我们按照这个来做产品,是可以正常工作的。

2 接口含义:

这个是该芯片的接口含义,这个接口如上所示:

三 软件解析

1 初始化:

该芯片的初始化非常简单,只需要把系统复位一下,是能这几个传感器即可。然后设置传感器的阈值。

代码语言:javascript
代码运行次数:0
运行
复制
    AP3426_WriteOneByte(SYS_CONTROL_ADDR,AP3426_MODE_SW_RESET ); // AP3426 execute reset
    osDelay(50);
    AP3426_WriteOneByte(SYS_CONTROL_ADDR,AP3426_MODE_IR_ALS_AND_PS ); // AP3426 enable IR, ALS and PsData
    osDelay(50);
    AP3426_WriteOneByte(PS_Low_LowThreshold, Init_ps_lowThreshold); //PS Low Threshold=0x200
    osDelay(50);
    AP3426_WriteOneByte(PS_High_LowThreshold, Init_pshi_lowbyteThreshold); //PS High Threshold=500
    AP3426_WriteOneByte(PS_High_LowThreshold, Init_pshi_upbyteThreshold); //PS High Threshold=500
    osDelay(50);

2 数据获取:这个是其中的一个数据获取。

代码语言:javascript
代码运行次数:0
运行
复制
void AP3426_Read_ALS_Data(uint16_t* als)
{
 uint8_t als_l = 0, als_h = 0;
 als_l = AP3426_ReadOneByte(ALS_Data_Low);
 als_h = AP3426_ReadOneByte(ALS_Data_High);
 *als = (als_h << 8) | (als_l);
}

四 总结

接下来,就是在正常的产品中,好好测试一下该模块的性能了。在做产品的同时,我们把该芯片做成了一个模块,并把配套的资料都准备好了。这个不仅可以自己用,也可以给有需求的伙伴使用了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档