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