项目来源:
为满足新课标中六年级“过程与控制”内容要求,结合校园中,新同学和访客不了解学校环境的场景,设计了《基于行空板M10扩展板的AI校园导航助手》项目。
项目简介:
在校园规模日益庞大的当下,新生及访客在校园内穿梭时,常常因不熟悉环境而迷失方向。传统的静态地图难以满足动态导航需求,无法根据实时情况提供个性化路线。行空板M10与扩展板结合语音合成与识别传感器等硬件,具备强大的数据处理和交互能力,能够开发出智能的校园导航助手,为师生和访客带来便利,同时也为初中信息科技课程提供实践平台,助力学生掌握硬件操作、编程及AI技术,提升科创素养。
项目目标
1. 成功开发基于行空板M10和扩展板,集成语音合成与识别传感器的AI校园导航助手,实现校园内精准定位与导航。
2. 使导航助手具备语音交互功能,支持语音输入目的地和语音播报导航信息,提升用户使用便捷性。
3. 引导学生深度参与项目开发,理解硬件连接原理、编程逻辑和AI技术应用,增强学生的实践操作与团队协作能力。
4. 完成项目成果展示,将导航助手应用于校园实际场景,收集用户反馈并持续优化。
所需硬件:
1. 行空板M10一个。
2. 语音识别和合成传感器一个。
3. 语音合成传感器一个。
4. TypeC-USB线一根。
5. 4Pin白色硅胶线一根。
预期成果
1. 开发完成可实际应用的 “基于行空板M10扩展板的AI校园导航助手”,具备精准定位、语音交互、智能导航等功能。
2. 学生在项目参与过程中,掌握图形化编程AI技术应用,提升科技创新和实践能力。
3. 学生通过记录形成完整的项目开发文档,包括硬件连接说明、软件代码、测试报告等,为后续项目开展和教学提供参考。
4. 实现导航助手在校园内的实际应用,为师生和访客提供便利的导航服务,并根据反馈持续优化升级。
硬件简介:
1、行空板
行空板M10是一款专为信息科技课程中的编程学习、物联网及AI项目教学需求而开发的学习板。行空板又称UNIHIKER,它是一款国产教学用开源硬件,它自带Linux操作系统和Python环境,还预装了常用的Python库,能够轻松胜任各种编程相关的开发场景,如搭建物联网系统、体验人工智能应用、编写电子游戏、进行科学实验、设计声光互动、开发可穿戴设备等。
同时,行空板作为智能终端设备,其板子本身采用微型计算机架构,集成LCD彩屏、WiFi蓝牙、多种常用传感器和丰富的拓展接口。
2、行空板M10电机扩展板
专为行空板(UNIHIKER)M10开发适配的背夹便携IO扩展板,含IO扩展板及金手指扩展板(需组合使用)。该板兼容背夹电池实现独立供电,且有乐高孔距固定乐高件。紧凑式设计使功能扩展仅在11mm厚度内实现。
该扩展板集成了两路直流电机驱动,同时板载了RGB灯、红外发射、红外接收功能,以及扩展3路3Pin口、2路I2C口、2路舵机接口。配合DFRobot强大的Gravity产品体系,让行空板M10更好地满足供电、手持、便携、紧凑功能的项目制作。

