基于BearPi开发板的语音控制开关(四)初识LD3320A语音识别模块
接下来研究下LD3320A语音识别模块,前文已经准备了该模块。
编程
先为该模块编程,这里用到Keil5作为开发环境,如果没有可参照 Keil5嵌入式开发环境(IDE)的安装和使用 进行安装。
完整代码在文末提供下载,我用的是 LDV7语音模块驱动程序.zip
文件里解压出来的 LDV7语音识别模块--口令模式+IO口控制
工程,找到工程下的 keil4 APP
目录下的 YS-V0.7.uvproj
文件,双击打开工程。
main.c
61行,PrintCom("一级口令: 小杰\r\n");
改为 PrintCom("一级口令: 小黑\r\n");
修改唤醒词,这里是串口调试工具里显示用的,没有业务逻辑意义
237行,PA3=1;
改为 PA3=0;
241行,PA3=0;
改为 PA3=1;
根据21行代码sbit PA3=P1^2;
可知,PA3变量对应P1.2 IO引脚,“开灯”指令让P1.2变为低电平,“关灯”则相反。这里为什么要这么改,下文接上线就好理解了。
LDChip.c
281行,"xiao jie"
改为 "xiao hei"
修改唤醒词,这里是实际控制指令的汉字拼音,原来是以“小杰”作为唤醒口令,现在改为“小黑”。
点击编译按钮进行编译。看到0 Error(s),0 Warning(s).
编译成功。工程目录下的 ./obj/V07C.hex
就是可以烧录到模块里的程序包,如果找不到可参照 Keil5嵌入式开发环境(IDE)的安装和使用 进行设置。
接线
这里要用到USB转TTL模块,根据模块上的引脚名称连接RXD
、TXD
和供电。注意两个模块的RXD
、TXD
要交叉连接。
LED灯引脚分正负极,长脚为正极,短脚为负极,这里把短脚接到P1.2,长脚接到3.3V。
如果CH340的驱动还没有安装,可参照前边的文章安装。
烧录
打开附件中的 stc-isp-15xx-v6.861.exe
工具,单片机型号选择STC11L08XE
,其他配置默认即可。
点击“打开程序文件”按钮,选择上边编译的hex文件,右侧会显示程序文件内容,然后点击“下载/编程”。
这时还不会开始写入,需要将模块断电再重新通电,可以将模块的GND
引脚拔下再连接。这时软件上可以看到开始写入了,直到出现“操作成功!”字样,成功。
调试
模块连上电脑通电后,串口调试工具里会显示口令提示信息,即可开始语音控制。需要先用一级指令唤醒模块,我们已经改成了“小黑”(默认是“小鹰”或"小杰"),唤醒后模块的Mic附近灯会亮起,这时可以喊出“开灯”或“关灯”指令来控制LED灯的点亮和熄灭,串口调试工具里也会显示相应指令信息。
P1.2引脚默认是低电平,所以模块通电灯是亮的,如果想让灯开始是熄灭的,可以在main.c文件中的MCU_init()方法最后,加上PA3=1;
,让P1.2引脚初始化为高电平。
附件链接: https://pan.baidu.com/s/1rW8kw7s5YsdfMF3BxFr9kQ?pwd=8889