APDS-9960手势传感器怎么接线?Arduino检测左右挥手避坑

2026-10-18 09:39:43 47阅读

想做一个“挥手亮灯”“挥一下翻页”的免接触装置,APDS-9960是很合适的选择。它一颗芯片集成了手势、近距离、RGB色彩和环境光四种功能,走I2C接口,接Arduino就行。这篇文章讲清接线和手势识别的几个关键点。

APDS-9960手势传感器与Arduino I2C接线图

接线:四根线一次搞定

APDS-9960模块一般引出VIN(或VCC)、GND、SDA、SCL,外加一个INT中断脚。VIN接3.3V或5V(板载稳压会给芯片降到3.3V),GND共地,SDA接A4、SCL接A5。它的I2C地址是固定的0x39,没法改。

INT是可选中断脚,可接Arduino的D2配合中断检测“有新读数”,如果不想用中断,轮询读取也能跑。要注意芯片本身的逻辑是3.3V,合封板多数已做电平处理接5V主控没问题,但裸片和一些平价板用5V主控时留意是否需要电平配。

很多教程提示手势传感尽量让传感器正面朝上没有遮挡,且手要在它正上方两三厘米的地方活动,角度和距离都影响识别率。

APDS-9960手势挥手控制LED应用场景

手势不是一挥手就行,要先“激活”

用Adafruit的APDS-9960库,流程是enableProximity开启近距离,再enableGesture开启手势。之后在循环里不断调用gesture(),返回非0值就代表捕捉到一次手势,数值1/2/3/4分别对应上/下/左/右。

最容易踩的坑是:必须先让手快速靠近传感器激活手势模式,再做滑动手势,否则它根本不识别。官方经验是手先到传感器正上方接近、触发近距离,然后才做左右或上下挥动。

三个高频坑提前避开

坑一:手势没反应。多数是没先“靠近激活”,或者手势速度太慢/太高。手离传感器几厘米内、干净利落地划过,识别最稳。

坑二:A4/A5或I2C地址搞错,扫描不到0x39设备。

坑三:供电用5V而板子没做电平转换导致通信异常。买板前看清是否兼容5V,或统一用3.3V。

跑通后,做挥手免触开关、手势翻页尺子、或者智能灯挥手调亮度,都很有成就感。


作者:隔壁老王的教程
链接:https://www.aiddithome.com/p/14e69b8dab4502.html
本作版权归作者所有,未经允许请勿转载。若存在违规行为,您可以点击 “举报”。


登录 后发表评论
4条评论
线比代码多
1楼 · 2026-10-18 09:39:45

挥手免触开关做出来很有成就感,比按键好用多了

拆开看看再说
2楼 · 2026-10-18 09:39:44

手势要先靠近传感器激活再做滑动,我一开始直接挥怎么都不识别

刷着刷着入坑了
3楼 · 2026-10-18 09:39:44

手要离传感器几厘米内、干净利落地划过,识别最稳

入门没多久的新手
4楼 · 2026-10-18 09:39:44

地址是固定的0x39,先扫I2C确认在不在,别急着改代码