产品特点
- 1)支持2路直流电机,使用4路I/O即可控制
- 2)与背夹便携电池板配合使用,800mAh电池容量
- 3)板载红外收发及RGB灯,更多可玩性
- 4)金手指扩展版将空余IO全引出,扩展性好
- 5)支持5V I2C ,兼容性更强
- 6)独立5v舵机供电接口
- 7)多种指示灯,电源、电机电源、电机信号指示灯,方便调试
- 8)乐高孔规格:适配LEGO Beam Frame 7 x 11 (39794)
技术规格
- 1)供电接口:4pin连接座:3.3V
- 2)工作电压:3.3V
- 3)I/O扩展排针:
- ①3Pin:3路数字/模拟口,3.3V
- ②4Pin I2C:1路3.3V,1路5V
- 4)电机接口:直流电机ph2.0接口x2
- 5)安装孔:M3x2
- 6)乐高孔:48mm*64mm孔距
- 7)板载元件:
- ①WS2812 RGB灯 x2
- ②红外发射管 x1
- ③红外接收管 x1
- 8)尺寸:90x57mm
- 9)重量:70g
功能说明
细节说明
1) 舵机接口:电压5v,2路ph2.0针脚接口。
2) IR TX:红外发送功能,与常规红外发送模块控制方法相同。
3) IR RX:红外接收功能,与常规红外接收模块控制方法相同。
4) RGB:板载RGB灯为串联的2个WS2812灯,与常规WS2812灯控制方法相同。
5) 电机接口:每个电机使用2根信号线控制,一个信号口输出高低电平控制电机转向,另外一个信号口输出pwm控制电机转速。P5控制M1转向,P8控制M1速度,P6控制M2转向,P16控制M2转速。
6) 电机信号指示灯:亮灭指示电机正反转信号状态。
7) I2C:2路I2C接口其中一路电压为5V,用于给Huskylens等耗电量大的设备供电。
8) IO:3路IO接口。
组装方式
1) 安装电池板:安装电池板通过行空板M10背部金属触点为主板供电,充电使用电池板板载Type-C接口(该接口无法和行空板M10通信,仅为电池板充电)。如需有线编程调试需连接行空板M10板载Type-C接口。
2) 将金手指扩展板插入行空板M10。
3) 将IO扩展板底部针脚对齐金手指扩展板扩展座插入,可拧紧顶部两颗螺丝加强固定。
4) 如下图所示方式与乐高固定:乐高型号--LEGO Beam Frame 7 x 11 (39794)

