手势识别整体设计流程方案
整体系统框图
FDC2214检测原理
FDC2214是基于LC谐振电路原理的四通道电容检测传感器,它将传感器电容接入振荡器LC谐振回路中,并作为回路的一部分,将电容的容量的变化转换为电路振荡频率的变化,从而根据测量频率的变化得到被测电容的变化。
测试区域的设计
- FDC2214的 copper Sensor部分,为传感平面,在设计中采用单面覆铜板
- 测试区域主要由覆铜板和有机玻璃构成,增加有机玻璃是考虑消除测试者手与覆铜板接触的影响,设计的关键在于如何设计手的放置位置,以及覆铜板的形状大小和摆放位置。
下面想一下测试区域的方案:
1、单通道正方形方案:选用一整块作为测试区域(20*20)cm,使用这种方案的话,FDC2214返回的测试数据隔离度大,区分度好,但是次方案对手势的放置要求高。不打算采取。
2、七通道手指形方案:考虑到左右手的情况,考虑用7块铜板,所以需要两个FDC2214进行同时采集,这种方法测试的精度高,但是对测试者的限制要求应该挺多,而且要考虑到FDC2214 之间容易造成干扰。
3、四通道手掌形方案:结合上面两个方案的想法,用一块较大的覆铜板,通过设置电容值梯度阈值,判断手指个数,手掌附近设置三块较小的覆铜板。通过判断逻辑0和1,来检测大拇指和手的方向。
软件设计
系统程序设计
程序设计 采用前后台的思想:后台程序是5ms的定时程序,主要完成FDC2214的数据采集和键盘的扫描处理。前台程序主要完成数据的处理,计算和显示等。程序流程图:
在按键选择上,分为两个层级,第一级选择训练模式和判别模式。训练模式完成后进入判决模式。在两种模式下,都有猜拳划拳等选择,另外可以通过清零按键中途终止进程,或者直接进行下一位的测试和判决。当按键选择当前模式后,led灯亮,进行提示。
FDC2214的数据处理
在数据处理中,上半部较大覆铜板,通过设置电容值梯度阈值来判断手指个数,而手掌附近的三块较小的铜板,通过判断逻辑0和1 来检测大拇指和判别手的方向。因此:在训练模式下,现根据测试者手的大小和相撞来确定阈值,然后根据这些阈值组合来确定手势,在判别模式下,通过训练模式下预设的阈值,判断手势。
FDC2214EVM 每个通道的数字化传感器测量值(dataX),表示该数字化传感器频率与参考频率的比值。然后对数据进一步处理,得到该通道的电容值CAP
最后,对每个通道的电容值进行滤波处理,以增强系统的抗干扰性,得到较为平滑的电容值曲线。
为了进一步增强系统的可靠性,在不影响系统封实时性的情况下,采用均值滤波法。在训练模式下,针对每个通道的卡尔曼滤波值,进行算术平均,从而确定每个通道的最佳阈值。
手势识别整体设计流程方案相关推荐
- 关于系统架构你不知道的那些事-架构设计流程:设计备选方案
关于系统架构你不知道的那些事-架构设计流程:设计备选方案 前言 架构设计第 2 步:设计备选方案 第一种常见的错误:设计最优秀的方案. 第二种常见的错误:只做一个方案. 第三种常见的错误:备选方案过于 ...
- 关于系统架构你不知道的那些事-架构设计流程:评估和选择备选方案
关于系统架构你不知道的那些事-架构设计流程:评估和选择备选方案 前言 架构设计第 3 步:评估和选择备选方案 评估和选择备选方案实战 备选方案 1:采用开源 Kafka 方案 备选方案 2:集群 + ...
- 详解数据血缘的「整体设计」与「评价方案」
数据血缘描述了数据的来源和去向,以及数据在多个处理过程中的转换.数据血缘是组织内使数据发挥价值的重要基础能力.本文从字节的数据链路概况开始,介绍了数据血缘在字节的应用场景,总体设计,数据模型以及衡量指 ...
- 系统及服务器巡检流程图,业务巡检系统的整体设计和数据流程
这是学习笔记的第1789篇文章 近期也总结了几篇关于巡检的内容,很多同学也很期待,说业务巡检是一个新概念,想做成什么样子,或者说怎么样做起来更好一些. 最近的几篇文章: 在这个基础上,我自己也梳理了不 ...
- EC-PCA: 利润中心会计流程设计和方案要点
文章目录 一.概述 二.流程设计和方案要点 2.1 利润中心会计配置 2.2 利润中心段维护流程 2.3 利润中心主数据维护流程 2.4 利润中心记账流程 2.5 利润中心分配分摊流程 2.6 出具报 ...
- 业务巡检系统的整体设计和数据流程
这是学习笔记的第 1789篇文章 近期也总结了几篇关于巡检的内容,很多同学也很期待,说业务巡检是一个新概念,想做成什么样子,或者说怎么样做起来更好一些. 最近的几篇文章: 在这个基础上,我自己也梳理了 ...
- ibatis源码学习(一)整体设计和核心流程
本文主要从ibatis框架的基本代码骨架进行切入,理解ibatis框架的整体设计思路,各组件的实现细节将在后文进行分析. [b][size=large]背景[/size][/b] 介绍ibatis实现 ...
- 敏捷开发下的B端交互设计流程
交互设计师在这整个流程中,需要主动推动项目的进展,积极沟通,充分协作.在需求阶段充分了解需求,设计阶段不断与产品经理(需求方)及相关人员(视觉.开发等)沟通,开发阶段积极传递设计目标及效果,有变更及时 ...
- 产品经理如何基于需求迭代产品(下篇3):产品的整体设计之逻辑层和交互层...
上一篇:产品经理如何基于需求迭代产品(下篇2):产品的整体设计之业务层和系统层 整体设计 逻辑层:实体建模.角色结构.逻辑流程 逻辑层顾名思义,就是逻辑上的东西,是系统和业务的内在逻辑.逻辑明确才能开 ...
最新文章
- eclipse 设定source folder
- Guava 源码分析(Cache 原理)
- SuperSocket 1.5 Documentation译文 2 ----- 实现你的AppServer和AppSession
- pt-table-sync常用参考
- 【PM模块】技术对象管理
- 需求评审五个维度框架分析及其带来的启示-总起
- 监督学习、半监督学习、无监督学习定义
- python list对象
- Python元组练习
- python import如何使用_python之import引用
- Android中LayoutInflater()方法
- 关于SpringMVC中text/plain的编码导致的乱码问题解决方法
- git学习(三)分支管理
- ubuntu 双击打不开软件或者创建的快捷方式
- 联想A590刷机方法
- html华文行楷的英文,字体英文代码.htm
- 服务器linux搬家教程,搬迁linux服务器的流程
- C语言植物大战僵尸辅助(含源码),实现无尽模式最轻松的打法
- v-on:click获取当前事件对象元素
- 应届生职场入门毒打指南