基于机顶盒的鼠标模式设计
2016-06-11刘刚
刘刚
摘 要:多数机顶盒上只提供上下左右的滑动方式在不同选项之间选择,而设计优化了一种新的方式,该方式可以让机顶盒的用户做到定点选择该方式是利用一种多功能触屏遥控器实现的遥控器内部由单片机做主控芯片,采集触摸屏的数据并判断用户操作的当前状态,如果是滑动操作再由量化算法计算出移动距离的量化结果$最后,自定义一种红外协议,将数据通过这种红外协议发送给机顶盒,以达到控制机顶盒的目的$实验结果表明遥控器的平均正确操作率在95%以上,而且定位精度和有线鼠标接近,易操作性良好。
关键词:触摸屏遥控器;鼠标模式;机顶盒控制;红外协议
一、鼠标模式硬件平台
本文设计的触摸屏遥控器是全触屏控制鼠标,就像便携式计算机的触摸板,控制方便,具有诸多优点:
(一)由单片机开发,成本更低廉;
(二)手掌大小的而积,产品更轻便;
(三)鼠标模式只有4个功能触摸键和两个操作区,更易学易用;
(四)功能由软件编程实现,可重开发;
(五)角虫摸屏可印刷,可定制;
(六)充电式电池供电,环保省电,使用成本低。控制器采用HAV 1007型号单片机,此款单片机集成C* Core和触控芯片于一身,可以直接连接触摸屏,是一款专门为触屏设备设计的功能强大的单片机。
二、鼠标模式软件设计
整个鼠标的实现可以分为3个步骤:采点处理,状态机,红外发送。3个模块分3个函数模块,其中以状态机为主体函数,完成操作判断和作出回应。由于机顶盒多是采用NEC红外协议,所以红外发送模块也采用NEC红外协议,以便和机顶盒对接。
(一)采点处理
采点处理的缓冲器是专门为了配合触屏遥控器而设计的。采用定长数组循环存放信息,这样可以节约单片机内存。采点处理过程把一个定长的数组作为缓冲器,记录坐标信息有效点个数和总点的个数并标记当前点是否有效。这里的无效点是指第一次操作之后,等待是否有第二次操作时的(0}0)点。为了便于统一管理,不存放无效点坐标信息,而将无效点的个数存放在二坐标的位置,无效点后接有效点标志存放在J坐标的位置。这样也节省了存储空间。此外,标记信息也能起到计数的作用。每一个坐标的标记信息都是16位长的数,用32 768 (215,是16位二进制数可表示范围的一半)以上的数字表示有效点标志,以下的数字表示无效点标志。采集到新点时从0或32 768开始加1记录标志信息。经过对点的标识、分类等预处理后放入缓冲器。连续的采点将循环的存储在缓冲器当中,以这样边采点边由其他模块读取點信息的方式,完成采点处理的操作。
(二)滑动判断方法
滑动判断的方法较简单。滑动判断模块的判断方法是根据连续有效触摸点的距离差是否大于滑动判断阂值,大于该阂值则有滑动发生,否则没有滑动发生。滑动判断阂值是通过输入变量传给滑动判断函数的,所以怎样才算是滑动不是滑动判断模块决定,而是在状态机调用滑动判断函数时,由状态机的当前状态决定的。主要有触摸态(CJ)和滑动态(C_ DM)等调用。如果是触摸态调用,滑动判断阂值的设定是为了区分下一个状态是滑动态还是长按态;如果是滑动态,滑动判断阂值的设定是为了良好的用户体验。阂值具体的大小要通过多人多次实验得出。这样的滑动判断函数不仅满足了状态机不同状态的需求,而且符合大多数人的使用习惯,具有普适性。
(三)鼠标量化算法
鼠标量化就是将用户手指在遥控器上滑动的速度和距离用合适的数据表示出来;即屏幕鼠标指针移动的方向和距离是由遥控器触摸屏采集点的变化量和变化速度决定的。 適合人手的遥控器的体积较小,因此,用户在控制鼠标慢滑的时候,滑动判断模块判断出的每一次滑动的坐标变化量和触摸屏上的移动速度和距离并没有明显的关系,利用距离不能有效区分鼠标指针应有的移动距离。但是,采集到点的数目却和移动速度和距离有关系。因此,鼠标量化可分作两部分理解:慢滑时根据滑动判断模块判断出一次滑动时的总坐标点数量化出鼠标指针的移动距离;快滑时再根据滑动距离量化出屏幕鼠标指针移动距离。虽然鼠标量化分为快滑和慢滑,却可以用一个公式表示单方向的移动量。
(四)红外协议
红外发送模块发送的数据包括两个16位二进制数。如果是确定、返回或者开关机或者翻页的键值,则发送的两个16位二进制数一个是固定的系统码,一个是键值。机顶盒收到对应键值就给出回应。如果是滑动的量化结果,则一个表示横轴移动量,一个表示纵轴移动量。两轴移动量配合得出屏幕鼠标指针的平而移动方向和距离。将键值或滑动的量化结果通过红外模块发送给机顶盒,则机顶盒就根据接收的数据作出回应。这样就形成了遥控器鼠标模式的一组红外协议。
三、结语
无线红外协议的数据传输速率较慢回,但在机顶盒遥控器上实现的鼠标模式用红外传输数据还是取得了较好的结果。以后,智能机顶盒和网络机顶盒的普及率会越来越高,遥控器也会越来越多,利用遥控器实现鼠标模式也会与时俱进,更加增大人们生活的便捷。另外,遥控器的用户体验和操作的成功率和触摸屏的灵敏度有直接关系,也和操作区域和触摸功能的大小有一定关系。
参考文献:
[1]刘莎莎,张哲. 基于Android平台的鼠标的设计与实现[J]. 电子器件,2012,01:79-82.
[2]吴廷玉,李雄. 鼠标的人机工学设计分析[J]. 科学之友,2012,05:11-12.