Arduino项目案例:游戏开发
上QQ阅读APP看书,第一时间看更新

3.2 模块介绍

本项目主要包括手柄数据采集模块、树莓派游戏实现模块、云服务器数据存储模块和移动端数据展示模块。下面分别给出各模块的功能介绍及相关代码。

3.2.1 手柄数据采集模块

本部分包括手柄数据采集模块的功能介绍及相关代码。

1.功能介绍

手柄数据采集模块整合了Arduino开发板、JY901传感器、摇杆按键、HC-05蓝牙模块、直流电机振动模块。采集JY901姿态角度数据和摇杆按键数据,通过HC-05蓝牙模块发送给树莓派,并对相应的按键操作给出直流电机振动反馈,电路如图3-4所示。

图3-4 手柄数据采集模块连线图

2.相关代码

3.2.2 树莓派游戏实现模块

本部分包括树莓派游戏实现模块的功能介绍及相关代码。

1.功能介绍

树莓派端利用Python的Pyserial蓝牙串口模块接收数据,将接收到的JY901和按键摇杆数据进行对应动作解析,利用Python的Pygame进行编写,对体感动作做出相应的游戏,游戏画面通过OLED显示器输出,游戏结束时,通过WiFi将数据上传至云服务器。同时,通过按键映射将蓝牙手柄单独作为游戏外设使用,适配Windows平台。元件包括树莓派和OLED显示屏。

2.相关代码

1)蓝牙通信

2)体感弹球游戏

3)滑雪游戏

4)外星人入侵游戏

5)坦克大战游戏

6)体感射击游戏

7)体感跑酷游戏

3.2.3 云服务器数据存储模块

本部分包括云服务器数据存储模块的功能介绍及相关代码。

1.功能介绍

接收树莓派发送的游戏数据,服务器后端采用Node+Express+Mysql构建数据库,采用Javascript语言编写。

2.相关代码

1)Server.js

2)APP.js

3.2.4 移动端数据展示模块

本部分包括移动端数据展示模块的功能介绍及相关代码。

1.功能介绍

移动端数据展示模块使用PHP+HTML5+CSS+JavaScript语言,采用Bootstrap框架、jQuery、ECharts库编写完成数据可视化。

2.相关代码