微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 互动实时检测电路

互动实时检测电路

时间:10-02 整理:3721RD 点击:

上一贴中我们介绍了检测模量模量的方法以及简单处理外部信号的算法,本节中我们将以更复杂的方式实现更佳用户体验的交互模式。

材料预备:
锆石 A4 FPGA开发套件一套,
运动模量检测模块一枚,
ttl转usb编程器一个(如果您的运动模量检测装置可直接连接电脑烧录内容,此器物可略去),
杜邦线若干,
至少有一个手是能动的操作人员一名
电脑或x86开发板一台
带有VGA接口的电视机或显示屏或投影机一台

首先,我们在上一贴的基础上再追加一个算法:
模量矩阵算法:

  1. eye(dv0);
  2.   for (i = 0; i < 9; i++) {
  3.     a[i] = (real32_T)dv0[i] + O[i] * dt;
  4.   }

复制代码


然后,我们往前一个FPGA代码里增加一个逻辑式组,命名为反序,即输入为1,输出为0,输入为0,输出为一,
布尔逻辑为:



因为FPGA是电路描述语言,而电路是并行进行的,所以这串代码组随便放在可运行到的电路位置即可,这是FPGA的方便之处,这一点相较与C,显然FPGA更加方便易用。

然后,定义一下这个电路的输出脚和输入脚,把它挂载到模量检测输出端口的信号端上,然后我们从信号端另引一支判断电路,逻辑规则如下:

通过这一方法,我们把重力方向的偏转角积分到加速度模量所转化的角速度上,这样,这样我们的手臂在感知的相对上下左右运动下,处理后的信号便能识别这种感知的相对方位,而不用手臂遵照绝对方位运动,因为我们最终构建的系统是方便用户使用的,这样就避免了用户非要端正坐姿让肢体做绝对位置的上下左右运动,毕竟人不是机器,过于规板太累,一个好产品,好设备的标准虽然有很多,但让人用着舒服,愿意购买,便遵循了其中重要的一点。
这样,即使躺着或歪斜状态下,机器所接收到的指令与用户想发出的指令保持一致,这样就避免了感知方位与绝对方位的偏差。

然后,我们来优化一下交互界面,首先我们测试一下识别精准度与可量化分级的范围

我们将识别的量化级别分成上下左右前后六种,
它们就像六个不同的按键,

相较于传统按键,传统按键彼此独立,物理区域上相分离,
而模量型的虚拟键位具有深浅及渐变,且逻辑上相互关联,
更加贴合用户的操作需求,

我们将模量键位如下定义

上下左右即平面触控中的上下左右,不再解释,
向前相当于确定键,

向后相当于返回键,

其实它还可以检测到 左上 左下 右上 右下 键位
只是为了操作更加明确,避免量化分级过细而造成的误操作


然后,我们进行用户UI交互界面设计,
我们先来制作简洁明了的界面,以便实现基本功能,
然后再去考虑往上面套花哨的壳,

量化成四级还是比较稳的


然后加上想要的功能


然后,可以用透明算法累加背景
为简化代码结构   
我们先不累加   
使代码易于读懂   

然后   我们做个解读bmp的图片播放

我们先将bmp算法取出,将关键字替换成FPGA编译器可解析的字码,也就是移植操作   

代码包如下:



然后,再做个切换界面     

如图所示










码字中,此帖将会重新编辑,敬请期待



等着呢

感谢您的支持,我会尽快更新的

小板凳已备好

感谢您的支持,本帖将会不断更新

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top