大家好,我是『芯知识学堂』的SingleYork,前面给大家简单介绍了『免费开源』基于STM32的之成员简介,相信有很多小伙伴都已经忍不住跃跃欲试了,别着急,从这一篇开始,笔者将会带领大家一步一步来完成这个DIY项目。

这款套件的主控板采用的是我们『芯知识学堂』自主设计的OWL Micro F1开发板,如果有一直关注我们的小伙伴,相信大家对这款开发板不会再感到陌生了:

![](https://b04.ickimg.com/202007/36567c6d91c719c340a3b42932916f26.png)

当然咯,我们今天的主角不是这款『OWL Micro F1开发板』,今天笔者要给大家介绍的是这个项目中比较重要的一个模块—语音识别模块:ASR-08B。

![](https://b03.ickimg.com/202007/0bce0516dabec76861e5128ab6367fd6.png)

这个模块的语音识别部分采用的是LD3320这个芯片,然后集成了一颗STC11L16XE的单片机做了一些指令、数据处理,相比于网上其他的LD3320的模块,操作更加简单,用户不用折腾代码,直接串口发送指令设置关键词即可识别,而且,厂家还提供了专门的设置工具,操作非常简单(enmm,妈妈再也不用担心我不会写代码了……):

![](https://b02.ickimg.com/202007/15cdc176549e05f532965f714965b6f9.png)

接下来,笔者将结合我们的这款智能垃圾桶的DIY项目,来给大家介绍一下这个ASR-08B语音模块的使用,首先,我们将ASR-08B模块与USB转TTL模块连接来,并将USB转TTL模块插到电脑上:

![](https://b03.ickimg.com/202007/5d20f8fb522d093a4557a7f4d08eace7.png)

USB转串口模块与语音识别模块接线说明:

语音模块TXD --> USB模块RXD

语音模块RXD --> USB模块TXD

语音模块GND --> USB模块GND

语音模块VCC --> USB模块5V

这里需要注意的是,如果是使用厂家配套的USB转TTL模块的话,就不要使用USB转TTL模块的3V3电压给语音模块供电了,因为厂家提供的这个USB转TTL模块本身没有3.3V输出,语音模块的3.3V引脚直接悬空即可。

硬件连接好后,如果是之前有用过CH340设备的电脑,在设备管理器中直接会显示一个“USB-SERILA CH340”开头的COM端口,如果是未使用过CH340设备的电脑,则可能需要自己手动安装一下这个驱动,关于这个驱动的安装比较简单,笔者就不在这啰嗦了。

![](https://b02.ickimg.com/202007/8bc51fbebb421b71719ecfcdc7aafc39.png)

ASR-08B模块是支持三种识别检测模式的,即:循环检测模块、口令检测模式和按钮检测模式,在我们这个智能垃圾桶项目中,笔者使用的是“口令检测模式”,所谓的“口令检测模式”,就意味着,我们先要对上口令,才能够进行下一步操作。说到这里,是不是有小伙伴马上就想起了电影《智取威虎山》里面的经典台词:

土匪 :天王盖地虎!(你好大的胆!敢来气你的祖宗?)

杨子荣:宝塔镇河妖!(要是那样,叫我从山上摔死,掉河里淹死。)

土匪 :野鸡闷头钻,哪能上天王山!(你不是正牌的。)

杨子荣:地上有的是米,喂呀,有根底!(老子是正牌的,老牌的。)

土匪 :拜见过阿妈啦?(你从小拜谁为师?)

杨子荣:他房上没瓦,非否非,否非否!(不到正堂不能说。)

土匪 :嘛哈嘛哈?(以前独干吗?)

杨子荣:正晌午说话,谁还没有家?(许大马棒山上。)

土匪 :好叭哒!(内行,是把老手)

杨子荣:天下大耷拉!(不吹牛,闯过大队头。)

当然咯,笔者今天要给大家介绍的所谓的口令,没有这么复杂,我们只需要给语音识别模块设置一个名为“猫头鹰”的唤醒口令即可。

接下来,我们需要根据垃圾分类的标准,将常见的一些垃圾,分为:可回收垃圾、厨余垃圾、有害垃圾和其他垃圾这四大类:

(1)可回收垃圾:

旧报纸、塑料瓶、废铁、图书、坏手机、玻璃瓶、旧水管、洗衣机、电视机、电饭煲

(2)厨余垃圾:

剩菜、剩饭、菜叶、果皮、隔夜饭、骨头、鸡蛋壳、茶叶渣、菜根、苹果核

(3)有害垃圾:

灯泡、电池、药品、灯管、油漆桶、化妆品、老鼠药、指甲油、杀虫剂、农药

(4)其他垃圾:

果壳、泥土、瓜子壳、废水、陶瓷、一次性筷子、卫生纸、烟头、餐巾纸、牙签

为了防止语音识别模块出厂可能自带的一些指令跟我们需要增加的指令有冲突,我们先将语音识别模块里面的所有指令一次性全部擦除(即:擦除所有关键词),操作步骤如下:

![](https://b01.ickimg.com/202007/22511d6ac68871e1691e5c1cfa537b05.png)

简单来说,我们只需要在串口正确打开后,点一下“擦除所有关键词”按钮,然后再点一下“发送”按钮即可完成操作。

接下里,我们来开始添加关键词,我们先点击一下“添加关键词”按钮,这个时候,在“数据发送区”就会出现一条示例指令“00,kai deng,001,$”,然后如果我们勾选了“是否显示命令解析”选项的话,在“数据接收区”会出现有关这条指令的详细解析,如下:

![](https://b02.ickimg.com/202007/8e9b17ab182b1c8b6260f8fafe281903.png)

这里需要注意几个地方:

1、“关键词所在的行”如果只有一位数时(0-9),前面十位一定要0补齐;

2、“需要识别的词语或句子”两个拼音之间需要用空格隔开,并且,有且仅有一个空格,其他部分也不允许有多余的空格;

3、“逗号”分隔符一定要是英文状态下的“逗号”,不能使用中文状态下的“逗号”;

4、“254”被规定为口令模式中的口令,比如本例中的口令“猫头鹰”,不能用作普通关键词的返回值;

5、“255”被规定为屏蔽词,如本例中的“可回收垃圾”、“厨余垃圾”、“有害垃圾”、“其他垃圾”,这样就可以避免语音播报模块在播报这几条语音的时候,被语音识别模块识别到。

我们在添加关键词的时候,一定要严格按照上述要求进行操作,否则,可能会出现异常情况。

弄清楚了“添加关键词”的指令格式后,我们就可以来开始添加本例所需要的关键词了。我们以“猫头鹰”这个唤醒口令为例,我们只需要在“数据发送区”输入“00,mao tou ying,254,$”,然后点击“发送”按钮,当“数据接收区”出现“写入成功!”后,我们的关键词就设置成功了:

![](https://b05.ickimg.com/202007/668c6d8dc09ffb3541f4c9701129a498.png)

接下来,我们来测试一下这个“猫头鹰”的关键词,这里,我们需要选择“十六进制显示”,然后,我们直接对着语音识别模块说一声“猫头鹰”,就可以在ASR M08-B设置软件的“数据接收区”里看到有显示“FE”,即:254,说明我们的这个“猫头鹰”关键词设置成功了。

![](https://b05.ickimg.com/202007/81f0e4c138357c64791c2ee2db5dd746.png)

至于其他的关键词,我们只需要按照同样的方式设置即可。当然咯,一个一个设置关键词,还是会比较麻烦的,语音识别模块的厂家也为大家考虑到了这一点,所以在“ASR M08-B设置软件”里面做了一个批处理的按钮,即:一键设置。这个时候我们只需要新建一个记事本,命名为“垃圾名字关键词”,然后直接在这个“垃圾名字关键词.txt”文件里面写入以下内容:

@01,jiu bao zhi,001,$

@02,su liao ping,001,$

@03,fei tie,001,$

@04,tu shu,001,$

@05,huai shou ji,001,$

@06,bo li ping,001,$

@07,jiu shui guan,001,$

@08,xi yi ji,001,$

@09,dian shi ji,001,$

@10,dian fan bao,001,$

@11,sheng cai,002,$

@12,sheng fan,002,$

@13,cai ye,002,$

@14,guo pi,002,$

@15,ge ye fan,002,$

@16,gu tou,002,$

@17,ji dan ke,002,$

@18,cha ye zha,002,$

@19,cai gen,002,$

@20,ping guo he,002,$

@21,deng pao,003,$

@22,dian chi,003,$

@23,yao ping,003,$

@24,deng guan,003,$

@25,you qi tong,003,$

@26,hua zhuang pin,003,$

@27,lao shu yao,003,$

@28,zhi jia you,003,$

@29,sha chong ji,003,$

@30,nong yao,003,$

@31,guo ke,004,$

@32,ni tu,004,$

@33,gua zi ke,004,$

@34,fei shui,004,$

@35,tao ci,004,$

@36,yi ci xing kuai zi,004,$

@37,wei sheng zhi,004,$

@38,yan tou,004,$

@39,can jing zhi,004,$

@40,ya qian,004,$

@41,ke hui shou la ji,255,$

@42,chu yu la ji,255,$

@43,you hai la ji,255,$

@44,qi ta la ji,255,$

@49,mao tou ying,254,$

其中:

返回值001(行号01-10)属于“可回收垃圾”;

返回值002(行号11-20)属于“厨余垃圾”;

返回值003(行号21-30)属于“有害垃圾”;

返回值004(行号31-40)属于“其他垃圾”;

行号41-44属于屏蔽词(可回收垃圾、厨余垃圾、有害垃圾、其他垃圾);

行号49属于唤醒口令。

接下来,我们就可以来一键设置关键词了,我们先将数据接收区的显示模式改成“文本格式显示”,然后点击“一键设置”,选择文件“垃圾名字关键词.txt”,然后点击“打开”按钮:

![](https://b05.ickimg.com/202007/43fca93004db88799b31196a3192380c.png)

因为我们设置的速度是1000ms,也就是说,每1000ms下发一条设置指令,所以,我们在“ASR M08-B设置软件”的“数据接收区”会每隔1000ms收到一条“写入成功!”的信息,直到出现“发送完成”的提示,意味着所有的关键词设置成功。

![](https://b01.ickimg.com/202007/2ea19dc212d4b1214541cc6f5600cdb7.png)

接下来,我们就可以来测试一下这些关键词了,测试关键词是否写入成功有两个方法:

一是点击软件上的“查询关键词”按钮,然后再点击“发送”按钮,即可查询我们刚才写入的所有的关键词;

另外一个就是可以直接通过判断语音识别模块的返回值来最终检验我们写入的关键词是否成功,具体操作请看视频:

[智能垃圾桶语音识别视频演示](https://v.qq.com/x/page/t3082zb1vi6.html?pcsharecode=WVVoAYKM&sf=uri "智能垃圾桶语音识别演示")

视频中有提到如何将模块设置成“口令模式”,其实,这条指令也同样可以在“一键设置”的时候,跟随其他关键词一起写入到语音识别模块中,相信看到这里,大家都应该知道要怎么操作了,笔者就不再赘述了。

ASR-08B模块这款语音识别模块,相比与之前笔者使用过的庆科的VBS7100语音套件有优点也有缺点,ASR-08B模块有几个比较突出的优点:

1、离线识别:采用了LD3320离线式语音识别芯片,无需联网能够实现离线识别;

2、设置简单:厂家提供了专用的设置软件,使得用户无需编程基础,全程傻瓜式操作,就能快速设置所有指令;

当然咯,其缺点也是比较明显的:

1、识别率不高:由于LD3320芯片的局限性,导致了识别率只能在90%左右(虽然在离线式语音识别芯片中算高了,但是跟在线式语音识别芯片还是有一定差距);

2、关键词数量有限:ASR-08B模块能够设定的关键词数量有限(最多50条),导致了我们能够写入的关键词数量不能太多,有一定的局限性;

有关ASR-08B模块和VBS7100语音套件的更多差异以及详细的使用教程,请大家自行翻阅相关资料,在实际应用中,我们可以根据自己的应用场景,选择离线式语音识别方案还是在线式语音识别方案。

关于我们这个DIY智能垃圾桶项目的语音识别部分,就给大家介绍到这里了,如还有疑问可以咨询我们,下一篇,笔者将要跟大家继续分享我们这个DIY项目中语音播报部分的实现,敬请关注!

如果你喜欢我们的这个DIY项目,欢迎分享、转载,在项目内容全部介绍完成后,笔者将会给大家免费分享所有设计资料,感谢大家的支持!

![](https://b04.ickimg.com/202007/5b7560b725555e57caebbd9de83d90bd.png)

原创作品,未经权利人授权禁止转载。详情见转载须知。

举报文章

『开源项目』基于STM32的智能垃圾桶之语音识别相关推荐

  1. python3语音识别模块_『开源项目』基于STM32的智能垃圾桶之语音识别

    大家好,我是『芯知识学堂』的SingleYork,前面给大家简单介绍了『开源项目』基于STM32的智能垃圾桶之成员简介,相信有很多小伙伴都已经忍不住跃跃欲试了,别着急,从这一篇开始,笔者将会带领大家一 ...

  2. stm32语音识别文字显示_『开源项目』基于STM32的智能垃圾桶之语音识别

    大家好,我是『芯知识学堂』的SingleYork,前面给大家简单介绍了『开源项目』基于STM32的智能垃圾桶之成员简介,相信有很多小伙伴都已经忍不住跃跃欲试了,别着急,从这一篇开始,笔者将会带领大家一 ...

  3. 智能垃圾桶c语言程序,『免费开源』基于STM32的智能垃圾桶之语音播报

    大家好,我是『芯知识学堂』的SingleYork,前面给大家简单介绍了<基于STM32的智能垃圾桶之成员简介>和<基于STM32的智能垃圾桶之语音识别>,今天笔者将要给大家介绍 ...

  4. stm32的语音识别_免费开源基于STM32的智能垃圾桶之舵机控制(HAL库)

    大家好,我是『芯知识学堂』的SingleYork,前面给大家简单介绍了<基于STM32的智能垃圾桶之成员简介>.<基于STM32的智能垃圾桶之语音识别>和<基于STM32 ...

  5. Arduino项目实战——基于Arduino【智能垃圾桶】设计

       Arduino项目实战        -基于Arduino[智能垃圾桶]设计 第一次接触Arduino是在大一的时候,距离现在已经五年,当时一个简单的"电子琴"项目就让我抓耳 ...

  6. 【单片机项目】基于STM32的智能小车设计(一)流程设计

    其实前几周就已经将小车调好并且也发了视频,但是每天忙于复习,也没有时间来对小车的流程设计.硬件设计.程序编写进行一个总结,正好周五可以休息一下,就分三个模块对这个智能小车项目进行一个总结. 这个小项目 ...

  7. 【单片机项目】基于STM32的智能小车设计(三)软件设计

            这是智能小车的最后一篇博客,主要讲解一下小车的程序设计. 电机的驱动:         我写了俩种转弯,一种是一个轮朝后一个轮朝前的转弯,另一种是抱死一个轮另一个向前,使用PWM来调速 ...

  8. 基于stm32的智能家居项目

    基于stm32的智能家居 具体教程可以看文中的B站链接,上面有手把手教程 本人其他项目链接基于linux的智能仓储项目 基于Qt的人脸识别 移植人脸识别到Linux开发板上 基于正点原子的IMX6UL ...

  9. 《基于STm32的智能手环项目》笔记

    Q1.本科期间做过什么科研项目/竞赛?具体负责什么?做出了什么成果?是否获得什么荣誉奖项?(简单介绍一下<基于STM32智能手环>课程设计?) 项目经历:本科课程设计做过一个<基于S ...

最新文章

  1. qlist length 函数讲解_读《JavaScript 轻量级函数式编程》
  2. Mac OS—苹果搭建Android开发环境
  3. JAVA 正则表达式 分组
  4. ubuntu下clion软件连接boost库文件
  5. pycharm导入模块不智能显示_Pycharm自动导入模块小技巧
  6. 女朋友拿走程序员的什么最不能忍?直到程序员看到这个,无法忍受!
  7. python 路由转发_[转载]无线传感器网络路由协议(转)
  8. SAP License:新总帐行项目无法显示
  9. 图片-标签、格式\内联框架\音视频播放——HTML
  10. SSH框架下 Proxool 连接池配置
  11. 常识——CE修改器使用
  12. 扫雷win10_手把手教你玩扫雷
  13. 深入理解LTE网络的CDRX
  14. 星光不问赶路人,时光不负奇舞团
  15. python3读取pdf文档;pdfminer3k
  16. 桌面计算机未响应,电脑软件总是未响应 电脑应用程序经常无响应,
  17. 企业为提高团队协作,一般都会使用什么办公工具?
  18. CAD的高程注记转成Arcgis点要素(且带高程属性)
  19. 在proteus中的排阻的查找_排阻在proteus中怎么找
  20. 86u 网页服务器,路由器怎么设置DMZ_华硕RT-AC86U路由器开启DMZ方法

热门文章

  1. 使用批处理设置、启动和停止服务
  2. 数据库阻塞---讲解设计应用程序时避免阻塞的八个准则
  3. Gadget,又见Gadget - 浅尝Windows Live Contacts Gadget
  4. POJ NOI0105-40 数1的个数
  5. POJ NOI MATH-7651 自来水供给
  6. 电子元件 —— 继电器
  7. 计算机科学常见工具书清单、项目开发清单
  8. 古人与古代(他们和他们的时代)
  9. 矩阵微分(matrix derivatives)
  10. python-levenshtein —— 字符串相似度的计算