GS01是一款可以在最远3米距离跟踪人体头肩和检测五种手势的传感器
SEN0626: Gesture Sensor 手势传感器
提供用于控制GS01传感器的Arduino库。
1.要使用此库,首先下载库文件,将其粘贴到 \Arduino\libraries
目录中,然后打开示例文件夹并运行其中的示例。
2.使用该库还需下载依赖:https://github.com/DFRobot/DFRobot_RTU
/**
* @fn getGs01Pid
* @brief 获取GS01设备的PID。
* @return GS01设备的PID。
*/
uint16_t getGs01Pid();
/**
* @fn getGs01Vid
* @brief 获取GS01设备的VID。
* @return GS01设备的VID。
*/
uint16_t getGs01Vid();
/**
* @fn setDeviceAddr
* @brief 设置设备地址。
* @param addr 设备地址。
* @return 如果成功设置地址,则返回真;否则返回假。
*/
bool setDeviceAddr(uint16_t addr);
/**
* @fn configUart
* @brief 配置UART设置。
*
* 此方法用于设置设备的UART通信参数,包括波特率、校验位和停止位。
* 用户可以根据需求选择适当的参数,以确保与设备的稳定有效通信。
*
* @param baud 波特率配置,类型为`eBaudConfig_t`,可能的值包括:
* - `eBaud_1200` - 1200波特
* - `eBaud_2400` - 2400波特
* - `eBaud_4800` - 4800波特
* - `eBaud_9600` - 9600波特
* - `eBaud_14400` - 14400波特
* - `eBaud_19200` - 19200波特
* - `eBaud_38400` - 38400波特
* - `eBaud_57600` - 57600波特
* - `eBaud_115200`- 115200波特
* - `eBaud_230400`- 230400波特
* - `eBaud_460800`- 460800波特
* - `eBaud_921600`- 921600波特
*
* @param parity 校验位配置,类型为`eParityConfig_t`,可能的值包括:
* - `UART_CFG_PARITY_NONE` - 无校验
* - `UART_CFG_PARITY_ODD` - 奇校验
* - `UART_CFG_PARITY_EVEN` - 偶校验
* - `UART_CFG_PARITY_MARK` - 标记校验
* - `UART_CFG_PARITY_SPACE` - 空格校验
*
* @param stopBit 停止位配置,类型为`eStopbits_t`,可能的值包括:
* - `UART_CFG_STOP_BITS_0_5` - 0.5停止位
* - `UART_CFG_STOP_BITS_1` - 1停止位
* - `UART_CFG_STOP_BITS_1_5` - 1.5停止位
* - `UART_CFG_STOP_BITS_2` - 2停止位
*
* @return 配置状态,如果配置成功返回状态码;否则返回错误码。
*/
uint16_t configUart(eBaudConfig_t baud, eParityConfig_t parity, eStopbits_t stopBit);
/**
* @fn setFaceDetectThres
* @brief 设置人脸检测阈值。
*
* 设置人脸检测的阈值(0-100)。默认值为60%。
*
* @param score 阈值。
* @return 如果成功,返回真;否则返回假。
*/
bool setFaceDetectThres(uint16_t score);
/**
* @fn setDetectThres
* @brief 设置X坐标的检测阈值。
*
* 设置检测X坐标的阈值(0-100)。默认值为60%。
*
* @param x 阈值。
* @return 如果成功,返回真;否则返回假。
*/
bool setDetectThres(uint16_t x);
/**
* @fn setGestureDetectThres
* @brief 设置手势检测阈值。
*
* 设置手势检测的阈值(0-100)。默认值为60%。
*
* @param score 阈值。
* @return 如果成功,返回真;否则返回假。
*/
bool setGestureDetectThres(uint16_t score);
/**
* @fn getFaceNumber
* @brief 获取设备检测到的人脸数量。
* @return 检测到的人脸数量。
*/
uint16_t getFaceNumber();
/**
* @fn getFaceLocationX
* @brief 获取检测到的人脸的X坐标。
* @return 人脸的X坐标。
*/
uint16_t getFaceLocationX();
/**
* @fn getFaceLocationY
* @brief 获取检测到的人脸的Y坐标。
* @return 人脸的Y坐标。
*/
uint16_t getFaceLocationY();
/**
* @fn getFaceScore
* @brief 获取检测到的人脸的得分。
* @return 人脸的得分。
*/
uint16_t getFaceScore();
/**
* @fn getGestureType
* @brief 获取检测到的手势类型。
*
* 此方法检索当前检测到的手势类型。手势识别功能可以用于各种应用,如人机交互或控制系统。
* 返回的手势类型对应以下值:
* - 1: LIKE (👍) - 蓝色
* - 2: OK (👌) - 绿色
* - 3: STOP (🤚) - 红色
* - 4: YES (✌️) - 黄色
* - 5: SIX (🤙) - 紫色
*
* 如果没有检测到手势,返回值可能是特定的无效值(例如,0)。
*
* @return 检测到的手势类型。
*/
uint16_t getGestureType();
/**
* @fn getGestureScore
* @brief 获取检测到的手势得分。
* @return 手势得分。
*/
uint16_t getGestureScore();
MCU | 表现良好 | 表现异常 | 未测试 | 备注 |
---|---|---|---|---|
Arduino Uno | √ | |||
FireBeetle-ESP32 | √ | |||
Arduino MEGA2560 | √ | |||
Arduino Leonardo | √ | |||
Micro:bit | √ | |||
FireBeetle-M0 | √ | |||
Raspberry Pi | √ |
- Date 2024-8-1
- Version V0.1
Written by fengli([email protected]), 2024.8.01 (Welcome to our website)