搜索代码

APDS-9960 手势传感器与 Arduino

APDS-9960 手势传感器与 Arduino

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

APDS-9960 gesture sensor module -1

硬件揭秘

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线路上使用上拉电阻以确保可靠通信。
  • 将传感器远离直射阳光,以确保准确的读数。
  • 确保在代码中正确初始化传感器。
  • 检查接线连接,以避免漂浮输入。

接线说明

Arduino wiring for APDS9960 Gesture sensor
Arduino wiring for APDS9960 Gesture sensor

要将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...
    }
  }
}

在此功能中,手势被读取,并根据检测到的方向采取相应的动作。这允许根据手部动作进行互动控制。 要完整理解代码,请参阅文章下方加载的完整程序。

APDS-9960 gesture sensor -3

演示 / 期待什么

设置完成后,您可以期待 Arduino 读取手势,并在串行监视器上显示检测到的方向。简单的测试包括在传感器前将手向上、向下、向左或向右移动。如果所有连接正确,您应该会在串行监视器上看到相应的输出,以确认手势识别。请注意浮动输入,因为它们可能导致不一致的读数(视频时间为 05:20)。

视频时间戳

  • 00:00- 引言
  • 01:15- 硬件概述
  • 03:00- 接线说明
  • 04:30- 代码演示
  • 06:15- 演示

图像

APDS-9960 gesture sensor module -2
APDS-9960 gesture sensor module -2
APDS-9960 gesture sensor module -1
APDS-9960 gesture sensor module -1
APDS-9960 gesture sensor -3
APDS-9960 gesture sensor -3
Arduino wiring for APDS9960 Gesture sensor
Arduino wiring for APDS9960 Gesture sensor
1-Code for an APDS-9960 gesture sensor for Arduino
语言: C++
This code has not been parsed yet. Please return to the admin panel to parse it.
2-Source code for controlling a servo with your hand
语言: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

资源与参考

尚无可用资源。

文件📁

其他文件