这款《多功能语音小车》,是笔者参加庆科跟阿里云联合举办的《万物有声机器人大赛》的作品,采用亚博智能的Micro bit智能小车套件为载体,搭载了庆科MXPVT-VBS7100语音套件,接入了阿里云平台,用户可以通过语音指令,让Micro bit执行相关的动作,比如:
通过ASR指令开灯、关灯之类的动作;
通过ASR指令,语音让小车前进、后退、左转、右转指定步数;
或者让小车进入自动循迹模式,秒变成一款自动循迹小车等;
也可以通过红外遥控远程打开AI开关,让小车播放云端音乐,讲故事等。
该项目主要定位在青少年编程教学:
将庆科的这款语音套件与micro bit结合起来,通过在编程中增加语音互动,来增加青少年学习编程的乐趣。
通过自己组装、改装小车,DIY小车轨道,改装电路等,提高青少年的动手能力、想象能力、创造能力;
通过边学习,边娱乐的方式,让初学者在不知不觉中,轻松掌握更多的专业知识,提高编程能力;
编程、娱乐相结合,闲暇时间还可以用来听音乐、听故事,让更多的青少年远离游戏、爱上编程。
这个项目用到的主要物品如下所示:
整个项目的硬件框图如下图所示:
接下来,我们就开始来动手制作吧,首先,我们来做一个迷宫式的轨道:
选择一个大一点的纸皮,铺成一个比较大的屏幕,作为轨道的底部(这是为了能让轨道随处移动,保证平面);
将其他纸皮全部剪成相同的高度,并用热熔胶枪将纸皮粘起来(DIY一把胶枪打天下);
在底部铺满白色的A4打印纸(实测没有铺纸循迹效果也是比较满意);
用黑色胶带,在白色A4纸上铺成一个轨道形状;
最终,做成的效果如下图所示:
小车上用来控制AI按键的继电器是在某宝上购买的5V继电器模块,同时对3.3V的应用也是兼容的:
继电器的引脚定义如下图所示,根据引脚定义,正确连线,并将继电器用热熔胶枪固定到小车底部:
Micro bit小车套件与庆科的MXPVT-VBS7100语音套件通过TTL串口进行连接,其中,Micro bit小车上的接口如下图所示:
庆科MXPVT-VBS7100语音套件的TTL接口如下图所示:
庆科MXPVT-VBS7100语音套件整体连接如下图所示:
至此,所有的硬件连接就完成了,接下来,我们来看下整个项目的软件流程图:
从上面软件流程图中我们可以看到,整个软件部分分成了三个主要功能,即小车的三种玩法:循迹模式、口令模式和休闲模式。
上电后,语音提示“开机成功”,并且将当前工作模式设置成“休闲模式”,操作员可通过ASR语音指令切换三种模式中的任意一种。
其中,循迹模式,主要是小车在自行设计的轨道上按照黑线一直往前跑;
口令模式,则是通过ASR语音指令,让小车在迷宫式的轨道上,前进、后退、左转、右转指定步数,从起点顺利跑到终点,每条ASR指令完成都有语音返回提示,人机交互性更好。
休闲模式有两种玩法:
一是简单的ASR语音指令,让小车执行简单的动作,比如开灯、关灯之类,且每条ASR指令完成都有语音返回提示,人机交互性更好。
另一种玩法是通过一个遥控器的上、下键来控制一个继电器的开合,从而实现对AI按键的控制,使得操作员可以不用每次都去按语音套件上的AI按键,同样能实现远距离AI互动。
通过这些互动玩法,可以培养编程者的动手能力、思考能力、解决问题的能力等,从而提高编程者的编程能力。
整个项目的编程部分,分为语音模块编程和小车编程,语音模块编程比较简单,直接定义ASR指令即可,详细的ASR指令如下所示:
前进
AT+ASRADD=qian jin yi bu,10
AT+ASRADD=qian jin liang bu,11
AT+ASRADD=qian jin san bu,12
AT+ASRADD=qian jin si bu,13
AT+ASRADD=qian jin wu bu,14
----小车应答:AT+TTS=前进完成
后退
AT+ASRADD=hou tui yi bu,15
AT+ASRADD=hou tui liang bu,16
AT+ASRADD=hou tui san bu,17
AT+ASRADD=hou tui si bu,18
AT+ASRADD=hou tui wu bu,19
----小车应答:AT+TTS=后退完成
左转
AT+ASRADD=zuo zhuan yi bu,20
AT+ASRADD=zuo zhuan liang bu,21
AT+ASRADD=zuo zhuan san bu,22
AT+ASRADD=zuo zhuan si bu,23
AT+ASRADD=zuo zhuan wu bu,24
----小车应答:AT+TTS=左转完成
右转
AT+ASRADD=you zhuan yi bu,25
AT+ASRADD=you zhuan liang bu,26
AT+ASRADD=you zhuan san bu,27
AT+ASRADD=you zhuan si bu,28
AT+ASRADD=you zhuan wu bu,29
----小车应答:AT+TTS=右转完成
加速
AT+ASRADD=jia su,30
----小车应答:AT+TTS=加速完成
速度过大提示:AT+TTS=主人,我已经加到最大速度了
减速
AT+ASRADD=jian su,31
----小车应答:AT+TTS=减速完成
速度过小提示:AT+TTS=主人,太慢了我会跑不动的哟
寻迹模式--小车自动寻迹
AT+ASRADD=xun ji mo shi,32
----小车应答:AT+TTS=当前模式为寻迹模式
口令模式--小车根据口令走迷宫
AT+ASRADD=kou ling mo shi,33
----小车应答:AT+TTS=当前模式为口令模式
休闲模式--执行其他简单动作,如:开、关灯,开、关风扇,播放音乐等
AT+ASRADD=xiu xian mo shi,34
----小车应答:AT+TTS=当前模式为休闲模式
----开机成功
AT+TTS=开机成功
1 、介绍 :AT+ASRADD=jie shao,35
--------小车应答:AT+TTS=主人你好,我是你的小管家,你可以叫我小麦,我是由一群伟大的工程师研发出来的智能机器人
2 、开灯 :AT+ASRADD=kai deng,36
--------小车应答:AT+TTS=开灯成功
3 、关灯 :AT+ASRADD=guan deng,37
--------小车应答:AT+TTS=关灯成功
小车部分编程,主要采用的撘积木的方式,串口通信部分用积木不是很好实现,所有直接在JavaScript环境下做了部分修改,部分代码如下图所示: