赞
踩
一. 系统设计及框图:
本设计可以实现垃圾的自动识别和分类,通过离线语音模块SU-03T进行语音采集分辨,分析出不同的垃圾种类后MCU模块驱动不同的舵机开关来模拟垃圾桶的开启关闭。MCU模块可选择STM32或STC或其它Arduino板, 在控制原理上是相通的。本设计可用作课程设计或毕业设计,提供软硬件资料。
设计框图:
二. 离线语音模块的设计
离线语音模块SU-03T的基本使用可参考本人csdn文章:
SU-03离线语音模块的配置使用_远望创客学堂的博客-CSDN博客_su-03t
本设计首先将垃圾分为四类:可回收垃圾,厨余垃圾,有害垃圾和其它垃圾。SU-03T离线语音模块将不同的垃圾种类信息发送给MCU,然后MCU再来控制四路不同的舵机,这样就实现了垃圾分类。
在这里SU-03T充当语音识别和转换的角色,比如将旧报纸,熟料瓶,图书等识别为可回收垃圾,通过串口告诉MCU模块这是可回收垃圾,然后MCU模块控制可回收垃圾舵机动作。
垃圾名字对照表:
当然你也可以自定义垃圾种类或者增加某一类垃圾中垃圾数量(比如在厨余垃圾种类下增加“鸡骨头”垃圾),这都可以通过修改SU-03T语音模块的识别方式来实现。
SU-03T是通过网页形式来配置的,配置方法也很简单请参考上面的CSDN的链接。本设计提供了SU-03T的配置和烧录文件,如果需要增加垃圾种类等则只需在这个基础上做一些简单修改即可。
SU-03T语音模块配置和烧录资料:
三. MCU模块的选型
本设计使用STM32最小系统板,如下图所示
或STC15最小系统板,如下图所示:
这两种最小系统板都可以在本人某宝店铺中找到,当然也可以采用其它系统板,本设计支持其它MCU的功能定制。
四. 舵机的控制方法
舵机是一种位置(角度)伺服的驱动器,舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度伺服为例,那么对应的控制关系是这样的:
0.5ms--------------0度;
1.0ms------------45度;
1.5ms------------90度;
2.0ms-----------135度;
2.5ms-----------180度;
对于STM32核心板控制舵机,因为STM32有足够多的PWM通道,可以实现一路PWM通道控制一路舵机。但对于STC15这种PWM通道不够用的芯片来说则需要使用软件模拟PWM的方式来控制舵机。因为舵机控制频率为50HZ,对于一般单片机即便是用软件模拟PWM的方法也是没有问题的,因为频率并不是很高。
STM32舵机控制示例代码:
STC15舵机控制示例代码:
五. SU-03T和MCU模块的信息交互
SU-03T模块识别出不同种类的垃圾后(这里是四种)通过串口发送给MCU,MCU再控制不同的舵机动作。
示例代码:
STM32智能语音垃圾桶设计演示视频:
智能垃圾桶 语音识别 stm32控制四路舵机_哔哩哔哩_bilibili
STC15智能语音垃圾桶设计演示视频:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。