2747| 1
|
【烟台】我的机械战警最听话 ——基础篇 |
本帖最后由 DFrJ5KYVQaH 于 2020-5-28 09:15 编辑 项目内容 《机械战警》是由何塞·帕迪里亚执导,乔尔·金纳曼、塞缪尔·杰克逊、加里·奥德曼等主演的一部科幻电影,但今天我们说的主角不是他, ![]() 而是它 ![]() 这是一款儿童玩具——机械战警。它会做很多事:前进、后退、左转、右转、讲故事、跳舞、歌曲、科普等等。其实它就是使用遥控器进行操作, ![]() 可以说简单易行。而今天我们利用树莓派来让它更听我们的话,操作起来更方便,可以让它可以轻松完成更多的功能,起到更大的作用。 我们就是要做到用加强版的红外发射器替换掉遥控器来对机械战警进行操作。下面我们就一起来看看如何操作吧。 ![]() ![]() ![]() ![]() 项目指导 一、硬件连接: ![]() 首先,我们要先需使用积木 ![]() ![]() 注意:设置好后运行程序,树莓派会自动重启。重启后将这段程序删除。因为每次运行段程序,树莓都会重启,而且设置好后,树莓派的红外模式和GPIO就不会变了。 二、语音控制: 语音控制是一种非常方便操作方式,我们只需对着全向麦说出你想要的操作,就可以让树莓派来做相应的操作,有效的解放了我们的双手。在古德微树莓派机器人中,我们只要通过“人工智能”模块中“语音识别”中的 ![]() ![]() 就会看到在消息提示栏显示“小度在,么么哒!”同时音响也会响起相应的语音,也就是表示树莓派的语音识别达成了。 我们要让树莓派进行语音识别后,再来指挥机械战警。因此,我们还要加入语音识别的相关积木 ![]() ![]() 输入“语音文字”来创建好变量,并将3秒的语音转换成文字存储在变量中即 ![]() ![]() 程序运行后,在语音回答“小度在,么么哒”后,你说“前进”后,提示栏这时会显示: ![]() 注意:函数必须是“Wakeup”,还要区分大小写。 三、运动: 在古德微机器人网页开发平台上“红外遥控”积木模块 ![]() ![]() ![]() ![]() ![]() ![]() 要让机械战警运动起来,我们只要调动这个积木就可以。运行后,我们就可以看到机械战警就可以向前移动了(当然运行时,我们必须将加强版红外发射器对准机械战警噢)。那么,后退呢?我们只要点开上个积木中的下拉按钮,就可以看到里面包含有后退、左转、右转、滑行前进、滑行后退、滑行左转、滑行右转以及停止等都在里面。也就是说我们可以使用这一个语句完成上面的所有操作。如:如果我们语音中有“前进”就让机械战警前进,我们的程序可以写成: ![]() 其中, ![]() ![]() 四、动作: 机械战警的手臂是可以做一些简单动作的。我们可以通过“红外遥控”积木中的 ![]() ![]() 运行后,机械战警的左手就会抬一次,我们可以通过重复执行让手一直抬到最高,当然也可通过“左手下”使手臂回到相应的位置。 五、娱乐: 机械战警也可以通过唱歌、跳舞、讲故事、讲科普、战斗以及学英语来跟我们小朋友娱乐,我们语音要实现起来其实非常简单,只需调用积木 ![]() ![]() 六、战斗: 机械战警的战斗主要有两种模式,我们只要通过积木就可以实现,通过下拉按钮选择不同的战斗模式来实现模式的切换,我们以发射导弹为例写程序: ![]() 运行,即可发射导弹。其实由于“发射”这一命令和其它命令也没有冲突,因此,我们可以将上面的语句改成: ![]() 就可以轻松实现。 七、综合实现: 我们将上面所有的程序整理后用来综合实现用语音来控制机械战警,程序就可以写成: 运动函数: ![]() 动作函数: ![]() 娱乐函数: ![]() 战斗函数: ![]() 主程序: ![]() 程序运行后效果如下: 八、扩展: 机械战警的音量我们也可以通过语音来调整,使用“红外遥控”积木模块中积木,就可对音量的大小进行调整: ![]() 将这个函数添加加到主程序中,就可以调整音量大小了。 我的机械战警是不是很听我的话!哈哈!!! ![]() |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed