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

来自Microduino Wikipedia
跳转至: 导航搜索
图库
开发
 
(未显示4个用户的10个中间版本)
第1行: 第1行:
{{Language|Microduino-Gesture }}
+
{{Language|Sensor-Gesture }}
 
{| style="width: 1000px;"
 
{| style="width: 1000px;"
 
|
 
|
 
|
 
|
[[File:Microduino-Gesture.jpg|400px|thumb|right|mCookie-Hall]]
+
[[File:Microduino-Gesture.jpg|400px|thumb|right|Sensor-Gesture]]
mCookie Sensor—Gesture产品编号:'''MSDI81'''
+
Sensor-Gesture产品编号:'''MSDI81'''
 
 
mCookie Sensor-Gesture是APDS9960
 
 
 
 
 
  
 +
Sensor-Gesture是手势传感器,可以检测手的运动方向和远近程度
  
 
==传感器引脚说明==
 
==传感器引脚说明==
 
{{Sensor_explain
 
{{Sensor_explain
 
|nameA=[[Sensor-Gesture/zh]]
 
|nameA=[[Sensor-Gesture/zh]]
|modeA=模拟信号输入
+
|modeA=SDA
|modeB=NC
+
|modeB=SCL
 
}}
 
}}
  
  
 
==特色==
 
==特色==
 +
*采用APDS9960传感器,IIC通讯
 
*检测灵敏度高,稳定性好
 
*检测灵敏度高,稳定性好
*有极性的线性霍尔传感器
+
*体积小,易安装
  
  
第31行: 第29行:
 
**板子大小:23.5mm*13mm
 
**板子大小:23.5mm*13mm
 
**1.27mm间距的4Pin接口与sensorhub相连
 
**1.27mm间距的4Pin接口与sensorhub相连
**传感器CAD图纸:'''[[File:Sensor_CAD.zip]]'''
+
**传感器CAD图纸:'''[[File:Sensor_CAD.pdf]]'''
  
 
*功能描述
 
*功能描述
**本传感器为10位ADC(0~1023),引脚IO1得到的静态数值为512。
+
**本传感器可检测手的运动方向和远近程度
**磁性根据南北极减弱增强
+
**本传感器可检测环境光和RGB颜色色度
***若以N极从背面接近霍尔电路,输出电压减小,模拟数值减小(512~0)
 
***若S极从背面接近,输出电压增加,模拟输入数值增大(512~1023);
 
***若从正面接近,输出状态与从背面接近正好相反
 
<br>
 
*[[File:Microduino-Hall_xianxingtu.JPG|600px|thumb|left]]
 
<br style="clear: left"/>
 
  
 
*接法
 
*接法
**本传感器可连接到核心的以下接口:'''A0~A7'''
+
**本传感器可连接到核心的I2C接口
  
==文档==
 
 
*原理图:'''[[File: Microduino_Gesture.Zip.pdf]]'''
 
*HAL49E datasheet:'''[[File: Microduino_Gesture_datasheet.pdf]]'''
 
 
==开发==
 
==开发==
 
===程序下载===
 
===程序下载===
*下载并解压程序'''[[File:Microduino_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行: 第106行:
 
|nameB=[[Microduino-USBTTL/zh]]
 
|nameB=[[Microduino-USBTTL/zh]]
 
|boardName=Microduino/mCookie-Core(328p)、Atmega328P@16M,5V
 
|boardName=Microduino/mCookie-Core(328p)、Atmega328P@16M,5V
|fileName=Microduino_Gesture_Test.ino
+
|fileName=Sensor-Gesture Test.ino
 
}}
 
}}
  
 
===硬件搭建===
 
===硬件搭建===
*参考下图将Sensor-Hall传感器连接'''[[Microduino-Sensorhub/zh]]'''的模拟口A0。
+
*参考下图将Sensor-Gesture传感器连接'''[[Microduino-Sensorhub/zh]]'''的IIC接口
 
<br>
 
<br>
[[file:Microduino-sensorhub_Gesture.JPG|thumb|400px|left]]
+
[[file:Microduino-sensorhub_I2C.JPG|thumb|400px|left]]
 
<br style="clear: left"/>
 
<br style="clear: left"/>
  
 
===效果观察===
 
===效果观察===
 
*下载完毕后,打开串口监视器
 
*下载完毕后,打开串口监视器
**以S极从背面接近霍尔电路,,霍尔传感器两端的输出电压在2.5V~5V,返回的模拟值在512~1023之间。
+
*手对着传感器上下左右运动,串口监视器会打印出对应的方向,例如UP,DOWN,FAR
**以N极从背面接近霍尔电路,霍尔传感器两端的输出电压在2.5V~0V,返回的模拟值在512~0之间。
+
 
**若从正面接近,输出状态与从背面接近正好相反。
 
 
==应用==
 
==应用==
*适用于检测磁场强弱
+
*适用于手势控制系统
  
===项目===
+
==项目==
  
 
==购买==
 
==购买==
  
==历史==
 
  
 
==图库==
 
==图库==

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