又是一个回忆的文章,做的时候匆匆忙忙,写的时候也匆匆忙忙,完全就是回顾所学知识,熟悉一下感觉,不至于忘了。
作为一个比较综合的系统,需要做的地方有很多,从软件到硬件,不一定要全部精通,但最基础的操作还是要会的。
首先是回顾STM32相关知识,包括芯片选型及其参数,比如这颗STM32F103C8T6,主频72MHZ,64K的ROM,20K的SRAM, LQFP-48 封装,它的最小系统板包括电源电路,复位电路,时钟电路,调试下载接口和Boot选择。通常会用到SPI,IIC,USART进行通信,相关协议也需要掌握。常用的外设有WIFI,各类电机,各类传感器,继电器,蓝牙,屏幕,摄像头以及GSM和定位等,用到相关外设的时候,应该要能够参照手册完成程序编写。
下面是画的一个107的板子……因为刚好要用到……
接下来是软件部分,需要编程的部分是LD3320和STM32,LD3320只支持50个离线词语识别,局限性还是挺大的,其核心是一块增强型51单片机,带独立IO口,如果只是较小系统就可以直接在上面开发了,但是我们要用到的东西比较多,就只用了它的串口传数据给主控,其他IO口没有用到,所以开发起来非常快。ESP01模块负责连接WIFI并接入OneNET,相关函数库已经封装好,可以在OneNET的官网下载,只需要在函数中对相应数据流进行读写操作即可完成远程控制;相应的需要在OneNET控制台添加数据流和控制命令。
STM32需要做的就是统筹所有模块,对其下发指令并接收数据进行处理,包括WIFI的连接,屏幕的显示,语音的播报,舵机的转动,语音识别模块传回的信息的处理等。
实现功能:说出唤醒词“垃圾桶”后,stm32端判断到有人说出唤醒词,便通过串口发送指令给语音播报模块,喇叭便会播报“你好请扔垃圾”的音频,再说一句垃圾名称,语音识别模块端识别到相应关键词,便会将结果通过串口发送到stm32端,判断到相应的垃圾种类,便会播报相应的垃圾种类音频,stm32端接着会发送打开相应垃圾桶盖的指令,OLED屏可以在每次语音播报时显示相应文字信息,6s后,垃圾桶盖自动关闭。翻盖功能是通过stm32端控制舵机实现。stm32端通过串口连接wifi模块esp8266-01s,接入onenet云平台,实现联网功能,通过云端下达指令给设备,从而控制垃圾桶实现翻盖。
还有一些东西,匆匆忙忙想不起来了,那就不写了,以后记得要经常记录~
转载请标明出处:落羽日记 » 基于STM32和LD3320的智能语音识别垃圾桶