导读: 拳击文娱体系是为满意广大群众的需求而规划,现在商场上还没有模仿真人的对抗性的拳击文娱设备,该体系的呈现使人们从单调的练习中脱节出来,能够主动地投入到文娱中。
0 引 言
拳击文娱体系是为满意广大群众的需求而规划,现在商场上还没有模仿真人的对抗性的拳击文娱设备,该体系的呈现使人们从单调的练习中脱节出来,能够主动地投入到文娱中。在人形靶的头部正面和胸部正面各设备一个击打气袋和压力传感器,当语音提示能够开端击打时,运用者能够全力击打头、胸部,一起ARM9处理器收集相应的击打数据,在人形靶上设备有主动反击拳设备。
该体系选用了Samsung公司的16/32位RISC处理器S3C2440,因为该处理器价格低、功耗小、功用高,然后下降了整个体系的本钱,便于商场的推行。
在用户界面的规划上,选用现在盛行的Qt/Embedded,使显现界面更直观,操作更便利。Qt/Embedded丰厚的控件资源和较好的可移植性给界面的规划以及往后的进一步完善带来了极大的便利。
1 拳击健身文娱体系简介
拳击文娱体系首要由人形靶、用户操作界面、语音播报、数据收集处理、主动出拳五部分组成。运用者击打气袋时,该体系收集压力传感器数据,并进行相应的处理,计算出运用者的出拳力气。语音播报用来提示、问好运用者并播报成果数据。主动出拳能够依据前方是否有遮挡物而随机出拳回击。语音播报和主动出拳的结合更丰厚了该体系的互动性。
2 人形靶部分
人形靶高度能够依据运用者的高度进行调整,以习惯不同人群的运用。该体系针对文娱的要求规划了两个击打有用区:头部、胸部。每个击打有用区都由击打气袋、开关触发设备和压力传感器三部分组成。
在人形靶的头部装有反射式光电开关,用来判别前方是否有遮挡物,为主动出拳设备供给输入信号。
3 用户操作部分
用户操作Qt/Embedded规划开发,界面愈加人性化,简略化,使不同人群快速学会运用。Qt/Embedded是专门为嵌入式设备上的图形用户接口和运用开发规划的开发包,能够跨渠道运转在ARM处理器上的嵌入式Linux操作体系上。Qt/Embedded具有较好的移植性,然后使得往后该部分的进一步开发愈加便利。选用规范PDA巨细的触摸屏,所以操作十分便利。
Qt/Embedded的底层图形引擎根据Framebuffer。Framebuffer是在Linux内核架构版别2.2今后推出的规范显现设备驱动接口。选用mmap体系调用,能够将Framebuffer的显现缓存映射为可接连拜访的一段内存储针。Framebuffer驱动程序的完结分为两个方面:一方面是对LCD及其相关部分的初始化,包含画面在缓冲区的创建和对DMA通道的设置;别的一方面是对画面缓冲区的读写,详细到代码为 read,write,lseek等体系调用接口。Qt/Embedded连续了Qt在桌面体系的一切功用,丰厚的API接口和根据组件的编程模型,使得嵌入式Linux体系中的运用程序愈加便利于该体系的开发。
该部分分为文娱和成果回放两部分。
文娱部分有三种形式:压力测验、力气形式、速度形式。压力测验用来测验头、胸气袋压力是否在适宜范围内,压力过高、过低进行语音提示;压力形式用来测验运用者力气巨细;速度形式用来测验运用者在必定时间内击打的有用拳数。
成果回放用来回放前段时间该体系运用情况,包含击打方位和击打力气两部分信息。
4 语音播报部分
该部分担任播报运用提示、问好语和运用者的击打成果。播报成果包含有用拳重、有用拳数。当运用者击打到有用区域时,会宣布仿真的击打声响;压力测验时,压力过高、过低的报警提示音;在开关机时,体系会播报问好语等。在模仿与真人的对抗性的文娱环境,语音播报突出了趣味性,提高了文娱作用。
该部分是由专用的语音芯片UDA1341来完结的。在Linux下完结此功用,首要需求编译UDA1341的驱动,运用编译东西为穿插编译器arm- linux-gcc 3.4.1,然后移植到ARM开发板。最终再将madplay播放器运用相同的办法编译后移植到ARM开发板上。驱动和播放器都移植好后,在运用程序中完结语音播报功用。
5 数据收集处理部分
数据收集处理部分由S3C2440处理器操控完结。它经过判别收集有用区中触发设备的触发信号是否有用,操控压力传感器数据的收集。
5.1 收集击打点触发设备的触发信号
在运转力气或速度形式时,需求不断的扫描头、胸击打按键的状况,当击打按键闭合时,敞开相应压力传感器收集数据,一起铲除击打按键的闭合状况。
该部分在硬件上选用了CD4093来锁存按键的状况,而且运用芯片75452来铲除击打按键的锁存状况。
5.2 压力传感器的收集
该部分是体系规划的首要部分,由该部分收集到的数据能够计算出出拳力气。
收集气压需求压力传感器和S3C2410的ADC转化器。压力传感器选用Motorola的MPX5100压力传感器。该传感器需求5 V直流电源供电,量程为110 kPa,对应的输出为0~5 V。
因为击打气袋时,气袋内部不同方位压力改变不同,形成压力传感器收集的压力数据和其间隔击打方位有关。为了下降由此引起的测量差错,在头、胸部别离设备两个独立气袋和传感器。试验证明该计划在必定程度上减小了差错,能满意本文娱拳击体系对成果精度的要求。
因为硬件电路以及电源带来的搅扰,导致收集的电压叠加了许多毛刺,对数据的处理带来了很大的困难。并对很多数据进行剖析后,在软件上选定了中值滤波的办法减小其搅扰,该办法具有编程简略,滤波作用好的特色。
当击打按键被击中,这时记录下规则时间内收集的电压值,经过中值滤波去除毛刺,得到滑润的波形,然后取其峰值作为击打按键的电压值。
5.3 练习数据的保存
文娱成果数据保存到开发板NAND FLASH中,为成果回放供给数据。在开端运用该体系前,提示是否掩盖已有数据成果,如此能够保证有足够的NANDFLASH空间保存当次成果数据。数据成果包含击打方位、击打力气。为了今后本体系更简单晋级,选用数据库SQLITE寄存成果数据,以供成果回放时运用。
数据收集处理部分在软件的完结上,别离编写了按键驱动button.ko,ADC转化驱动adc.ko,该驱动能经过设置,挑选收集两路AD中那路。树立SQLITE数据库,并对其进行数据存取。