6671| 3
|
[项目] 现实版铁甲钢拳 2 |
本帖最后由 nille 于 2014-8-26 17:50 编辑 OK,接下来我们介绍一下之后的完善过程。如果大家没有看过之前的内容也可以点击这里回顾一下。改进的地方首先看外观,如果大家留意会发现机器人多了图1中的几个部分——胸甲、背甲和手。手的小结构件可以替代之前用PVC材料制作的手,胸甲和背甲可以将控制板包裹起来,保护控制板的同时也让人形机器人更加的好看。 图1 胸甲、背甲和手 除了把机器人的外观做的更加好看之外,我们还想让它在动作的时候发出声音,就像游戏拳皇或者街霸一样。这就需要对之前的制作进行一些修改,上一篇完成后的机器人结构示意图如图2所示。 图2 控制示意图 为了实现上面提到的功能,我们就不能让手柄的控制信号通过无线模块直接发给舵机控制板了,而是需要一个模块在收到手柄的信号之后,一方面可以发送指令给舵机控制板,另一方面可以实现语音播放。改造后的机器人端连接示意图如下。 图3 改造后的机器人端连接示意图 因为机器人背甲和胸甲内的空间有限,所以我们选用了小巧的Flyduino来作为中间的信号处理板,如图4所示。Flyduino是一款基于Arduino的微型控制器,大小只有40mmX24mm,集成了12个数字口,8个模拟口,1个XBee无线数传接口可直接连接我们的无线模块。 图4 Flyduino 另外,让机器人发声的语音模块我们选择的是DFRduino Player V2.0语音播放模块,如图5所示。该模块支持TTL电平串口,只需要将语音文件放置在SD卡中,就可以通过串口发送文件名信息播放相应的语音文件。同时模块还提供一个播放完毕提示端口,当播放完一首歌曲后,会输出一个高电平。 图5 DFRduino Player V2.0语音播放模块 器件选定以后,就可以开始我们的改造工作了。 第一步,安装语音播放模块。 安装模块之前我们首先要将声音文件保存在存储卡中,根据机器人的动作我们找了以下几种动作的声音,并按照下表给各个文件命名。大家也可以根据自己的喜好选择拳皇、街霸之类游戏里的声音,但文件名一定要对上。 声音文件拷贝完成后,我们将模块和扬声器都放在胸甲内(图1右上角),固定语音模块的螺丝刚好将扬声器卡住,然后用排线将模块的控制引脚和电源引出,如图6所示。这里要说明一点,本身套件中的胸甲是没有发声孔和模块安装孔的,这些需要用电钻自己钻。 图6 安装语音模块 连接语音模块的线缆需要从机器人的胸腔中穿过,以连接后面的Flyduino。 图7 控制线缆穿过胸腔 最后将胸甲固定在机器人身上,如图8所示 图8 固定机器人的胸甲 第二步,安装Flyduino。由于Flyduino没有安装孔,所以我们利用它背面的XBee无线数传接口将其固定在背甲上。我们先在背甲上开两个槽,其大小与无线数传接口一致。如图9所示。图9 背甲上的安装槽 然后将Flyduino固定在背甲上,最后插上之前用到的无线模块。如图10、图11所示。 图10 固定好Flyduino 图11 插上无线模块 第三步,将Flyduino、语音播放模块和舵机控制板3部分连接起来。 由于模块之间都是通过TTL串口通信,而Flyduino只有一个硬件的TTL串口,且用在了与无线模块的通信上,所以需要用软件在Flyduino端模拟两个串口。在Arduino的库中有一个SoftwareSerial库,定义了一个SoftwareSerial 的类,可以实现模拟串口,我们在代码中定义两个SoftwareSerial 的对象mySerial1和mySerial2,mySerial1占用引脚2、3,用来给语音播放模块发送指令;mySerial2占用引脚4、5,用来给舵机控制板发送指令。定义对象的代码如下。 对照上一期中的动作表以及这次的声音表,我们能够得到一张声音动作对照表。根据这张表能够很方便的完成Flyduino中的程序,源代码如下:
图12 连接各个部分 代码完成并下载到Flyduino中以后,按照图12完成这几部分的连接,Flyduino和语音播放模块的电源均取自舵机控制板,语音播放模块的排线连接到Flyduino的引脚2、3、6,舵机控制板的TTL串口连接到Flyduino的4、5。 最后一步,将背甲安装在机器人身上,换上套件中手的小结构件。如图13所示。 图13 安装上背甲 至此,我们的格斗机器人就算完成了。开始战斗吧!! To be continued... 相关链接:Flyduino,Player module |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed