“Sensor-Gesture/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
开发
 
(未显示同一用户的1个中间版本)
第40行: 第40行:
 
==开发==
 
==开发==
 
===程序下载===
 
===程序下载===
*下载并解压程序'''[[File:Sensor-Gesture_Test.zip]]'''
+
复制如下程序至Microduino IDE中,可以测试手势检测功能是否正常。
 +
使用时正对传感器,做出标准的向左、向右、向上、向下的挥手动作,观察串口返回值
 +
<source lang="cpp">
 +
#include <Microduino_Gesture.h>
 +
 
 +
// Global Variables
 +
Gesture gestureSensor;
 +
 
 +
void setup() {
 +
  // Initialize Serial port
 +
  Serial.begin(9600);
 +
 
 +
  // Initialize Gesture (configure I2C and initial values)
 +
  if ( gestureSensor.begin() ) {
 +
    Serial.println(F("Gesture initialization complete"));
 +
  } else {
 +
    Serial.println(F("Something went wrong during Gesture init!"));
 +
  }
 +
 
 +
  if (gestureSensor.setGestureGain(GGAIN_2X)) { //GGAIN_1X GGAIN_2X GGAIN_4X GGAIN_8X
 +
    Serial.println(F("Gesture setGestureGain complete"));
 +
  } else {
 +
    Serial.println(F("Something went wrong during APDS-9960 setGestureGain!"));
 +
  }
 +
 
 +
  // Start running the Gesture gesture sensor engine
 +
  if ( gestureSensor.enableGestureSensor(true) ) {
 +
    Serial.println(F("Gesture sensor is now running"));
 +
  } else {
 +
    Serial.println(F("Something went wrong during gesture sensor init!"));
 +
  }
 +
}
 +
 
 +
void loop() {
 +
  if ( gestureSensor.isGestureAvailable() ) {
 +
    switch ( gestureSensor.readGesture() ) {
 +
      case DIR_UP:
 +
        Serial.println("UP");
 +
        break;
 +
      case DIR_DOWN:
 +
        Serial.println("DOWN");
 +
        break;
 +
      case DIR_LEFT:
 +
        Serial.println("LEFT");
 +
        break;
 +
      case DIR_RIGHT:
 +
        Serial.println("RIGHT");
 +
        break;
 +
      case DIR_NEAR:
 +
        Serial.println("NEAR");
 +
        break;
 +
      case DIR_FAR:
 +
        Serial.println("FAR");
 +
        break;
 +
      default:
 +
        Serial.println("NONE");
 +
    }
 +
  }
 +
}
 +
</source>
  
 
===程序烧写===
 
===程序烧写===
第59行: 第118行:
 
*下载完毕后,打开串口监视器
 
*下载完毕后,打开串口监视器
 
*手对着传感器上下左右运动,串口监视器会打印出对应的方向,例如UP,DOWN,FAR
 
*手对着传感器上下左右运动,串口监视器会打印出对应的方向,例如UP,DOWN,FAR
 +
 
==应用==
 
==应用==
 
*适用于手势控制系统
 
*适用于手势控制系统

2018年11月15日 (四) 10:10的最新版本

Language English
Sensor-Gesture

Sensor-Gesture产品编号:MSDI81

Sensor-Gesture是手势传感器,可以检测手的运动方向和远近程度

传感器引脚说明

Sensor backpin.png
  • 传感器的引脚:
    • PIN1:GND
    • PIN2:VCC
    • 一般信号引脚:
      • PIN3(IO1):数字信号/模拟信号
      • PIN4(IO2):NC(空)
    • 特殊信号引脚:
      • 若为IIC:IO1/IO2 分别为 SDA/SCL
      • 若为软串口:IO1/IO2 分别为 tx/rx
  • 针对Sensor-Gesture/zh传感器引脚
    • PIN1:GND
    • PIN2:VCC
    • PIN3(IO1):SDA
    • PIN4(IO2):SCL


mCookie传感器可通过连接Microduino-Module Sensor Hub/zh来和核心模块通讯


特色

  • 采用APDS9960传感器,IIC通讯
  • 检测灵敏度高,稳定性好
  • 体积小,易安装


规格

  • 传感器电压
    • 3.3V~5V工作电压
  • 传感器大小
    • 板子大小:23.5mm*13mm
    • 1.27mm间距的4Pin接口与sensorhub相连
    • 传感器CAD图纸:文件:Sensor CAD.pdf
  • 功能描述
    • 本传感器可检测手的运动方向和远近程度
    • 本传感器可检测环境光和RGB颜色色度
  • 接法
    • 本传感器可连接到核心的I2C接口

开发

程序下载

复制如下程序至Microduino IDE中,可以测试手势检测功能是否正常。 使用时正对传感器,做出标准的向左、向右、向上、向下的挥手动作,观察串口返回值

#include <Microduino_Gesture.h>

// Global Variables
Gesture gestureSensor;

void setup() {
  // Initialize Serial port
  Serial.begin(9600);

  // Initialize Gesture (configure I2C and initial values)
  if ( gestureSensor.begin() ) {
    Serial.println(F("Gesture initialization complete"));
  } else {
    Serial.println(F("Something went wrong during Gesture init!"));
  }

  if (gestureSensor.setGestureGain(GGAIN_2X)) { //GGAIN_1X GGAIN_2X GGAIN_4X GGAIN_8X
    Serial.println(F("Gesture setGestureGain complete"));
  } else {
    Serial.println(F("Something went wrong during APDS-9960 setGestureGain!"));
  }

  // Start running the Gesture gesture sensor engine
  if ( gestureSensor.enableGestureSensor(true) ) {
    Serial.println(F("Gesture sensor is now running"));
  } else {
    Serial.println(F("Something went wrong during gesture sensor init!"));
  }
}

void loop() {
  if ( gestureSensor.isGestureAvailable() ) {
    switch ( gestureSensor.readGesture() ) {
      case DIR_UP:
        Serial.println("UP");
        break;
      case DIR_DOWN:
        Serial.println("DOWN");
        break;
      case DIR_LEFT:
        Serial.println("LEFT");
        break;
      case DIR_RIGHT:
        Serial.println("RIGHT");
        break;
      case DIR_NEAR:
        Serial.println("NEAR");
        break;
      case DIR_FAR:
        Serial.println("FAR");
        break;
      default:
        Serial.println("NONE");
    }
  }
}

程序烧写

    • 用数据线连接其中的Microduino-USBTTL/zh准备上传程序
    • 注意:最好不要将所有模块堆叠在一起之后再上传程序
  • 打开Arduino IDE for Microduino,环境,(搭建参考:AVR核心:Getting started/zh
  • 点击【工具】,确认开发板/处理器(Microduino/mCookie-Core(328p)、Atmega328P@16M,5V)选择无误,并选中对应端口号(COMX)
  • 点击【文件】->【打开】,浏览到项目程序地址,点击“Sensor-Gesture Test.ino”程序打开
  • 几项都无误后,点击"→"按钮下载程序到开发板上

硬件搭建


Microduino-sensorhub I2C.JPG


效果观察

  • 下载完毕后,打开串口监视器
  • 手对着传感器上下左右运动,串口监视器会打印出对应的方向,例如UP,DOWN,FAR

应用

  • 适用于手势控制系统

项目

购买

图库

Sensor-Gesture Front
Sensor-Gesture Back