回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

基于ASRPRO的智能语音寻物器 简单

头像 qyj133 2025.08.15 5 0

640.png

步骤1 研究背景

青少年创客空间是一个提供给小创客开展各种创新活动的场所,其中涉及大量的电子元器件。由于这些元器件分别放置在多个抽屉中,即便在抽屉上标注好器材名称,寻找也是十分不便。为了解决这一问题,计划设计一款智能语音寻物器,通过语音识别技术协助实现快速寻找物品。

步骤2 研究目的

本研究旨在设计一款智能语音寻物器,解决创客空间电子元器件多、难以快速找到的问题。该寻物器以TW-ASRPRO语音识别主控为核心,搭配TM1637四位数码管、DHT-22温湿度传感器、1302时钟模块、喇叭和麦克风等器材。用户通过语音说出元器件名称,寻物器会自动回复该元器件所在的抽屉编号。此外,寻物器还具备其他辅助功能,如显示时间、语音播报温湿度和日期等信息。

通过该项目的研究,智能语音寻物器可以大大提高了小创客们在寻找电子元器件时的效率,减少寻找时间和精力。此外,该寻物器还可以提供实时温湿度和日期信息,为创客们提供更加舒适和便捷的工作环境。本研究的成果可以为创客空间和其他类似场所提供一种高效、智能的寻物解决方案,也能将该项目与应用于盲人寻物场景。

步骤3 研究过程

1、开发板及器材准备

ASRPRO基础开发板:长宽为 30x28mm,板载麦克风、指示灯,用户只需要外接喇叭就可以使用。下载程序需要搭配 STC-LINK 下载器。该芯片支持离线神经网络计算,支持单麦克风降噪增强,单麦克风回声消除,360度全方位拾音,可抑制环境噪音,保证嘈杂环境中语音识别的准确性。进行离线语音识别不依赖网络, 时延小,性能高,可实现98%以上的高识别率,10米超远距离识别,响应时间小于0.1S。

image.png

图1:ASRPRO基础开发板

TM1637四位数码管:使用场景主要涉及需要显示数字的场合,如电子时钟、计数器、测量仪器、仪表等。在使用TM1637之前,需要对其进行初始化。初始化包括设置TM1637的初始状态、配置控制引脚等。微控制器可以通过发送数据到TM1637的CLK引脚和DIO引脚来实现数据的传输。

image.png
图2:TM1637四位数码管

DHT-22温湿度传感器:该传感器是一款数字温湿度传感器,它具有高精度、高稳定性、低功耗和快速响应的特点。该传感器内部集成了温度和湿度传感器,可以通过数据线向主控器发送数字信号,实现环境温湿度的测量。连接时将DHT-22的VCC引脚接至主控器的+5V电源,GND引脚接至主控器的GND,DATA引脚接至主控器的输入输出口。该传感器测量范围为-40至+80℃,精度为±0.5℃,湿度测量范围为0-100%,精度为±5%。

image.png
图3:DHT-22温湿度传感器

DS1302时钟模块:该模块是一种常见的实时时钟(RTC)模块,其内置了石英晶体振荡器,能够提供高精度的时钟信号。该模块具有多种功能,如定时、计数、定时器等,广泛应用于各种嵌入式系统和自动化控制领域。引脚说明:CLK引脚是时钟线,它提供时钟信号,控制数据传输速度;DAT引脚是数据传输线,它们负责传输数据;RST引脚是复位线。该模块需要通过程序对时间进行初始化(校核),校核正确后程序会读取模块内的时间信息。

image.png
图4:DS1302时钟模块

充放电模块:该模块支持边充电边放电,支持外接按键,将按键连接至K点和输出负极,短按开启点亮显示和5V输出,连续两次短按会关闭电量显示和5V输出。当充电充满后模块会自动终止充电。

在该模块的使用中,只需要将按键连接至K点和输出负极即可,不需要使用其他方法设置电源开关。

image.png
图5:充放电模块

其他器材:按钮、喇叭、咪头(麦克风)。

2、工具材料准备
工具:电脑、3D打印机、烙铁、胶枪、美工刀、剥线钳、尖嘴钳、压接钳等。

