近些天来,随着学生朋友们纷纷放假在家无事可做,一款简单好玩的小游戏--合成大西瓜瞬间大火。随着游戏的流行,越来越多的游戏攻略出现,带给游玩者不同的游戏思路,也给我们带来一个值得思考的问题:如何让机器去玩合成大西瓜这款游戏,又如何让机器玩的好、乃至成为外挂?
想要设计这样一个机器,首要问题就是确定控制器的选择。在此次项目中,我们选用了树莓派4B/4GB,这一款在树莓派中是最流行也是性价比较高的。之所以选中树莓派也是看重它成本低、体积小、上手易的特点,它用Python编程,同时可以使用C语言编程,在程序编写上更加灵活也更加容易。
其次是接受信息的传感器。对于玩游戏来说,所接受的信息是手机屏幕上实时的图像信息,因此需要一个摄像头来接受信息并通过图像识别的算法去给到控制器以即将掉落的水果的信息和现存的水果的分布信息。在这里,为了更好的兼容性,我们选用树莓派的摄像头来搭配树莓派使用。
最后是电机及其驱动,这也是此机器的执行部分。当接收到摄像头发来的经过处理的图像信息后,想要让机器点击手机屏幕以及点击屏幕哪一位置就取决于电机如何运动。在电机方面,我们选择步进电机因为它的开启和停止极快、转动速度可调、适合慢速场景。而电机驱动则选用Trinamic 公司的TMC2208 SILENTSTEPSTICK这一模块。通过电机驱动模块,从控制器发来脉冲信号被翻译成转速给到步进电机,从而达成控制移动的距离的目的。为了能够让机器手指指向特定的位置,需要两个步进电机形成一个平面直角坐标系,再用第三个步进电机来控制手指落下,从而实现机器手指点向手机屏幕特定位置的功能。
最后,附上我们给此次项目所做的概念图。
附:
树莓派数据:
https://www.eetree.cn/doc/detail/1527
摄像头数据:
https://www.raspberrypi.org/products/camera-module-v2/
电机驱动数据: 见附件