整体系统框图

FDC2214检测原理

FDC2214是基于LC谐振电路原理的四通道电容检测传感器,它将传感器电容接入振荡器LC谐振回路中,并作为回路的一部分,将电容的容量的变化转换为电路振荡频率的变化,从而根据测量频率的变化得到被测电容的变化。

测试区域的设计

  1. FDC2214的 copper Sensor部分,为传感平面,在设计中采用单面覆铜板
  2. 测试区域主要由覆铜板和有机玻璃构成,增加有机玻璃是考虑消除测试者手与覆铜板接触的影响,设计的关键在于如何设计手的放置位置,以及覆铜板的形状大小和摆放位置。
    下面想一下测试区域的方案:
    1、单通道正方形方案:选用一整块作为测试区域(20*20)cm,使用这种方案的话,FDC2214返回的测试数据隔离度大,区分度好,但是次方案对手势的放置要求高。不打算采取。
    2、七通道手指形方案:考虑到左右手的情况,考虑用7块铜板,所以需要两个FDC2214进行同时采集,这种方法测试的精度高,但是对测试者的限制要求应该挺多,而且要考虑到FDC2214 之间容易造成干扰。
    3、四通道手掌形方案:结合上面两个方案的想法,用一块较大的覆铜板,通过设置电容值梯度阈值,判断手指个数,手掌附近设置三块较小的覆铜板。通过判断逻辑0和1,来检测大拇指和手的方向。

软件设计

系统程序设计

程序设计 采用前后台的思想:后台程序是5ms的定时程序,主要完成FDC2214的数据采集和键盘的扫描处理。前台程序主要完成数据的处理,计算和显示等。程序流程图:

在按键选择上,分为两个层级,第一级选择训练模式和判别模式。训练模式完成后进入判决模式。在两种模式下,都有猜拳划拳等选择,另外可以通过清零按键中途终止进程,或者直接进行下一位的测试和判决。当按键选择当前模式后,led灯亮,进行提示。

FDC2214的数据处理

在数据处理中,上半部较大覆铜板,通过设置电容值梯度阈值来判断手指个数,而手掌附近的三块较小的铜板,通过判断逻辑0和1 来检测大拇指和判别手的方向。因此:在训练模式下,现根据测试者手的大小和相撞来确定阈值,然后根据这些阈值组合来确定手势,在判别模式下,通过训练模式下预设的阈值,判断手势。
FDC2214EVM 每个通道的数字化传感器测量值(dataX),表示该数字化传感器频率与参考频率的比值。然后对数据进一步处理,得到该通道的电容值CAP
最后,对每个通道的电容值进行滤波处理,以增强系统的抗干扰性,得到较为平滑的电容值曲线。
为了进一步增强系统的可靠性,在不影响系统封实时性的情况下,采用均值滤波法。在训练模式下,针对每个通道的卡尔曼滤波值,进行算术平均,从而确定每个通道的最佳阈值。

