基于三轴加速计的三维鼠标设计探索

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:yiyong6698
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  (国防科学技术大学 计算机学院,长沙 410073)
  摘 要:计算机应用领域的扩大,应用需求的种类增多,对计算机的输入也提出了更高的要求。在二维平面运动的传统鼠标已经不能满足更高的人机交互需求,文中基于三轴加速度计ADXL345和Cortex-M0处理器,对三维鼠标的设计进行了探索。通过加速度计ADXL345完成X、Y、Z方向的数据采集,使用I2C将数据传输给Cortex-M0处理器;处理器对数据加工处理后,使用UART将动作的偏移量传输给PC机;根据三维方向的偏移量实现鼠标的三维控制。
  关键词:三轴加速计;ADXL345;Cortex-M0;三维鼠标
  中图分类号:TP391.41 文献标识码:A 文章编号:1007-9599 (2013) 09-0000-02
  1 引言
  从“图灵奖”获得者道格拉斯.恩格尔巴特(Douglas Englebart)1968年12月在IEEE会议上展示了世界上的第一个鼠标开始,多年来,从早期的机械鼠标到现在的光学鼠标,鼠标在形状、性能及工作原理上都有了巨大的变化。鼠标的使用代替了键盘繁琐的指令,使计算机的操作更加简便,鼠标也成为了计算机的重要输入设备。随着计算机三维动画图形技术的发展、三维游戏的出现,二维鼠标在三维视觉空间的使用越来越不方便。虽然鼠标上增加一个滚轮,在某些应用中实现了三维控制,但是在二维空间的操作不能满足人们三维人机交互带来的身临其境的舒适体验。因此,三维鼠标的研究和设计及其在虚拟三维现实中的应用将是一个热门课题。
  2 系统总体设计框架
  系统设计过程分为硬件设计和软件设计两部分。硬件设计部分:首先根据三轴加速度计设计一个三维数据采集电路,采集X、Y、Z方向的加速度信号;其次,设计数据处理、存储电路,将加速度计传输过来的数据进行相应处理,得到X、Y、Z方向的数据偏移量。软件设计部分:首先设计数据处理过程,将三轴加速度计传输到处理器中的原始数据进行存储、数据格式转换、数据处理;其次,设计三轴加速度计与处理器之间I2C接口驱动和处理器与PC机间的UART串口驱动。如图1是系统整体结构框图。
  图1 三维鼠标设计结构框图
  3 硬件设计方案
  加速度数据采集电路主要由三轴加速度计ADXL345来实现。ADXL345是美国模拟器件公司于推出的MEMS技术具有SPI和I2C数字输出功能的三轴加速度计,具有小巧轻薄、超低功耗、可变量程、分辨率高等特点,测量范围达±16g,数字输出数据为16位二进制补码格式,集成了32级FIFO缓存器。加速度数据采集电路加3.3V电压供电,通讯方式用I2C接口。
  处理器电路主要由Cortex-M0处理器来实现。Cortex-M0处理器是市场上现有的最小、能耗最低、最节能的ARM处理器。该处理能耗非常低、门数量少、代码占用空间小,使得MCU开发人员能够以8位处理器的价位,获得32位处理器的性能。Cortex-M0处理器对三轴加速度计采集的数据进行处理、存储,得出加速度计在三个方向上的偏移量,并通过串口发送给PC机。
  图2 硬件实际连接图
  4 软件设计方案
  三轴加速度计与处理器之间的通讯采用I2C接口模式。I2C(Inter-Integrated Circuit)总线是PHILIPS半导体公司设计出来的串行数据传输总线规范,一般有两根信号线:一要是双向的数据线SDA,另一根是时钟线SCL。两个线即可实验全双工数据传输。将ADXL345的/cs片选信号接高电平时,其工作在I2C通讯模式,与处理器的连接电路如图3所示。
  图3 I2C总线连接电路
  对接口的设置和数据的处理,使用Keil uVision4软件编写生成,并通过Flashmagic软件烧写进芯片中。
  图4 三轴加速计数据采集流程图 图5 鼠标驱动流程图
  上位机通过鼠标驱动程序,利用X方向偏移量控制光标左右移动、Y方向偏移量控制光标上下移动、Z轴方向偏移量来实现鼠标放大缩小功能。通过X、Y、Z的综合定义实现三维方向移动的功能。驱动软件流程如图5所示。
  判断鼠标的偏移量是通过计算传感器给出的加速度得出的,鼠标正常使用过程中的加速度数值为:
  X方向运动时:X轴的加速度值区间为-12g—12g,Y轴的加速度值区间为-1g—1g,Z轴的加速度值区间为-1g—1g;
  Y方向运动时:X轴的加速度值区间为-1g—1g,Y轴的加速度值区间为-12g—12g,Z轴的加速度值区间为-1g—1g;
  Z方向运动时:X轴的加速度值区间为-1g—1g,Y轴的加速度值区间为-1g—1g,Z轴的加速度值区间为-12g—12g。
  加速度值经过处理后传输给PC机的三维方向数据偏移量如图6.
  图6 三轴加速计运动时各方向加速值偏移量
  在PC机端,使用环境为Windows操作系统。PC机通过USB模拟的串口通道接收三个方向上的偏移量,采用Microsoft Visual C++6.0作为开发工具,编写驱动程序,根据三个方向的偏移量控制实现三维鼠标的功能。
  5 结束语
  通过ADXL345采集三轴加速度数值,通过Cortex-M0计算加速度数值并获取偏移量,通过串口将所获取的偏移量传给电脑,实现控制鼠标光标的移动和其他的一些必要功能。三维空间的拓展开发离不开鼠标这个经典人机交互设备的三维化,随着模拟空间的三维化,鼠标的需求还会进一步体现,但三轴加速计的天然三维性质使得它成为三维鼠标核心的首选器件,随着需求的出现,其功能也会进一步得到挖掘。
  参考文献:
  [1]贾珠红,张晓东.基于IIC的单主多从单片机之间的通信[J].微计算机信息,2009,25(3-2):101.
  [2]林邓伟,邢文生.光电鼠标芯片组在无接触检测运动物体中的应用[J].微计算机信息,2006,22(7-2).
  [3]王卓柱,周皓,等.基于鼠标芯片1P8452的方向角传感器设计[J].计算机测量与控制,2007,15(6):834-836.
  [4]Doug A.Bowman著. 张风军,纪连恩译.三维用户界面:理论与实践[M].电子工业出版社,2006.
  [5]袁西,陈栋,田湘,吕晶.三轴数字加速度计ADXL345及其在捷联惯导中的应用[J].电子设计工程,3(18).
  [6]王富东,陈蕾.微机原理与接口技术[M].苏州大学出版社.
