本设计主要是以STC89C52RC单片机作为控制的核心,通过MC7805CT三端稳压输出电路、带有三轴加速度器和三轴陀螺仪的MPU6050模块、BLK-MD-HC-06蓝牙模块以及按键等电路来实现体感游戏手柄的功能。STC89C52RC单片机通过IC串行总线与MPU6050模块进行通信,接收和存储从MPU6050模块传入的三轴加速度和三轴角速度的原始数据,再将数据通过蓝牙模块发送给将装有Unity3D游戏引擎的上位机[5-0]。总体设计框架如图所示。
手柄硬件设计
手柄硬件电路如图2所示。该电路主要由STC89C52RC单片机、MC7805CT三端稳压芯片、MPU6050模块、蓝牙模块、按键电路、晶振电路和复位电路等构成。
体感游戏手柄的设计以STC89C52RC单片机为主控制器,读取从MPU6050模块传入的三轴加速度和三轴角速度的原始数据。该原始数据为6个低8AD和658AD值.STC89C52RC单片机将这12个AD值数据通过蓝牙模块传给上位机的串口,并在上位机脚本中对高8位的AD值进行左移8位,再同低8位的AD值相与,可得3个加速度的16位AD值和3个角速度的16位AD值。本设计利用GP1604S-6F22-9V电池输出9V的电压,经过MC7805CT三端稳压电路输出5V的电压供给单片机、MPU6050和蓝牙等模块。
手柄软件设计
手柄软件主程序流程如图所示。先将单片机、蓝牙模块的串口和MPU6050模块初始化,再执行扫描按键输入程序,接着单片机获取和存储MPU6050传入的6轴原始数据和按键数据,经蓝牙模块发送给上位机,数据发送完成后返回扫描按键输入程序,继续循环发送