APDS-9960 手势传感器与 Arduino
APDS-9960 手势传感器允许检测手势,例如滑动和接近。在本教程中,我们将演示如何将 APDS-9960 连接到 Arduino,并为其编程以识别手势。最终的结果将是一个简单的设置,可以检测运动并通过串口监视器报告这些运动。本指南将帮助您了解所需的接线和代码,以开始使用手势传感器。(视频中在 00:30)

硬件揭秘
APDS-9960 是一种多功能传感器,结合了 RGB 颜色感应、环境光感应、接近感应和手势检测能力。它通过 I2C 与 Arduino 进行通信,便于简单的集成,并且 wiring 最少。该传感器仅在 3.3V 下工作,因此必须确保适当的电压水平以避免损坏设备。 在这个构建中,我们将使用 Arduino 读取手势数据。传感器通过中断输出手势信息,这使得 Arduino 能够迅速响应手部动作。将 APDS-9960 与 Arduino 集成为互动项目提供了许多可能性,包括手势控制设备。
数据表详情
| 制造商 | 博通 |
|---|---|
| 零件编号 | APDS-9960 |
| 逻辑/输入输出电压 | 2.7 - 3.6 伏 |
| 供电电压 | 3.3 伏 |
| 输出电流(每通道) | 1 毫安 |
| 峰值电流(每通道) | 10 毫安 |
| PWM频率指导 | 100 赫兹 |
| 输入逻辑阈值 | 0.3 x VDD(低),0.7 x VDD(高) |
| 电压降 / RDS(on)/ 饱和度 | 0.5 V 最大 |
| 热限制 | -40到+85°C |
| 包裹 | 6针LGA |
| 备注 / 变体 | 支持I2C通信 |
- 确保供电电压不超过3.6 V,以防止损坏。
- 在I2C线路上使用上拉电阻以确保可靠通信。
- 将传感器远离直射阳光,以确保准确的读数。
- 确保在代码中正确初始化传感器。
- 检查接线连接,以避免漂浮输入。
接线说明

要将APDS-9960连接到Arduino,首先连接电源。使用红色电线将APDS-9960的VCC引脚连接到Arduino的3.3V引脚。接下来,使用黑色电线将传感器的GND引脚连接到Arduino的接地引脚。 现在,对于I2C通信,将APDS-9960的SDA引脚连接到Arduino的A4引脚。同样,将SCL引脚连接到Arduino的A5引脚。最后,将传感器的INT引脚连接到Arduino的2号引脚。这将使Arduino能够响应传感器生成的中断。
代码示例与演示
提供的代码初始化了 APDS-9960 传感器,并设置 Arduino 以读取手势。以下是设置函数的简要摘录:
void setup() {
pinMode(APDS9960_INT, INPUT);
Serial.begin(9600);
attachInterrupt(0, interruptRoutine, FALLING);
if ( apds.init() ) {
Serial.println(F("APDS-9960 initialization complete"));
}
}在这个代码片段中,我们初始化串行监视器并设置中断引脚。传感器被初始化,并向控制台打印确认消息。 接下来,我们在循环函数中检查手势:
void loop() {
if( isr_flag == 1 ) {
detachInterrupt(0);
handleGesture();
isr_flag = 0;
attachInterrupt(0, interruptRoutine, FALLING);
}
}在这里,循环不断检查手势。当检测到手势时,中断被禁用,并调用 `handleGesture` 函数来处理手势。 最后,`handleGesture` 函数处理检测到的手势:
void handleGesture() {
if ( apds.isGestureAvailable() ) {
switch ( apds.readGesture() ) {
case DIR_UP:
Serial.println("UP");
break;
case DIR_DOWN:
Serial.println("DOWN");
break;
// Additional cases...
}
}
}在此功能中,手势被读取,并根据检测到的方向采取相应的动作。这允许根据手部动作进行互动控制。 要完整理解代码,请参阅文章下方加载的完整程序。

演示 / 期待什么
设置完成后,您可以期待 Arduino 读取手势,并在串行监视器上显示检测到的方向。简单的测试包括在传感器前将手向上、向下、向左或向右移动。如果所有连接正确,您应该会在串行监视器上看到相应的输出,以确认手势识别。请注意浮动输入,因为它们可能导致不一致的读数(视频时间为 05:20)。
视频时间戳
- 00:00- 引言
- 01:15- 硬件概述
- 03:00- 接线说明
- 04:30- 代码演示
- 06:15- 演示
This code has not been parsed yet. Please return to the admin panel to parse it.
This code has not been parsed yet. Please return to the admin panel to parse it.
资源与参考
尚无可用资源。