专利名称:用于fps游戏的游戏手柄及其定位方法
技术领域:
本发明涉及一种游戏操纵输入设备及其定位方法,特别是一种电视游戏或电 脑游戏的游戏手柄及其定位方法。
背景技术:
游戏手柄是电视游戏或电脑游戏中最主要的输入设备,普通的游戏手柄一
般都会有16个功能按键和两个摇杆即左摇杆及右摇杆,摇杆具有X轴和Y轴, 主控芯片读取左、右摇杆的X、 Y轴的位置并转换为相应的数据格式送给游戏主 机,玩家可以通过改变左右摇杆的位置来控制游戏中的相应动作。 一般右摇杆 在FPS (First Person Shooting,第一人称射击)游戏中用于控制视角或枪的 瞄准。普通游戏手柄的摇杆X、 Y轴数值定义为如果用户不移动摇杆,摇杆处 于中间位置,X轴输出中间值128 (最左Q,最右255), Y轴输出中间值128(最 上0,最下255)给游戏主机,假设这时右摇杆是控制枪的准星,这时枪的准星 不会移动,当用户向左移动摇杆,枪的准星会根据右摇杆送的X轴向左偏移的 量按照一定速度向左移动,当摇杆越向左边,枪的准星向左边移动的速度越快, 当右摇杆X轴输出O时,枪的准星向左边移动的速度最快,同样,操纵摇杆向 右边、向上或向下也是一样。由于摇杆从中间到最左边的距离实际上只有lcm 左右,在需要精确瞄准时,要让摇杆有微微的偏移来控制枪的准星慢慢移动就 显得比较困难,导致用户较难精确定位。由于普通手柄摇杆本身的这种特性使 手柄在FPS游戏中精确定位比较困难,让用户非常遗憾。特别是目前电脑游戏 中流行的网络游戏由于普通手柄无法精确瞄准,用户采用键盘、鼠标作为输入
4设备,但用键盘、鼠标由于坐姿较为固定,时间长了会比较累,没有手柄操作 舒适的手感和游戏的震动效果体验,因此用键盘鼠标或手柄玩游戏各有其优缺 占。
V 、、、 o
发明内容
本发明的目的是提供一种用于FPS游戏的游戏手柄及其定位方法,要解决 的技术问题是使手柄能够精确定位。
本发明采用以下技术方案用于FPS游戏的游戏手柄,游戏手柄上设有左 摇杆,游戏手柄内有主控芯片,所述游戏手柄上设有轨迹球,轨迹球下设有位 移传感器,位移传感器将采集到的轨迹球的位移信号传递给主控芯片。
本发明的轨迹球下方设有压力传感器,压力传感器设置在上板和下板之间, 压力传感器将感应到的压力信号转换为电压信号传递给主控芯片。
本发明的位移传感器采用鼠标对管,轨迹球的滚球上面设置鼠标对管的Y 轴转轴,滚球侧面设置鼠标对管的X轴转轴,Y轴转轴和X轴转轴与滚球接触, Y轴转轴上设置有Y轴红外发光二极管、Y轴光电接收管、Y轴编码轮,X轴转 轴上设置有X轴红外发光二极管、X轴光电接收管、X轴编码轮,Y轴光电接收 管和X轴光电接收管分别与鼠标数据转换芯片连接,鼠标数据转换芯片连接到 主控芯片。
本发明的位移传感器采用光学传感装置,轨迹球的滚球侧面设置光学传感 装置的光学透镜,光学传感装置内设有光学传感器,发光或激光二极管,光学 传感器与主控芯片连接。
一种用于FPS游戏的游戏手柄定位方法,包括以下步骤 一、游戏手柄的 主控芯片检测压力传感器的电压输出信号;二、主控芯片检测轨迹球位移信号; 三、主控芯片将压力传感器的信号、精确定位激活键状态、右摇杆中间死区值
5和轨迹球的位移信号叠加;主控芯片将叠加后的信号送给游戏主机。
本发明的主控芯片检测压力传感器的电压输出信号前,激活键和右摇杆中 间死区设置,得到精确定位激活键和游戏中的右摇杆中间死区值。
本发明的压力传感器受到力的作用改变电压输出信号,主控芯片通过A/D
转换读取压力传感器的电压输出变化。
本发明的主控芯片按周期读取轨迹球移动数据,记录下滚球X轴、Y轴的移 动值,并等待下一个循环周期读取数据。
本发明的主控芯片将压力传感器的信号、精确定位激活键状态、右摇杆中 间死区值和轨迹球的位移信号叠加转为右摇杆数据。
本发明的游戏手柄设有一个右摇杆,主控芯片将右摇杆移动的X轴和Y轴 的移动值、右摇杆中间死区值和轨迹球的位移信号叠加转为右摇杆数据。
本发明与现有技术相比,将带有压力传感器的轨迹球模拟右摇杆动作和鼠 标动作,位移传感器将轨迹球的位移信号传递给主控芯片,主控芯片能够将其 转换为正常的右摇杆动作控制信号或鼠标模式的动作控制信号传送给游戏主 机,在游戏中进行快速定位或精确定位,使用户在电视游戏或电脑游戏中能够 同时体验到手柄舒适的手感、强烈的游戏震动效果、摇杆快速灵活的运动控制 和鼠标的精确定位。
图1为本发明实施例1的外观布局图。
图2为本发明实施例1的轨迹球结构示意图。
图3为本发明实施例1和2用鼠标对管检测轨迹球运动的结构示意图。 图4为本发明实施例1和2用光学传感器测轨迹球运动的结构示意图。 图5为本发明实施例1用鼠标对管检测轨迹球运动的电路框图。图6为本发明实施例1用光学传感器测轨迹球运动的电路框图。 图7为本发明游戏手柄实施例1的电路图。
图8为本发明实施例1的主控芯片的控制流程图。 图9为本发明实施例1检测轨迹球位移信号流程图。 图IO为本发明实施例1的轨迹球模拟摇杆流程图。
图11为本发明实施例1主控芯片利用轨迹球的位移信号进行精确定位流程图。
图12为本发明实施例1右摇杆死区设置流程图。 图13为本发明实施例2的外观布局图。
图14为本发明实施例2用鼠标对管检测轨迹球运动的电路框图。
图15为本发明实施例2用光学传感器测轨迹球运动的电路框图。
图16为本发明实施例2的主控芯片的主程序流程图。
图17为本发明实施例2主控芯片利用轨迹球的位移信号进行精确定位流程图。
图18为本发明实施例2右摇杆死区设置流程图。
图19为本发明游戏手柄实施例2的电路图。
具体实施例方式
下面结合附图和实施例对本发明作进一步详细说明。
实施例1,本发明的用于FPS游戏的游戏手柄,如图1所示,在游戏手柄 上设有轨迹球l、左摇杆2、方向键3、鼠标功能设置按键和鼠标指示灯4和手 柄功能按键5,轨迹球1下设有压力传感器。
如图2所示,轨迹球1下面,在滚球7的下方、游戏手柄内的上板6和下 板10之间设有一个压力传感器9,当人手触碰滚球7时,滚球7接触上板6,上板6按压压力传感器9,压力传感器9将感应的压力信号转换为电压信号传递 给主控芯片进行识别。
如图3所示,鼠标对管作为轨迹球1的位移传感器,轨迹球1包括滚球7, 传感器包括Y轴转轴11、 Y轴光电接收管12、 Y轴编码轮13、 Y轴红外发光二 极管14、 X轴转轴15、 X轴光电接收管16、 X轴编码轮17、 X轴红外发光二极 管18。滚球7上面设置Y轴转轴11,滚球7侧面设置X轴转轴15, Y轴转轴ll 和X轴转轴15与滚球7接触,Y轴转轴11上设置有Y轴红外发光二极管14、 Y 轴光电接收管12、 Y轴编码轮13, X轴转轴15上设置有X轴红外发光二极管18、 X轴光电接收管16、 X轴编码轮17。
如图5所示,游戏手柄设有主控芯片,主控芯片连接鼠标数据转换芯片、 左摇杆、鼠标指示灯、马达及驱动电路、鼠标功能设置按键、手柄功能按键组 和压力传感器,鼠标数据转换芯片连接到X轴、Y轴光电接收管,主控芯片与游 戏主机有线连接,通过电缆线将数据送给游戏主机。
在正常工作前时,主控芯片首先需要设置"精确定位激活键",如手柄功能 按键5,和"右摇杆中间死区值",如图12所示,包括以下步骤 一、主控芯片 判断是否在死区设置模式,如果在,转步骤二;如果不在,则判断是否有鼠标 功能设置键按下,如果没有按下,则返回;如果有按下,则进入死区设置模式, 鼠标灯闪烁,右摇杆中间死区值初始化为O,并返回;二、如果有鼠标参数设置 键按下,则退出死区设置模式,鼠标灯灭;。如果没有按下,则执行下一步;三、 如果不在精确定位激活键设置状态,转步骤四。如果在精确定位激活键设置状 态,但没有按键按下,返回;如果有按键按下则存储该键作为精确定位激活键, 并设置进入调整死区步骤,返回;四、如果方向键的的"上"键按下,则右摇 杆中间死区值=右摇杆中间死区值+1;如果没有按下,则执行下一步;四、主控芯片判断方向键的"下"键按下,则右摇杆中间死区值=右摇杆中间死区值-1,
并转下一步执行。如果没有按下,则转下一步执行;五、设置右摇杆《值=128+ 右摇杆中间死区值,返回。
工作时当人手没有触碰轨迹球时,压力传感器输出一个电压值,当人手触 碰轨迹球时有间接的力施加在压力传感器上,压力传感器感受到力的作用改变 电压输出信号,主控芯片通过A/D转换读取压力传感器的电压输出变化作为后 续信号处理的一个参数。
滚球旋转,X轴转轴和Y轴转轴转动,分别带动X、 Y编码轮转动,X、 Y光 电接收管接收经X、 Y编码轮传递来的X、 Y红外发光二极管的信号,将该X、 Y 信号发送至鼠标数据转换芯片,主控芯片读取鼠标数据转换芯片得到滚球的X、 Y轴移动值,并和压力传感器的信号、轨迹球的位移信号、精确定位激活键状态、 已经设置的右摇杆中间死区值叠加后,转换为游戏主机可以识别的数据格式信 号,送给游戏主机。
如图4所示,轨迹球1包括滚球7,滚球7侧面设有光学传感装置,光学传 感装置的光学透镜21设置在靠近滚球7的位置,光学传感装置内设有光学传感 器22,发光或激光二极管23。
如图6所示,游戏手柄设有主控芯片,主控芯片连接光学传感器、左摇杆、 鼠标指示灯、马达及驱动电路、鼠标功能设置按键、手柄功能按键组和压力传 感器。
工作时,发光或激光二极管发出的光线,照亮滚球,从滚球表面反射回的 一部分光线,经过光学透镜,传输到光学传感器,当滚球旋转时,其滚球球面 的位移轨迹被光学传感器记录并转换为X轴、Y轴的位移信号,主控芯片读取光 学传感器送出的位移信号,并和已经设置的右摇杆中间死区值、精确定位激活键状态、压力传感器的信号进行叠加后,转换为游戏主机可以识别的数据格式 信号,送给游戏主机。
如图7所示,主控芯片采用WT6573F,鼠标数据转换芯片采用EM84510,压 力传感器采用TP015P,其输出信号通过差动电压放大器送给主控芯片。
如图8所示,本发明的用于FPS游戏的游戏手柄定位方法,包括以下步骤: 一、游戏手柄上电,初始化;二、主控芯片读取轨迹球位移信号,轨迹球送出 的X轴或Y轴位移信号是0-255的数据格式,0-127表示轨迹球向正方向移动的 单位距离,0为没有移动,127为向正方向移动最大距离;255-128表示轨迹球 向负方向移动的单位距离,用0和该数据进行8位二进制减得到轨迹球向负方 向移动的单位距离;轨迹球还会送出当前滚球X轴和Y轴是正方向移动还是负
方向移动的两个信号位供主控芯片读取判断;三、主控芯片将轨迹球的位移信 号模拟为右摇杆动作并转换为右摇杆的X轴、Y轴值;四、主控芯片将右摇杆中 间死区值和轨迹球的位移信号叠加运算得到精确定位信号并转为右摇杆X轴、Y 轴值;五、主控芯片进行右摇杆中间死区设置;六、主控芯片将运算得到的右 摇杆X轴、Y轴值转换为主机可以识别的信号送给游戏主机。
如图9所示,主控芯片检测轨迹球位移信号,包括以下步骤 一、主控芯 片按时间周期读取轨迹球移动数据;二、主控芯片判断如果有滚球移动,则记 录下滚球X轴、Y轴的移动值,并等待下一个循环周期读取数据,如果没有滚球 移动,则等待下一个循环周期读取数据。
如图10所示,在精确定位激活键未压下状态,主控芯片将轨迹球滚球的运 动模拟为右摇杆的运动,并能够通过检测放置在轨迹球下面的上板和下板之间 的压力传感器输出值的大小,模拟右摇杆的归中动作(即送给游戏主机的右摇 杆X轴值、Y轴值等于128)和右摇杆下压键的动作。其方法为以下步骤一、主控芯片读取压力传感器的输出值,如果小于轨迹球压下判断值(即手用一定 的力压下使压力传感器的电压输出信号变化到某个值),则右摇杆X轴值-128、 右摇杆Y轴值428(表示人手送开右摇杆,模拟右摇杆归中),并送给游戏主机; 如果压力传感器的输出值大于轨迹球压下判断值,则执行步骤二; 二、如果压 力传感器的输出值大于轨迹球压下判断值,则设置右摇杆下压键压下(模拟右 摇杆下压键动作),并将该动作送游戏主机,并转步骤三;如果压力传感器的输 出值小于轨迹球压下判断值,则转步骤三;三、如果滚球X轴为正方向移动则右 摇杆X轴值-右摇杆X轴值+滚球X轴移动值,并且如果累加和大于255,则右 摇杆X轴值-255,转步骤四执行;如果滚球X轴为负方向移动则右摇杆X轴 值-右摇杆X轴值-滚球X轴移动值,并且如果差值和小于0,则右摇杆X轴值 =0,并转步骤四执行;四、如果滚球Y轴为正方向移动则右摇杆¥轴值=右摇 杆Y轴值+滚球Y轴移动值,并且如果累加和大于255,则右摇杆Y轴值-255, 本次处理结束;如果滚球X轴为负方向移动则右摇杆Y轴值=右摇杆Y轴值-滚球Y轴移动值,并且如果差值和小于O,则右摇杆Y轴值:0,本次处理结束。 如图11所示,在精确定位激活键压下状态,这时候处于精确定位模式,主 控芯片将右摇杆中间死区值和轨迹球的位移信号叠加,并转为右摇杆数据的方 式,包括以下步骤 一、判断是否轨迹球有一段时间没有动作,如果是,则右 摇杆值设为中间值,即右摇杆X轴值为128, Y轴值为128,并返回;如果不是, 则执行下一步;二、主控芯片判断如果滚球X轴移动方向为正时,如果滚球X 轴移动值为0,则右摇杆X轴值428,并转下一步;如果滚球X轴移动值不为O, 则右摇杆X轴值=128+右摇杆中间死区值+滚球X轴移动值,并转下一步;如果X 轴方向为负时,则右摇杆X轴值428-[ (0-滚球乂轴移动值)+右摇杆中间死区 值],并转下一步;三、主控芯片判断Y轴的方向,Y轴方向为正时,如果滚球Y轴移动值为0,则右摇杆Y轴值428,返回;如果滚球Y轴移动值不为O,则 右摇杆Y轴值二128+右摇杆中间死区值+滚球Y轴移动值,并返回;如果Y轴方 向为负时,则右摇杆¥轴值=128-[(0-滚球¥轴移动值)+右摇杆中间死区值], 并返回。
本实施例采用MCS8051的汇编程序语言在KEIL uVision2环境下编译实现。 操作过程
1、首先玩家按下游戏手柄上的鼠标功能设置按键4进入鼠标功能设置模式 中,这时会有鼠标指示灯闪烁,指示已经进入该设置模式,这时候先按下需要 设置的"精确定位激活键",主控芯片将会记录下该键作为正常工作时正常模式 和精确定位模式的切换键。设置完精确定位激活键后就可以设置右摇杆中间死 区,这时候可以按游戏手柄方向键3的"上"键和"下"键上下调节右摇杆中 间死区。这里右摇杆中间死区的含义是指右摇杆的X轴或Y轴输出大于某个值 后游戏中才动作,小于该值游戏中没有动作,这个值称为右摇杆中间死区。在 用户调节设置右摇杆中间死区时,主控芯片会把用户设置的死区值送给游戏主 机,这样用户就可以观察到调整到什么时候游戏会有动作,当用户观察到游戏 有轻微的动作时,按鼠标功能设置按键或某组合键退出鼠标功能设置模式,这 时候主控芯片会记住已经设置好的右摇杆中间死区值,作为处理轨迹球位移信 号的的一个控制参数"右摇杆中间死区值"。设置完后鼠标指示灯灭指示退出该 模式。
2、在设置完鼠标参数后,用户在不需要做精确定位的时候,不按下精确定 位激活键,这时滚动轨迹球可以快速控制游戏中的动作,当手离开轨迹球,则 游戏中不动作,这样模拟了摇杆的功能。当需要进行精确定位时,用户按下精 确定位激活键,通过滚动轨迹球来精确的控制游戏中的细微动作。实施例2,如图13所示,在游戏手柄上设有轨迹球1、左摇杆2、右摇杆30、方向键3和鼠标功能设置按键和鼠标指示灯4,轨迹球下设有位移传感器。轨迹球1设置在右摇杆30下方。如图3所示,鼠标对管作为轨迹球1位移传感器,轨迹球1包括滚球7,传感器包括Y轴转轴ll、 Y轴光电接收管12、 Y轴编码轮13、 Y轴红外发光二极管14、 X轴转轴15、 X轴光电接收管16、 X轴编码轮17、 X轴红外发光二极管18。滚球7上面设置Y轴转轴11,滚球7侧面设置X轴转轴15, Y轴转轴11和X轴转轴15与滚球7接触,Y轴转轴11上设置有Y轴红外发光二极管14、 Y轴光电接收管12、 Y轴编码轮13, X轴转轴15上设置有X轴红外发光二极管18、 X轴光电接收管16、 X轴编码轮17。
如图14所示,游戏手柄设有主控芯片,主控芯片连接鼠标数据转换芯片、左右摇杆、鼠标指示灯、马达及驱动电路、鼠标功能设置按键和手柄功能按键组,鼠标数据转换芯片连接到X轴光、Y轴光电接收管,主控芯片与游戏主机有线连接,主控芯片与游戏主机有线连接采用USB接口和USB电缆。
工作时,左、右摇杆移动的信号同时传递到主控芯片。滚球旋转,X轴转轴和Y轴转轴转动,分别带动X、 Y编码轮转动,X、 Y光电接收管接收经X、 Y编码轮传递来的X、 Y红外发光二极管的信号,将该X、 Y信号发送至鼠标数据转换芯片,主控芯片读取鼠标数据转换芯片得到滚球的X、 Y轴移动值,并和右摇杆移动的信号进行叠加后,转换为游戏主机可以识别的数据格式信号,送给游戏主机。
如图4所示,轨迹球1包括滚球7,滚球7侧面设有光学传感装置,光学传感装置的光学透镜21设置在靠近滚球7的位置,光学传感装置内设有光学传感器22,发光或激光二极管23。
如图15所示,游戏手柄设有主控芯片,主控芯片连接光学传感器、左右摇
13杆、鼠标指示灯、马达及驱动电路、鼠标功能设置按键和手柄功能按键组。
正常工作前,主控芯片首先需要用户进行右摇杆中间死区值设置,如图18所示,包括以下步骤 一、主控芯片判断是否在死区设置模式,如果在,转步骤二;如果不在,则判断是否有鼠标参数设置键按下,如果没有按下,则返回;如果有按下,则进入死区设置模式,鼠标灯闪烁,右摇杆中间死区值初始化为O,并返回;二、如果有鼠标参数设置键按下,则退出死区设置模式,鼠标灯灭。如果没有按下,则执行下一步;三、如果方向键的;的"上"键按下,则右摇杆中间死区值二右摇杆中间死区值+l;如果没有按下,则执行下一步;四、主控芯片判断;方向键的"下"键按下,则右摇杆中间死区值=右摇杆中间死区值-1,并转下一步执行。如果没有按下,则转下一步执行;五、设置右摇杆乂值二128+右摇杆中间死区值,返回。
工作时,左、右摇杆移动的信号同时传递到主控芯片,发光或激光二极管发出的光线,照亮滚球,从滚球表面反射回的一部分光线,经过光学透镜,传输到光学传感器,当滚球旋转时,其滚球球面的位移轨迹被光学传感器记录并转换为X轴、Y轴的位移信号,主控芯片读取光学传感器送出的位移信号,并和右摇杆移动的信号、右摇杆中间死区值叠加后转换为游戏主机可以识别的数据格式信号,送给游戏主机。
如图19所示,主控芯片采用WT6573F,鼠标数据转换芯片采用EM84510。如图16所示,本发明用于FPS游戏的游戏手柄定位方法,包括以下歩骤一、游戏手柄上电,初始化;二、游戏手柄的主控芯片读取右摇杆的位移信号,通过A/D采样右摇杆的X轴、Y轴的可调电阻的分压值并将其转换为0-255的数据格式,128为中间值(即将该值送游戏主机在游戏中没有动作);三、主控芯片读取轨迹球位移信号,轨迹球送出的X轴或Y轴位移信号也是0-255的一个数据格式,0-127表示轨迹球向正方向移动的单位距离,0为没有移动,127为向正方向移动最大距离;255-128表示轨迹球向负方向移动的单位距离,用O和该数据进行8位二进制减得到轨迹球向负方向移动的单位距离;轨迹球还会送出当前滚球X轴和Y轴是正方向移动还是负方向移动的两个信号位供主控芯片读取判断;四、主控芯片将右摇杆移动的信号、右摇杆中间死区值和轨迹球的位移信号叠加;五、主控芯片进行右摇杆死区设置(用户进行设置);六、主控芯片将叠加的位移信号送给游戏主机。
如图9所示,所述主控芯片检测轨迹球位移信号,包括以下步骤 一、主控芯片按时间周期读取轨迹球移动数据;二、主控芯片判断如果有滚球移动,则记录下滚球X轴、Y轴的移动值,并等待下一个循环周期读取数据。如果没有滚球移动,则等待下一个循环周期读取数据。
如图n所示,主控芯片将右摇杆移动的信号、右摇杆中间死区值和轨迹球
的位移信号叠加,并转为右摇杆数据的方式,包括以下步骤 一、主控芯片判断右摇杆如果居中,则转步骤二;如果右摇杆不居中则读取右摇杆的当前X轴
位置,即用户移动了摇杆使摇杆用于检测x轴的可调电阻输出的电压变化从而
转换为0-255的数据-〉右摇杆X轴值(要送给游戏主机的数据)、读取右摇杆的当前Y轴位置-〉右摇杆Y轴值(要送给游戏主机的数据),并返回;二、判断是否轨迹球有一段时间没有动作,如果是,则右摇杆值设为中间值,即右摇杆X轴值为128, Y轴值为128,并返回;如果不是,则执行下一步;三、主控芯片判断如果滚球X轴移动方向为正时,如果滚球X轴移动值为O,则右摇杆X轴值=128;如果滚球X轴移动值不为0,则右摇杆X轴值二128+右摇杆中间死区值+滚球X轴移动值;如果X轴方向为负时,则右摇杆X轴值428-[(0-滚球X轴移动值)十右摇杆中间死区值];四、主控芯片判断Y轴的方向,Y轴方向为正时,如果滚球Y轴移动值为O,则右摇杆Y轴值-128,返回;如果滚球Y轴移动 值不为0,则右摇杆Y轴值二128+右摇杆中间死区值+滚球Y轴移动值,并返回; 如果Y轴方向为负时,则右摇杆¥轴值=128- [(O-滚球Y轴移动值)+右摇杆中 间死区值],并返回。
如图18所示,主控芯片进行右摇杆中间死区值设置,包括以下步骤一、 主控芯片判断是否在死区设置模式,如果在,转步骤二;如果不在,则判断是 否有鼠标参数设置键按下,如果没有按下,则返回;如果有按下,则进入死区 设置模式,鼠标灯闪烁,右摇杆中间死区值初始化为O,并返回;二、如果有鼠 标参数设置键按下,则退出死区设置模式,鼠标灯灭。如果没有按下,则执行 下一步;三、如果方向键的;的"上"键按下,则右摇杆中间死区值=右摇杆中 间死区值+l;如果没有按下,则执行下一步;四、主控芯片判断;方向键的"下" 键按下,则右摇杆中间死区值=右摇杆中间死区值_1,并转下一步执行。如果没 有按下,则转下一步执行;五、设置右摇杆X值428+右摇杆中间死区值,返回。
采用MCS8051的汇编程序语言在KEIL uVision2环境下编译实现。
操作过程
1、首先游戏手柄通过功能设置按键3进入鼠标功能设置模式中,这时会有 鼠标指示灯闪烁,指示已经进入该设置模式,这时候可以按游戏手柄上的方向 键的"上"键和"下"键上下调节右摇杆中间死区。这里右摇杆中间死区的含 义是指右摇杆的X轴或Y轴输出大于某个值后游戏中才动作,小于该值游戏中 没有动作,这个值称为右摇杆中间死区。在用户调节设置右摇杆中间死区时, 主控芯片会把用户的死区值送给游戏主机,这样用户就可以观察到调整到什么 时候游戏会有动作,当用户观察到游戏有轻微的动作时,按鼠标功能设置按键 或某组合键退出鼠标功能设置模式,这时候主控芯片会记住已经设置好的右摇杆中间死区值,作为处理轨迹球位移信号的的一个控制参数"右摇杆中间死区 值"。设置完后鼠标指示灯灭指示退出该模式。
2、在设置完鼠标参数后,用户在不需要做精确定位的时候,可以通过右摇 杆来快速的控制游戏中的动作,当需要进行精确定位时,用户松开右摇杆,通 过滚动轨迹球来精确的控制游戏中的细微动作。
权利要求
1. 用于FPS游戏的游戏手柄,游戏手柄上设有左摇杆(2),游戏手柄内有主控芯片,其特征在于所述游戏手柄上设有轨迹球(1),轨迹球(1)下设有位移传感器,位移传感器将采集到的轨迹球(1)的位移信号传递给主控芯片。
2. 根据权利要求1所述的用于FPS游戏的游戏手柄,其特征在于所述轨迹球(I) 下方设有压力传感器(9),压力传感器(9)设置在上板(6)和下板 (10)之间,压力传感器(9)将感应到的压力信号转换为电压信号传递给主控芯片。
3. 根据权利要求2所述的用于FPS游戏的游戏手柄,其特征在于所述位移传 感器采用鼠标对管,轨迹球(1)的滚球(7)上面设置鼠标对管的Y轴转轴(II) ,滚球(10)侧面设置鼠标对管的X轴转轴(15), Y轴转轴(11)和 X轴转轴(15)与滚球(10)接触,Y轴转轴(11)上设置有Y轴红外发光 二极管(14)、 Y轴光电接收管(12)、 Y轴编码轮(13), X轴转轴(15)上 设置有X轴红外发光二极管(18)、 X轴光电接收管(16)、 X轴编码轮(17), Y轴光电接收管(12)和X轴光电接收管(16)分别与鼠标数据转换芯片连 接,鼠标数据转换芯片连接到主控芯片。
4. 根据权利要求2所述的用于FPS游戏的游戏手柄,其特征在于所述位移传 感器采用光学传感装置,轨迹球(1)的滚球(7)侧面设置光学传感装置的 光学透镜(21),光学传感装置内设有光学传感器(22),发光或激光二极管(23),光学传感器(22)与主控芯片连接。
5. —种用于FPS游戏的游戏手柄定位方法,包括以下步骤 一、游戏手柄的主控芯片检测压力传感器的电压输出信号;二、主控芯片检测轨迹球位移信号; 三、主控芯片将压力传感器的信号、精确定位激活键状态、右摇杆中间死区 值和轨迹球的位移信号叠加;主控芯片将叠加后的信号送给游戏主机。
6. 根据权利要求5所述的用于FPS游戏的游戏手柄定位方法,其特征在于所述主控芯片检测压力传感器的电压输出信号前,激活键和右摇杆中间死区设 置,得到精确定位激活键和游戏中的右摇杆中间死区值。
7. 根据权利要求6所述的用于FPS游戏的游戏手柄定位方法,其特征在于所 述压力传感器受到力的作用改变电压输出信号,主控芯片通过A/D转换读取压力传感器的电压输出变化。
8. 根据权利要求7所述的用于FPS游戏的游戏手柄定位方法,其特征在于所 述主控芯片按周期读取轨迹球移动数据,记录下滚球X轴、Y轴的移动值,并等待下一个循环周期读取数据。
9. 根据权利要求8所述的用于FPS游戏的游戏手柄定位方法,其特征在于所述主控芯片将压力传感器的信号、精确定位激活键状态、右摇杆中间死区值 和轨迹球的位移信号叠加转为右摇杆数据。
10. 根据权利要求9所述的用于FPS游戏的游戏手柄定位方法,其特征在于所 述游戏手柄设有一个右摇杆,主控芯片将右摇杆移动的X轴和Y轴的移动值、 右摇杆中间死区值和轨迹球的位移信号叠加转为右摇杆数据。
全文摘要
本发明公开了一种用于FPS游戏的游戏手柄及其定位方法,要解决的技术问题是使手柄能够精确定位。本发明的游戏手柄上设有左摇杆,游戏手柄内有主控芯片,游戏手柄上设有轨迹球,轨迹球下设有位移传感器,位移传感器将位移信号传递给主控芯片。其定位方法包括以下步骤主控芯片将压力传感器的信号、精确定位激活键状态、右摇杆中间死区值和轨迹球的位移信号叠加,送给游戏主机。本发明与现有技术相比,将带有压力传感器的轨迹球模拟右摇杆动作和鼠标动作,位移传感器将轨迹球的位移信号传递给主控芯片,精确定位,使用户在电游戏中能够同时体验到手柄舒适的手感、强烈的游戏震动效果、摇杆快速灵活的运动控制和鼠标的精确定位。
文档编号A63F13/02GK101455903SQ20081024188
公开日2009年6月17日 申请日期2008年12月29日 优先权日2008年12月29日
发明者江 何 申请人:江 何