手势识别整体设计流程方案相关推荐

  1. 关于系统架构你不知道的那些事-架构设计流程:设计备选方案

    关于系统架构你不知道的那些事-架构设计流程:设计备选方案 前言 架构设计第 2 步:设计备选方案 第一种常见的错误:设计最优秀的方案. 第二种常见的错误:只做一个方案. 第三种常见的错误:备选方案过于 ...

  2. 关于系统架构你不知道的那些事-架构设计流程:评估和选择备选方案

    关于系统架构你不知道的那些事-架构设计流程:评估和选择备选方案 前言 架构设计第 3 步:评估和选择备选方案 评估和选择备选方案实战 备选方案 1:采用开源 Kafka 方案 备选方案 2:集群 + ...

  3. 详解数据血缘的「整体设计」与「评价方案」

    数据血缘描述了数据的来源和去向,以及数据在多个处理过程中的转换.数据血缘是组织内使数据发挥价值的重要基础能力.本文从字节的数据链路概况开始,介绍了数据血缘在字节的应用场景,总体设计,数据模型以及衡量指 ...

  4. 系统及服务器巡检流程图,业务巡检系统的整体设计和数据流程

    这是学习笔记的第1789篇文章 近期也总结了几篇关于巡检的内容,很多同学也很期待,说业务巡检是一个新概念,想做成什么样子,或者说怎么样做起来更好一些. 最近的几篇文章: 在这个基础上,我自己也梳理了不 ...

  5. EC-PCA: 利润中心会计流程设计和方案要点

    文章目录 一.概述 二.流程设计和方案要点 2.1 利润中心会计配置 2.2 利润中心段维护流程 2.3 利润中心主数据维护流程 2.4 利润中心记账流程 2.5 利润中心分配分摊流程 2.6 出具报 ...

  6. 业务巡检系统的整体设计和数据流程

    这是学习笔记的第 1789篇文章 近期也总结了几篇关于巡检的内容,很多同学也很期待,说业务巡检是一个新概念,想做成什么样子,或者说怎么样做起来更好一些. 最近的几篇文章: 在这个基础上,我自己也梳理了 ...

  7. ibatis源码学习(一)整体设计和核心流程

    本文主要从ibatis框架的基本代码骨架进行切入,理解ibatis框架的整体设计思路,各组件的实现细节将在后文进行分析. [b][size=large]背景[/size][/b] 介绍ibatis实现 ...

  8. 敏捷开发下的B端交互设计流程

    交互设计师在这整个流程中,需要主动推动项目的进展,积极沟通,充分协作.在需求阶段充分了解需求,设计阶段不断与产品经理(需求方)及相关人员(视觉.开发等)沟通,开发阶段积极传递设计目标及效果,有变更及时 ...

  9. 产品经理如何基于需求迭代产品(下篇3):产品的整体设计之逻辑层和交互层...

    上一篇:产品经理如何基于需求迭代产品(下篇2):产品的整体设计之业务层和系统层 整体设计 逻辑层:实体建模.角色结构.逻辑流程 逻辑层顾名思义,就是逻辑上的东西,是系统和业务的内在逻辑.逻辑明确才能开 ...

最新文章

  1. eclipse 设定source folder
  2. Guava 源码分析(Cache 原理)
  3. SuperSocket 1.5 Documentation译文 2 ----- 实现你的AppServer和AppSession
  4. pt-table-sync常用参考
  5. 【PM模块】技术对象管理
  6. 需求评审五个维度框架分析及其带来的启示-总起
  7. 监督学习、半监督学习、无监督学习定义
  8. python list对象
  9. Python元组练习
  10. python import如何使用_python之import引用
  11. Android中LayoutInflater()方法
  12. 关于SpringMVC中text/plain的编码导致的乱码问题解决方法
  13. git学习(三)分支管理
  14. ubuntu 双击打不开软件或者创建的快捷方式
  15. 联想A590刷机方法
  16. html华文行楷的英文,字体英文代码.htm
  17. 服务器linux搬家教程,搬迁linux服务器的流程
  18. C语言植物大战僵尸辅助(含源码),实现无尽模式最轻松的打法
  19. v-on:click获取当前事件对象元素
  20. 应届生职场入门毒打指南

热门文章

  1. [aria2c]使用aria2c下载“任务出错”的bt种子
  2. 【微信小程序】 map 组件 callout 自定义气泡 (实实在在的讲解)
  3. 加速磁盘碎片整理的六大技巧
  4. 程序员为何找不到女票的原因
  5. 动态路由、RIP以及IGRP路由的配置
  6. 寒冬,送点社区温暖。
  7. mongoose populate 填充
  8. android 打电话流程,Android 打电话 流程
  9. Nodejs之路(四)—— MongoDBMySQL
  10. r语言进行自然语言处理_开始进行自然语言处理