孤惯|用语音控制家电,手把手教大家学习使用LD3320语音识别模块( 二 )


孤惯|用语音控制家电,手把手教大家学习使用LD3320语音识别模块
上图中 , 最左边由下而上标着5V , GND , TX , RX的四个引脚就是用来给模块下载程序的地方 , 串口就在这里了 。 我们通过串口给其它模块或者单片机发数据也是从这里接 。
好 , 接下来我们就直接用这个P10引脚来控制继电器吧 , 这个模块输出的是3.3V的TTL电平 , 就算是用5V的继电器也不能直接控制 , 我们就给它加个三极管 , 然后再通过三极管来控制继电器 。
画出这个电路图如下图:
孤惯|用语音控制家电,手把手教大家学习使用LD3320语音识别模块
电路中 , 语音识别模块的P10引脚出来直接接一个200Ω的电阻 , 电阻的另一头接到9013NPN三极管的基极 , 9013三极管发射极接地 , 接电源负极 , 集电极接1N4148二极管的正极和继电器的一个控制引脚 , 继电器的另一个控制引脚接到+5V电源 。 这样子当P10端口输出高电平时 , 三极管导通 , 继电器吸合;当P10端口输出低电平时 , 三极管截止 , 继电器断开 。 我们就可以通过继电器去控制各种家电了 。 在电路图中 , 我是让继电器控制一盏220V的灯 。 电路图中1N4148二极管和继电器并接 , 而且是将二极管的负极接到电源正极 , 二极管在这里起到续流的作用 , 可以保护三极管 。
如下图是我根据这个电路图焊好的继电器模块 , 顺便给这个语音识别模块做了个底座 , 只要把语音识别模块安到底座上 , 就可以通过底座给语音模块供电 , 也把P10口和继电器电路的控制端口接在一起了 。
孤惯|用语音控制家电,手把手教大家学习使用LD3320语音识别模块
孤惯|用语音控制家电,手把手教大家学习使用LD3320语音识别模块
好 , 接下来就是程序编程了 , 示例程序很多看起来很复杂 , 如果只是做简单的开发 , 我们没必要把每个细节全部弄懂 , 我们只要知道修改识别关键词的地方在哪就得了 。
如下图 , 在左边工程栏里找到“LDChip.C”这个文件 , 双击打开:
孤惯|用语音控制家电,手把手教大家学习使用LD3320语音识别模块
在 LDChip.C (下图中红色圈圈1)文件中下滑找到274行“uint8 LD_AsrAddFixed() ”这个函数 , 函数中 , 278 , 279这两行有两个数组 , DATE_A 和DATE_B , 后面跟着数字 , 这个DATE_A后面的数字表示的是关键词的个数 , 而DATE_B后面的数字表示的是这些关键词中最长一句的长度 。 我们将要添加三个关键词命令:“芝麻开门” , “打开继电器” , “关闭继电器” , 所以DATE_A 后面跟着个3;而这三个命令的拼音中 , 包含空格 , 长度最长的是“guan bi ji dian qi” , 有18个 , 所以DATE_B后面跟着18 , 如图中的红色圈圈2 。
再看到280~284行 , 这里边就是添加关键词拼音的地方啦 , 我们要在这里输入要识别的命令的拼音 , 比如一级口令是:“芝麻开门” , 二级口令是:“打开继电器” , “关闭继电器”, 如图中的红色圈圈3 。
孤惯|用语音控制家电,手把手教大家学习使用LD3320语音识别模块
285~289的这个数组是识别码数组(上图中的红色圈圈4) , 所添加的识别码为预先定义好的宏定义常量值 , 同时必须和关键词一一对应 。 图中取每个关键词命令的拼音首字母大写 , 格式是“CODE_拼音首字母大写” 。 如“芝麻开门”就是“CODE_ZMKM” 。


推荐阅读