arduino体感控制简单版

Posted kekeoutlook

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了arduino体感控制简单版相关的知识,希望对你有一定的参考价值。

 

https://learn.sparkfun.com/tutorials/apds-9960-rgb-and-gesture-sensor-hookup-guide/all

技术图片

 

 硬件连线

关键 VCC=  3.3v  不是 5v

技术图片

 

技术图片

 

 

下面这个库实测不起作用,不知道为什么

 技术图片

 

 可用的库

技术图片

 

 

程序

/*
  APDS9960 - Gesture Sensor

  This example reads gesture data from the on-board APDS9960 sensor of the
  Nano 33 BLE Sense and prints any detected gestures to the Serial Monitor.

  Gesture directions are as follows:
  - UP:    from USB connector towards antenna
  - DOWN:  from antenna towards USB connector
  - LEFT:  from analog pins side towards digital pins side
  - RIGHT: from digital pins side towards analog pins side

  The circuit:
  - Arduino Nano 33 BLE Sense

  This example code is in the public domain.
*/

#include <Arduino_APDS9960.h>

void setup() {
  Serial.begin(9600);
  while (!Serial);

  if (!APDS.begin()) {
    Serial.println("Error initializing APDS9960 sensor!");
  }

  // for setGestureSensitivity(..) a value between 1 and 100 is required.
  // Higher values makes the gesture recognition more sensible but less accurate
  // (a wrong gesture may be detected). Lower values makes the gesture recognition
  // more accurate but less sensible (some gestures may be missed).
  // Default is 80
  //APDS.setGestureSensitivity(80);

  Serial.println("Detecting gestures ...");
}
void loop() {
  if (APDS.gestureAvailable()) {
    // a gesture was detected, read and print to serial monitor
    int gesture = APDS.readGesture();

    switch (gesture) {
      case GESTURE_UP:
        Serial.println("Detected UP gesture");
        break;

      case GESTURE_DOWN:
        Serial.println("Detected DOWN gesture");
        break;

      case GESTURE_LEFT:
        Serial.println("Detected LEFT gesture");
        break;

      case GESTURE_RIGHT:
        Serial.println("Detected RIGHT gesture");
        break;
        
      case GESTURE_DOWN:
        Serial.println("Detected DOWN gesture");
        break;
      default:
        // ignore
        break;
    }
  }
}

1测试的时候刚上电不要对着强光,否则触发不了。

此函数来调整光触发值,0-100  默认80

技术图片

 

 

应该是有一个光照强度值,跟初始上电瞬间采集到的光照有关系,基准值,发现触发不了的情况,断电,不要对着强光重启,复位不行。 

2实际测试,其他物体也可以触发

 

还有2种其他手势可用:NEAR和FAR。

将手放在传感器上方(大于10英寸(25厘米)),使其靠近传感器(在传感器上方约2英寸(5厘米)),将其保持在至少1秒钟,然后移开您的手。

可以通过以下方式实现FAR手势:将手直接放在传感器上方并靠近传感器(大约2英寸(5厘米))至少1秒钟,然后将手直接向上移至传感器上方并超出传感器范围。

如果未正确解释手势,则“无”将出现在串行监视器中。

 

技术图片

 

 技术图片

 

 

以上是关于arduino体感控制简单版的主要内容,如果未能解决你的问题,请参考以下文章

如何使用arduino控制一个5V电机

基于unity3D游戏引擎与leap motion体感控制器的体感音乐交互类游戏

arduino接收串口屏指令?

如何处理单个活动的多个片段

进阶之路(中级篇) - 018 基于arduino的简易版智能衣架

Arduino ESP32 Web服务器控制舵机