博舍

语音模块JQ8400 语音识别模块流程图

语音模块JQ8400

语音模块JQ8400-FL语音模块的使用

注意:组合播放最大只能组合25个文件,不要问我怎么知道的,一点一点逼近出来的。。。。。说明书上竟然不写,不就是当时造芯片写程序时把uart输入FIFO的长度加大一点吗,难道ram用光了???

依赖:

usart_all.husart_all.c见STM32超级通用串口程序(秘籍)

模块介绍

编程实现:

预定使用单线模式,省串口省连线省定时器,最主要的是串口不太会。。。。。

调试过程:1、先测模块是否正常

受上次超声波bug的反馈,先测模块是否正常,来排除最源头的bug但是我花了一个多小时的时间去验证模块是否正常验证阶段:1、插上usb,发现电脑能以U盘的形式识别正常2、由于手上没有串口下载器,使用stc15单片机最小系统上的串口进行指令配置一直返回0xFE失败原因:不知道咋回事2.1、是不是串口IO需要3.3V没有1K电阻,串了一个400欧的,和一个大概5k的电阻失败原因:可能是电阻不太行吧3、下载一下给的单片机例程吧失败原因:不知道咋回事4、再回去使用串口,发现连FE都不返回了失败原因:突然发现最小系统上插着个单片机5、取下单片机,继续使用最小系统上的串口下载,发现还是不回FE失败原因:可能之前回FE是单片机上一个程序的原因(上一个程序是STC官方IAP仿真器程序,应该就是它的原因了)6、祭出我19块钱的六合一的串口烧写器!!!成功了。。。7、等待我找到1k的电阻吧。。。。。。

LD3320语音识别模块与Arduino软串口通讯实现开关灯功能

指引写在前面设备连接部分代码总结写在前面

这学期跟同学一起计划实现一项小制作,对最主要的LD3320语音识别模块做一个小说明,因为在我们设计的过程中,网上都有很多这种类似的文章,但是跟Arduino交互的好像还没有。成品还没做出来,毕竟要求创新,后期会考虑加一些独到的功能。都是新手,一起交流学习才能进步。该模块用Arduino实现起来较为简单,主要还是靠店家给的单片机里面代码。另外,这篇文章仅作为参考。如有做得不足或者不对的地方,欢迎一起交流学习

设备

我们用的板子是ArduinoUNOR3ATMEGA328P,还有LD3320,这个模块买的时候内置了一个STC11L08XE单片机以及一块小的咪头,不需要外接,操作起来简单易上手。

连接

因为用到的是软串口通讯,用程序模拟硬串口实现通信的功能,我将数字引脚2跟3作为TX与RXLD3320—Arduino3.3V—3.3VTXD—D3RXD—D2GND—GND

部分代码

前面说过,这个LD3320模块已经集成了到了一个单片机上,用店家给的keil文件可以修改代码,作为一整个库,我们不需要对整个库文件做一个了解,在初步使用的基础上,只需要知道如何使用,如何通过修改一些代码实现移植完成自己的目的就行。前面说过,这仅作为参考。

一级口令修不修改都无所谓,然后设置“开灯”作为二级口令,并回传数值1到串口,“关灯”即回传2。

main.c

voidUser_handle(uint8dat){if(0==dat){G0_flag=ENABLE;//PrintCom("收到 ");LED=0;}elseif(ENABLE==G0_flag){G0_flag=DISABLE;LED=1;switch(dat){caseCODE_1:UARTSendByte(0x01);//其实就是多了这一句代码,将识别到第一个命令SRD1=1;//的时候反馈一个十六进制的1PrintCom("1 ");break;caseCODE_2:UARTSendByte(0x02);//同上SRD1=0;PrintCom("2 ");break;....

Arduino

#include//需要调用这个库实现串口通讯SoftwareSerialsoftSerial(3,2);//新建一个softSerial对象,rx:3,tx:2inta;//接收串口的值voidsetup(){pinMode(13,OUTPUT);//设置IO口13为输出模式Serial.begin(9600);softSerial.begin(9600);//初始化软串口通信;digitalWrite(13,LOW);//给13口低电平delay(3000);}voidloop(){a=softSerial.read();//读取串行端口的值switch(a){case1://前面提到的读取到1表示开灯digitalWrite(13,HIGH);//当喊“开灯”时,可以看到Arduino上的LED亮起break;case2:digitalWrite(13,LOW);//当喊“关灯”时,可以看到Arduino上的LED熄灭break;default:break;}}总结

用Arduino来实现一些小设计感觉会比51或者stm32都简单很多,Arduino集成了很多库文件,同时IDE里面还有很多人弄的开源的库文件,对于新手来说是一个不错的练习平台。

代码已上传,不用再留邮箱了代码:点击下载

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