材料:3D打印耗材PLA、胶棒、电子线、杜邦簧片、接线端子,锂电池等。

image.png
图6:部分工具和材料

3、电路设计
根据研究目的和需求,设计寻物器的电路原理图。

image.png
图7:电路原理图

使用锂电池给主控供电,所有电子元件电源可使用主控上的5V或3.3V电源(两种电源均可正常工作)。器材引脚连接:DHT-11温湿度传感器IO引脚连接主控PA0引脚,TM1637四位数码管CLK和DIO引脚分别连接主控PA6和PA5引脚,1302时钟模块CLK、DAT和RST引脚分别连接主控PA2、PC4和PA3引脚。其中喇叭连接在SPK接口,咪头主控上已经焊接好了。

4、电路连接
根据电路原理图,搭建实验板并进行电路连接。由于咪头需要安装在最终作品的外壳上,所以需要将主控上的咪头拆下来,使用电子线连接。在充放电模块上,将按钮连接至K点和输出负极,实现短按一次开机,短按两次关机。

image.png
图8:电路连接图

该主控在上传程序时,需要使用到下载器,连接如下图:

image.png
图9:下载器连接图

5、程序编写
使用开发工具(天问Block)编写控制程序,实现语音识别和其他辅助功能,完成程序见附件一。以下是关键程序的编写说明。

image.png
图10:程序截图一

上电初始化中,初始化相关语音设置,并设置好唤醒词和命令词,这里的命令词是本程序的重要组成部分,也是实现语音寻物的数据库,详细命令词词库见附件二。所有语音设置修改完均需要重新生成模型,然后再编译下载程序。

image.png
图11:程序截图二

上电初始化中,除了对语音进行设置,还需要定义相关变量。变量“dian”是一个布尔变量,用来实现时间显示时,数码管中的“:”进行闪烁;变量“bianhao”也是一个布尔变量,它是用来切换显示命令词对应数值和时间的开关变量;“wendu”和“shidu”两个变量时用来存储温湿度传感器采集到的数值。

image.png
图12:程序截图三

在系统应用初始化中,定义了DHT-11温湿度传感器、TM1637四位数码管、DS1302时钟模块的引脚,具体引脚使用说明在器材介绍中已经详细阐述。在系统应用初始化的最后加入启动定时器的程序,目的是实现程序开始执行时,就要让定时器内的程序开始按周期执行。启用定时器上面的时间初始化只需要执行一次,将DS1302时钟模块的时间对准即可,在后面修改程序再重新烧录时,该部分程序需要禁用。

image.png
图13:程序截图四

主程序中,使用“switch...case...”多分支结构语句,当识别的语音对应的ID与case后的值一致时,执行相对应case中的程序。

image.png
图14:程序截图五

上面程序是当识别到询问星期的语音时,使用变量“bianhao”将显示内容从时间切换到显示星期几,当显示1秒后,再由变量“bianhao”将显示切换为时间,此处显示切换需要结合定时器程序实现。该程序中,为了在语音回复星期几时不出现“星期七”的回复,程序使用也选择结构,当星期值为7时,让语音回复“星期天”,这样更加符合习惯。

image.png
图15:程序截图六

该函数是语音回复的核心程序,由于每个器材回复的程序相同,所以使用核函数。在函数中同样使用变量“bianhao”实现了时间和抽屉号码的显示切换。

image.png
图16:程序截图七

该定时器在程序运行开始时就开始执行,同时定时器周期设置为0.5秒,从而实现每隔0.5秒切换一次布尔变量“dian”的值,配合一个选择结构实现四位数码管中的“:”的亮灭。程序中变量“bianhao”就是判断有没有语音指令将显示权限切换出时间显示,只有变量“bianhao”为“0”时,四位数码管才会显示时间。

6、3D外观设计
(1)使用游标卡尺精确测量温湿度传感器DHT22、TM1637四位数码管等的几何尺寸,并用尺子和铅笔绘制出草图,进一步测量修改,确保数据准确无误。

(2)使用123D进行建模,首先设计底。

A.先画出60*85mm的矩形,再向上拉伸60mm,接着选中上面抽壳,厚度为-1.3mm;

