一、开发环境/工具:
环境:keil5
器件:STM32F429开发板、YS-LDV7语音识别模块、YS-SYN6288语音合成模块
二、项目描述:
1、 YS-LDV7识别语音信息,通过串口传输识别码给STM32主控板;
2、 主控板通过DHT11获取环境信息,进行编码传输给YS-SYN6288语音合成模块进行播报;
3、 OLED屏幕实时模拟交互式表情变化;
三、具体功能及实现:
实现语音交互功能,用户语音询问当前湿度或者当前温度,将得到相应的反馈答复。
主函数:
开启STM32两个串口,串口1负责发送信息给语音合成模块,串口2负责从语音识别模块接收信息,进行判断;DHT11单总线传输,IIC协议下传输温湿度信息:
LD3320识别流程图:
DHT11采集数据原理:
OLCD屏幕上电后显示温湿度信息,语音合成模块进行播放语音时,通过切换图片达到实时显示表情跟随语音模拟交互的效果。
温湿度信息获取后无法直接传输给语音合成模块进行播报,需要进行编码合成,末位还有标志位需要进行前位异或得到;
温湿度信息数字编码程序:
帧头信息近似相等,每次使用即可,数字编码如上所示;
四、功能展示:
硬件连接:
上电初始化结束之后,DHT11传感器将实时的温湿度信息显示到OLED屏幕上:
语音识别模块与串口2相连,串口2开启接收中断,接收到相关命令后,通过串口2接收到信息,对信息进行解析,解析确定命令内容之后选择相应的case,对传感器测得的数据进行编码,同时与预设语音合成模块的中文编码整合,之后进行校验编码获取校验码,作为传输的末位,一帧传输结束,语音合成模块接收到帧尾验证后合成模拟信号,输出到喇叭,在OLED上实时根据语音的内容模拟交互式画面:
当交互结束恢复到就绪状态时OLED恢复初始状态,显示正常温湿度界面。
五、扩展功能展望:
1、可以增加wifi模块ESP8266通过再开设一个串口与处理机进行通信,芯片通过AT指令连接路由器到外网,连接到心知天气服务器,通过串口不定长接收服务器返回的报文并解析得到天气预报信息的交互;
2、可以增加功能将每天的天气情况以及室内情况记入到SD卡中,以便于运用在实际的应用中记录环境信息;