【深海王国】小学生都能玩的语音模块?ASRPRO打造你的第一个智能语音助手(8)

Hi~ (o^^o)♪, 各位深海王国的同志们,早上下午晚上凌晨好呀~ 辛勤工作的你今天也辛苦啦(/≧ω)

今天大都督继续为大家带来系列——小学生都能玩的语音模块,帮你一周内快速学会语音模块的使用方式,打造一个可用于智能家居、物联网领域的语音助手,let’s go!

(8)熟悉多线程

上节我们已经初步认识了多线程代码块的功能与运行逻辑,这节我们就来进一步熟悉多线程,实现ASRPRO在灯光循环过程中立即让灯灭掉的操作。

完善上节的代码:

在上节大都督已经给大家了一个简易的多线程程序模板,我们就在这个模板的基础上继续完善(详见:(7)初识多线程)):

在这里插入图片描述

1.明确线程数

我们需要实现的目标:让彩虹循环/流光溢彩运行的过程中,能够执行灭灯指令。而我们使用的引脚只有PA_2一个,所以我们的线程数也是一个。

一般来说,我们需要同时控制的设备有n个,就可以设置n个线程。比如我们如果要同时控制n个灯带,就可以设置n个多线程。

这里我们就控制1个灯带,所以修改上节代码如下:

在这里插入图片描述

同时在上电初始化的时,要记得将灯带初始化:

在这里插入图片描述

2.创建一个类似彩虹循环、流光溢彩的循环灯光效果:如呼吸灯、闪光灯

因为官方给的彩虹循环和流光溢彩代码无法更改,所以我们可以先自己创建几个类似的循环灯光效果代替他们。

首先创建两个16位整型全局变量:

在这里插入图片描述

light,灯光循环时的灯光亮度。

light_d,灯光循环时的灯光亮度增加量。

然后呼吸灯代码如下,效果是让灯光亮度从0逐渐增加到150,再从150减少到0:

在这里插入图片描述

闪光灯代码如下,效果是让灯光以150亮500ms,再灭灯500ms:

在这里插入图片描述

将这些代码折叠起来,看着就很简洁啦:

在这里插入图片描述

然后把它们放到永远循环里,就可以做出循环灯光效果啦:

在这里插入图片描述

3.可以修改一下需要发送的信息:

如发送数字1和2,但要注意我们并不能直接将数字1和2放进去

在这里插入图片描述

但我们可以新建一个变量num:

在这里插入图片描述

然后给变量赋值,变量类型就可以放进去啦

在这里插入图片描述

或者我们图省事,可以直接将语音识别ID放进去,最后效果都是开灯发送数字1和关灯发送数字2:

在这里插入图片描述

然后可以把创建的num变量删除掉,让程序更简洁点:

在这里插入图片描述

4.修改线程内执行的程序

首先调整线程内存为512,以防程序内存不够。

然后因为我们需要让灯光循环运行,所以需要先加入重复执行/永远循环:

在这里插入图片描述

然后我们发送的数据会被存储在rec_1中,如果rec_1=1,我们就开灯,如果rec_1=2,我们就关灯。

在这里插入图片描述

在我们关灯后要将rec_1重新置为0,这个很重要!如果没有这一步,灯带灭灯后,会出现随机灯闪的现象。

在这里插入图片描述

然后就可以完成目标啦,实现效果如下,在喊出指令开灯后,灯会开始一直循环闪烁,直到我们喊关灯以后才会关闭。

在这里插入图片描述

这样我们完成了双线程的操作,单片机一边控制灯带闪烁,一边进行语音识别。

最后所有代码如下:

在这里插入图片描述

如果大家需要上面的工程文件,在公众号「深海大都督」里,回复「语音控制灯带」就能获得啦!

感谢你的关注,建设深海,没你不行!

今天的学习到这里就差不多啦。下节就是本系列的最后一节,我们会对我们整个语音模块项目进行一下总结,并做一些收尾工作给大家带来一个完整的成品程序。加油!看到这里的你今天也辛苦啦٩(ˊᗜˋ)و✧。

需要的相关材料链接我都放在公众号「深海大都督」里了,回复「语音控制灯带」就能获得啦~

哈哈,让焦虑不再蔓延,信息不再高壁,如果你觉得这篇文章对你有帮助,就来个免费的点赞吧!

(◍˃̶ᗜ˂̶◍)✩我深海大都督正式授予你深海王国公民的身份~

(・ω< )★ 加入深海大家庭,快乐摆烂每一天!

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值