基于MGC3x30 GestIC的手势控制解决方案

时间:2023-06-20

  平板电脑和智能手机帮助我们推广了使用手势控制电子设备的理念。手指捏合已成为缩小屏幕对象的代名词;使用两根及以上的手指滑动屏幕,可从一个图片或应用滑动至另一个图片或应用。我们现在完全熟悉了这些简单的动作。
  随着这些手势的日常使用,它们开始延伸到其他技术领域。这对于汽车应用而言很重要,能够在不分散驾驶员注意力的情况下实现控制功能。通常,此类手势界面用作仪表板交互显示屏的辅助部分。但是,手势界面的关键优势是它不需要复杂的视觉显示。设备上的声音消息或灯光配置变化,可用于指示手势已被识别以及状态已经变化。因此,在作为物联网 (IoT) 的一部分提供环境智能的设备中,手势界面将是非常有用的。
  无需图形界面的设备手势比智能手机上的手势更加简单,后者通常会对使用手指数量的变化做出响应。这些更简单的界面通常基于整只手的移动。在传感器面板前做向上扫动手势,可指示室内控制系统开灯。水平扫动手势可指示供暖控制系统提高或降低温度。手指快速轻拂,可以前进到另一项功能,或者指示娱乐系统前进到下一个音轨。
  手势的含义可以变化,具体取决于传感器面板处于何种模式,或许简单的 LED 报警器图标或语音消息会告诉用户哪一种模式是活动的。通过与室内各个系统建立网络连接,传感器面板可以控制多种功能,这也是物联网基础设施的主要优势之一。传感器面板可以集成到桌子、墙壁控制以及扬声器等电子设备中。多部设备可同时与物联网系统协调,在室内的不同位置提供便利的控制。
  有多种方式可以检测手势动作,包括摄像头和接近传感器。但是,在物联网应用中,成本是一大问题。基于摄像头的解决方案需要复杂的软件来处理图像,但实现了很高的灵活性,并具备了识别多种不同手势的能力。
  电场传感器则拥有更低的成本且操作更简单。该传感器使用由交流电驱动的电极,在物体表面上方形成电场。可以选择频率将电磁的磁场分量降至,并形成准静态近场,当传导性物体(例如手)移动到范围内,会对该电场产生干扰。

  当用户的手进入感测范围内时,传入的电场线将通过用户的身体分流到大地,使整个电场发生失真。这种效应将靠近手的电极信号电平降低到较低的水平,而传感器阵列可以检测到这一变化。手四处移动时,阵列的不同部分拾取这种运动,并将电势变化告知控制器 IC,例如 Microchip Technology 的 MGC3x30 GestIC。

  GestIC 为多五个接收电极和一个信号发射器提供了接口。接收和发射电极可采用任何导电材料制成,例如织物状铜网或氧化铟锡 (ITO)。电极之间的隔离可以是任何不导电材料,包括阻燃纤维玻璃环氧树脂 (FR4 PCB)、玻璃或塑料。电极顶部的可选覆盖层也必须是不导电的。发射电极放置在接收电子元件阵列下方。
  该设计提供标准和升压传感器两种选择。标准传感器适合通常采用电池供电的小型设备,这些设备与地面有弱连接。升压传感器类型使用更高的发射电压,适合具有接地连接的大型设备,包括需要较大识别范围的设备。使用标准传感器配置,接地连接可提供通常高达 100 mm 的更大识别范围,而电池供电的未接地设备的识别范围仅为 50 mm。传感器形状大约为方形或圆形,宽高比不超过 1:3。
  GestIC 硬件识别人手的电中心点,当该点在传感器范围内移动时,还可跟踪该点。用户手的 XY 位置被多四个传感器电极拾取。第五个连接可用作按钮或中心电极,以识别简单的“按钮触摸”手势。
  为了简化在系统中的集成,GestIC 器件包含自身的手势处理固件,存储在内部闪存中。该固件包括基于隐马尔可夫模型的 Colibri Suite 数字信号处理 (DSP) 算法,可执行各种功能,例如接近检测、位置跟踪和手势识别。它们还能够使用基于消息的接口,将状态更新发送至微控制器 (MCU),另外还提供了处理固件更新的功能。
  MCU 和 MGC3X30 之间的通信是使用 I2C 兼容双线串行接口实现的。这使 MCU 能够读取传感器数据,并将控制消息发送至芯片。它提供一个地址引脚,用于在同一总线上的多两个 MGC3X30 器件之间进行选择。GestIC 固件会更新传感器读数,默认速率为 5 ms,每次会更新串行端口消息缓冲区,并将传输状态 (TS) 线拉低,指示有可用的新读数。
  主机可以设置多个运行时参数,包括 GestIC 器件将要检测的手势类型。Set_Runtime_Parameter 的 0xA2 命令使用位掩码,筛选出不需要的手势类型。禁用某些手势有助于提高其他手势的识别概率,从而改进简单控制接口的可用性。GestIC 能够识别的手势包括沿直角坐标轴方向的轻拂,以及顺时针和逆时针方向的画圈。

  GestIC 固件还提供手在传感器电场范围内移动时的位置更新,并与手势更新一起输出。其他信息包括第五个电极辅助识别的触控事件,以及 AirWheel 数据。AirWheel 的工作方式与老式便携式音乐播放器上的滚轮非常相似,但要在设备表面上方执行手势。
  为了让工程师能够更简单地为主机 MCU 开发软件,Microchip 开发了基于 C 语言的 API,还有参考代码提供支持。该 API 处理各种功能,包括控制消息缓冲区、将消息位掩码解码为 C 结构、执行事件处理。这些功能可让主机 MCU 摆脱低级别协议及其时间约束。为了支持设计,还要在基于 Windows 的 PC 上运行第二个软件包 Aurea。该软件可解析由 GestIC 发送的消息,并视觉呈现手势和位置数据。使用 Aurea,开发人员可以优化感测参数和布局,以便对目标应用提供支持。配套开发套件提供了 I2C USB 桥,以便为传感器和软件开发提供原型支持。

上一篇:SensorTile开发套件及无线解决方案
下一篇:AVR单片机外部中断实例

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料