其他文献
【摘 要】自主探究学习方式学习是指学生在教师引导下,以自己的兴趣爱好为出发点,自主地选择适合的研究课题,进行自主探究,并从中培养创新意识和创新能力的一种学习方式。这种学习方式的突出特征是学生在探究学习过程中的自由选题、自主探究,与传统被动接受学习相比,研究性学习更有利于培养学生创新能力。在信息技术中开展研究性学习,在选择研究课题时,要根据教学内容,选择适合学生认知水平和年龄特点的课题。教学过程中,
近年来,网络建设的速度和数量远非以往可比,通信行业得到了迅猛的发展。通信工程信息管理系统建设管理,也逐步由缺乏计划性的被动管理,向主动控制的项目管理阶段转变。通信工
摘要:虚拟现实是一项广泛应用于影视娱乐和科研的技术,早期硬件设备的昂贵使得其无法应用于实践教学中来,随着技术的发展,现在通过软件就能简单的实现虚拟现实,为教学实践提供了一种新的辅助手段。  关键词:虚拟现实;教学;应用  中图分类号:TP391.9 文献标识码:A文章编号:1007-9599 (2013) 05-0000-02  高等教育的专业性很强,学矿石的要知道矿石结晶的种类,构造;学化工的要
【摘 要】随着教育部对新课程改革要求的深入,全国各地学校都开展了轰轰烈烈的教学改革,普通的农村小学也不例外,也跟着改革的步伐学习、听课、反思,可是农村课堂教学现状不容乐观,课堂上老师讲得过多,学生在课堂上参与的积极性不高,合作学习时由于时间紧、任务重,常常是流于形式,学生从分组合作中得到的东西却很少,当然这与农村孩子见识少,眼界不开阔,基本上没有家长辅导,自身素质不高有关。怎样提高农村学校课堂教学