B.在前面为TM1637四位数码管开孔开孔,选中前面,以左上顶点为基准画一个31*15mm的矩形,分别向下移动10mm、向右移动27mm;

C.喇叭开孔:选中前面,在数码管下方适宜位置画出一个2*10mm的矩形,向下拉伸-1.3mm,并移动草图,间距为3mm,依次做出10个条形孔,

D.话筒开孔,画一直径为5mm的圆,并拉伸-1.3mm;

E.湿度传感器DHT22开孔,在左侧面,以顶脚为基准,画一个16*21mm的矩形,并拉伸-1.3mm进行开孔;

F.开关开孔,在右侧面中间部位开孔;

G.在后面下方位置分别为数据口和充电口开孔,10*4mm矩形,拉伸-1.3mm,并导出圆角(半径为0.5mm),添加文本“数据”“充电”,并拉伸0.5mm;

image.png
图17:3D模型(1)

(3)盖子建模

重新新建一个文件,画出60*85的矩形,并向上拉伸1.3mm;

在此平面上画出57.1*82.1mm的矩形,向右和向下各移动1.45mm,并向上拉伸5mm,选中上面,抽壳,厚度为1.3mm。

image.png
图18:3D模型(2)

7、产品组装
根据3D模型预留的空位,将器材依次放置于模型内,并依次固定牢固。

使用可充电锂电池,在电池接口处制作防呆接口,防止更换电池时电源正负极接反。

image.png
图19:产品组装图

最终产品效果图如下:

image.png
图20:产品最终效果图

8、效果验证
安排非创客空间学生进行对照实验。实验学生分两组:原始寻物实验组和语音寻物实验组,每组5名学生,每位学生尝试3种不同器材的寻找,总器材数为24件,取物全部由随机产生的物品名读出后开始计时。

原始寻物实验:安排学生通过抽屉标签寻找器材,相关实验数据如下:

image.png
语音寻物实验:安排学生根据语音提示位置寻找器材,相关实验数据如下:

image.png
两组实验数据中,原始寻物实验平均取物时间为6.27秒,语音寻物实验的平均取物时间只有2.67秒,对比后明显发现,有语音寻物器协助的找寻时间明显少于根据标签寻物的时间。

步骤4 研究结论

通过本研究设计和实现的智能语音寻物器,能够有效地解决创客空间电子元器件多、难以快速找到的问题。该寻物器以TW-ASRPRO语音识别主控为核心,搭配TM1637四位数码管、DHT-22温湿度传感器、1302时钟模块、喇叭和麦克风等器材,实现了基本的语音识别和抽屉编号回复功能,协助快速取物。同时,该寻物器还具备其他辅助功能,如:显示时间、语音播报温湿度和日期等信息。经过实践验证,该智能语音寻物器具有较高的实用性和可靠性,为创客空间的管理和物品查找提供了便利。

该项目的验证实验中,总器材数为24件,如果器材数大量增加,普通的寻找方式寻物时间将会明显增加,语音协助寻物的优势将会更加明显。

步骤5 创新点

本研究设计的智能语音寻物器具有以下创新点:

1.结合主控的语音识别和抽屉编号回复功能,协助用户快速取物,解决了物品繁多的场景中寻物不便的困扰。

2.在实现寻物主功能的同时,还实现了时间、温湿度的显示和语音播放,通过语音即可实现全部控制。

3.该作品和可以应用到盲人寻物的场景中,协助盲人寻找物品。

步骤6 改进方向

为了进一步提升语音寻物器的通用性和方便性,未来可考虑以下改进方向:

1.使用更便携的数据修改方式。目前该作品的物品数据只能通过天问Block软件进行修改,然后生成新模型后,才能用于别的物品的协助寻找。如果数据修改能找到类似于excel修改方式就会更加方便。

2.使用PCB将所有电子元器件进行集成,这样产品会更加小巧、便携。如果外观能够更加个性化,该产品就会更加受到用户的喜欢。

作者公众号

7ca05cf1302667c3a0d2da99a4f71af1_0272839812dcf79f061468afb50cb169.jpg

评论

user-avatar