【单片机毕业设计】【dz-1108】基于单片机的智能扫地机器人的设计与实现
本项目设计了一款基于STM32F103C8T6单片机的智能扫地机器人,具备语音控制、自动避障和环境监测功能。系统通过语音识别模块实现干拖、湿拖和扫地模式的切换,采用超声波监测障碍物距离并自动停止,湿度传感器控制加湿功能。用户可通过按键设置阈值和切换模式,OLED屏幕实时显示距离、湿度和当前工作状态。硬件设计采用两层PCB板,TYPE-C供电接口,软件部分使用Keil5开发,实现驱动与逻辑分离。系统
一、功能简介
项目:智能扫地机器人的设计与实现
项目编号:dz-1108
单片机类型:STM32F103C8T6
具体功能:
从机:
1、通过语音识别控制干托、湿托、扫地的清洁模式(干托、湿托用一个电机,扫地用另一个电机);
2、监测到距离障碍物小于最小值自动控制小车停止运行;
3、监测到湿度小于最小值在湿托打开加湿(开启水泵),监测到湿度大于最大值关闭加湿;
4、通过按键切换设置阈值、切换清洁模式、启动车辆运行;
5、通过OLED显示距离、湿度和当前清洁模式;
二、系统框图设计
绘制软件:VISIO
此次设计是基于STM32F103C8T6单片机的基于STM32的智能扫地机器人设计;该设计主要可以分为三部分:输入、输出和中控。中控部分采用STM32F103C8T6单片机作为主控芯片,主要是对输入进行处理然后控制输出;
输入又可以分为五部分:第一部分是语音识别检测模块,通过语音识别模块可以控制干拖,湿拖,扫地和启停;第二部分是超声波监测模块,通过此模块可以监测当前的距离值;第三部分是湿度检测模块,由此模块可以检测当前环境的湿度。第四部分是按键模块,通过按键可以设置阈值以及切换模块和控制启停;第五部分是供电电路,主要是用来对整个系统进行供电;
输出主要可以分为两个部分:第一部分是显示部分,显示当前距离,湿度和不同的模式,以及启停的状态。第二部分是继电器模块:通过继电器模块进行干拖、加湿、扫地以及车辆的运行;
三、32实物图
单片机型号:STM32F103C8T6
板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C
四、原理图
软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图
五、PCB图
由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
六、部分程序展示
软件版本:keil5
逻辑程序和驱动程序分开,分布于main.c和其他.c文件
///**********************************
//函数名:处理函数
//传参值:无
//返回值:无
//**********************************/
void Manage_Function(void)
{
if(display_num == 0) //测量界面
{
if(flag_begin == 1) //开始驾驶 距离小于最小值关闭电机
{
if(dist_value < dist_min)
{
RELAY_DJ = 0;
}
else //否则打开电机
{
RELAY_DJ = 1;
}
}
更多推荐
所有评论(0)