3、语音识别和合成传感器介绍
本项目使用的语音识别和合成传感器支持I2C和UART两种通讯方式,采用双麦克风收音。自带训练好的语音识别模型库,使用的时候程序会自动处理语音并在模型库中进行匹配,可以用内置的语音命令控制,也可以学习自定义的命令。同时,模块也自带喇叭,能通过播放对应的预设语音给予及时的识别反馈,实现不用编程只通过说话即可完成对模块的设置。
模块通电后,电源指示灯常亮红色;模块成功唤醒后,唤醒指示灯亮起蓝色灯,等待到达休眠时间(可用程序设置),蓝色灯自动熄灭。
另外,模块可识别命令分为唤醒词和命令词。唤醒词是指唤醒模块进入工作状态的命令,固定唤醒词有两个:“小智你好”和“小爱同学”,可自定义一个唤醒词。
命令词包含学习词、自定义命令词和固定命令词。其中学习词可用于控制模块学习自定义的命令,常用的学习词如下表:
对于自定义命令词,模块支持自定义17个;模块学习自定义命令次时需要先说出唤醒词,再说出“学习命令词”,然后根据语音提示说出学习命令词完成对应命令词的学习。需要强调的是,不管是识别还是学习命令,模块都需要先被唤醒,才能正常工作。
软件简介:
Mind+编程软件(下载地址:https://www.mindplus.cc)
制作过程:
1、组装行空板扩展板,拧上2个螺丝固定,注意:不拧螺丝行空板极易运行一半就断电。
2、在行空板扩展板上插上行空板M10。
3、连接硬件
首先,将语音识别和合成传感器通过4Pin白色胶线连接到行空板IIC接口上。
注意:将语音识别和合成传感器上的接口开关拨到IIC接口,喇叭开关拨到SPK1内置喇叭上。
然后,将行空板通过USB线连接到电脑上,等待行空板屏幕亮起,并显示行空板LOGO,表示连接成功。同时,语音识别和合成传感器响起欢迎语音。
然后,把语音合成传感器通过4Pin白色胶线连接到行空板另一个IIC接口上。(注意:语音识别和合成模块只能发出预设的声音,如果要发生合成语音必须要另外再加一个语音合成传感器。)
连接后的硬件设备如图:
4、准备软件
按照步骤,设置Mind+软件编程方式为Python图形化编程,并完成行空板的加载和连接。
5、加载库:
加载行空板、加载语音识别和合成传感器、语音合成传感器的相关指令。点击“扩展”,选择“用户库”,在搜索框中输入“语音识别”,点击加载“Gravity语音识别&合成模块”和“Gravity语音合成模块”。
由于语音识别模块扩展库属于用户库,需要使用到“pinpong初始化”库完成模块的引脚初始化。“pinpong初始化”库位于“扩展库”的“pinpong库”分类下,按下图查找并点击加载。
在唤醒词ID指令中,唤醒词有三个选项,可以使用固定关键词“小爱同学”完成装置的唤醒。
6、自创唤醒词
以上是使用内置唤醒词唤醒语音识别和语音合成传感器,能不能自己定义一个“名字”,用来唤醒传感器呢?可以让语音控制和语音合成传感器来学习自定义唤醒词,然后修改程序就可以用自定义的唤醒词唤醒传感器了。步骤如下:
1)唤醒模块。对准传感器板载麦克风说出“小智你好”或“小爱同学”(固定唤醒词),模块响起回应词,蓝色指示灯亮起,唤醒成功。
2)学习唤醒词。说出“学习唤醒词”,然后根据模块语音提示说出要学习的唤醒词三遍,如“上外附中”。
3)如果提示“学习模板超过上限”表示已学习过自定义唤醒词,此时需要删除已学习唤醒词。说出“我要删除”,模块询问“你要删除的是唤醒词还是命令词?”,然后说出“删除唤醒词”,删除完毕。重新学习唤醒词。
7、准备校园图片
从百度地图或高德地图上截取学校平面图,使用计算机自带的画图程序,制作好校园主要场馆的图片,保存图片并加载到Mind+中。我准备了8张图片,包括纯地图、校门、一号楼、国际部、艺体楼、食堂、学生宿舍、艺术中心。
8、学习自定义命令词
设置语音命令,控制行空板屏幕显示对应的位置。
首先,先来根据学校的地点确定要使用的命令词和学习顺序,用表格记录下来。
序号 | 命令词 |
1 | 一号楼 |
2 | 国际部 |
3 | 艺体楼 |
4 | 食堂 |
5 | 学生宿舍 |
6 | 艺术中心 |
7 | 校门 |
接着按照步骤控制语音识别和合成传感器学习自定义命令词:
1)唤醒模块。对着语音识别和合成传感器的麦克风说出已学习的唤醒词或固定唤醒词,传感器响起回应词,蓝色指示灯亮起,唤醒成功。
2)删除已学习命令词。说出“我要删除”,传感器询问“你要删除的是唤醒词还是命令词”,然后说出“删除命令词”,删除完毕。
3)学习命令词。说出“学习命令词”,然后根据上面表格和传感器的语音提示分别学习“一号楼”、“国际部”、“艺体楼”等7个命令词。
4)说出“退出学习”,即可退出命令词学习。
9、编写程序
编写程序,识别自定义命令词,控制显示对应地点的指示图片。
自定义命令词的识别需要使用“学习的命令词的第几个自定义ID”,依照次序分别选择7个自定义命令,分别对应“一号楼”、“国际部”、“艺体楼”等七个路线,并在行空板屏幕上显示对应文字和图片。代码如下:
编程代码:
运行程序
点击运行按钮,运行程序。行空板显示唤醒词提示语和校园背景,对着语音识别模块麦克风说出自定义唤醒词,语音识别模块响起唤醒成功提示语,行空板屏幕显示“已唤醒”和当前位置提示。
说出“教学楼”,语音识别模块响起执行成功提示语,行空板屏幕显示“教学楼”和路线图。
说出“食堂”,语音识别模块响起执行成功提示语,行空板屏幕显示“食堂”和路线图。
项目感想:
这个项目虽然简单,但是比较易行,可以在学校中六年级的信息科技课程中实施。
完成的过程中遇到了很多的困难,特别是在设置语音识别和合成传感器上,还要多多向论坛中的大咖们学习。
后续展望:
希望能继续研究下去,再增加一些传感器比如GPS,和校园介绍的文字和图片等,把这个AI校园导航助手的主题能更加完善,感谢主办方举办的此次活动,让人受益匪浅。
测试过程:
评论