楼主: qinchao5
43 0

[经济学教育] 【单片机毕业设计】【mcuclub-dz-738】智能衣柜的设计与实现 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

小学生

71%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
60 点
帖子
5
精华
0
在线时间
0 小时
注册时间
2018-11-5
最后登录
2018-11-5

楼主
qinchao5 发表于 2025-11-12 19:19:52 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

一、功能简介

项目名:智能衣柜的设计与实现
项目编号:dz-738
单片机:STM32F103C8T6

  • 通过温湿度检测模块监测当前衣柜中的温度和湿度,当检测到湿度过高时进行除湿;
  • 通过时钟模块获取当前时间,并可以设置消毒的时间,到达设定时间且门关闭时自动开启消毒灯;
  • 通过霍尔传感器检测当前的衣柜门开关状态,当检测到门打开时自动点亮照明灯;
  • 通过烟雾检测模块监测当前衣柜中的烟雾浓度,当检测到烟雾浓度过高时进行声光报警;
  • 通过人体热释电感应模块检测是否有人靠近,当检测到人且门打开时自动降低衣架;
  • 通过联网获取当前的温度和天气状况,当开启柜门时进行语音播报推荐;
  • 通过WiFi模块将监测数据传输至手机端,手机可以远程设置参数并控制外设。

二、系统框图设计

绘制软件:VISIO
本设计以STM32F103C8T6单片机为核心控制器,结合多种传感器模块和执行模块构建智能衣柜系统。系统包含中控部分、输入部分和输出部分。中控部分采用STM32F103C8T6单片机,其主要功能是获取输入数据并控制输出部分。输入部分由以下模块组成:第一部分是温湿度检测模块,通过该模块可以监测当前衣柜中的温度和湿度;第二部分是时钟模块,通过该模块可以获取当前时间并设置消毒时间;第三部分是霍尔传感器模块,通过该模块可以检测衣柜门的开关状态;第四部分是烟雾检测模块,通过该模块可以检测衣柜内的烟雾浓度;第五部分是人体热释电感应模块,通过该模块可以检测是否有人靠近;第六部分是按键模块,用于手动设置参数;第七部分是供电模块,为整个系统提供稳定的电源支持。输出部分由以下模块组成:第一部分是继电器模块,当湿度超过设定的最大值时自动启动除湿功能、当时间到达且门关闭时自动开启消毒灯、当检测到门打开时自动点亮照明灯;第二部分是声光报警模块,当烟雾浓度超过设定的最大值时进行声光报警;第三部分是步进电机控制模块,当检测到人且门打开时自动降低衣架;第四部分是语音播报模块,当开启柜门时进行语音播报推荐。此外还有WiFi模块,用于将监测数据传输至手机端,实现远程设置参数和控制外设,并通过该模块获取当前的温度和天气状况。

三、实物图

单片机型号:STM32F103C8T6
板子为绿色PCB板,两层板,厚度1.2mm,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。
供电接口:TYPE-C

四、原理图

软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图仅画出了模块的引脚图,并不是模块的内部结构原理图

五、PCB图

由原理图导出,封装很大一部分都是作者自行绘制,不提供封装库,仅提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不可见。
两层板,上下覆铜接地。

六、部分程序展示

软件版本:keil5
逻辑程序和驱动程序分开,分别位于main.c和其他.c文件中

/**********************************
函数名:处理函数
传参值:无
返回值:无
**********************************/
void Manage_Function(void)
{
	if(display_num == 0)								  										//测量界面
	{
		if(time_hour_begin*60+time_min_begin > time_hour_end*60+time_min_end)					//开始时间 > 结束时间
		{
			if((time_hour_end*60+time_min_end <= ds1302_buf[4]*60+ds1302_buf[5]) && (ds1302_buf[4]*60+ds1302_buf[5] < time_hour_begin*60+time_min_begin))		//当前时间不在设置的时间内
			{
				flag_time_en = 0;																													//不触发
			}
			else																																				//否则
			{
				flag_time_en = 1;																													//触发
			}
		}
		else if(time_hour_begin*60+time_min_begin < time_hour_end*60+time_min_end)		//开始时间 < 结束时间
		{
			if((time_hour_begin*60+time_min_begin <= ds1302_buf[4]*60+ds1302_buf[5]) && (ds1302_buf[4]*60+ds1302_buf[5] < time_hour_end*60+time_min_end))		//当前时间在设置的时间内
			{
				flag_time_en = 1;																													//触发
			}
			else																																				//否则
			{
				flag_time_en = 0;																													//不触发
			}
		}
		else																																					//开始时间 = 结束时间
		{
			flag_time_en = 0;																														//不触发
		}
		
		if(flag_mode == 0)																														//自动模式下
		{
			if(flag_time_en == 1 && DOOR == 0)																					//柜门关闭,且在定时时间范围内紫外线消毒
			{
				RELAY_XD = 1;
			}		
			else																//否则,关闭消毒
			{
				RELAY_XD = 0;
			}
			
			if(humi_value > humi_max*10)				//湿度大于设置最大值,打开除湿
			{
				RELAY_CS = 1;
			}
			else																//否则,关闭除湿
			{
				RELAY_CS = 0;
			}
			
			if(DOOR == 1)												//柜门打开,打开照明,语音播报当前温度和天气状况
			{
				RELAY_ZM = 1;

				if(flag_bb == 0)
				{
					if(temp_tq_value < 0)
					{
						if(weather.code < 9)
						{
							Huart2_Send_Str("推荐加厚羽绒服");
						}
						else
						{
							Huart2_Send_Str("推荐棉服或羽绒服");
						}
					}
					else if(temp_tq_value < 10)
					{
						if(weather.code < 9)
						{
							Huart2_Send_Str("推荐厚毛衣、棉服");
						}
						else
						{
							Huart2_Send_Str("推荐棉服或羽绒服");
						}
					}
					else if(temp_tq_value < 20)
					{
						if(weather.code < 9)
						{
							Huart2_Send_Str("推荐薄毛衣、夹克、长裤");
						}
						else
						{
							Huart2_Send_Str("推荐防风衣、薄毛衣、长裤");
						}
					}
					else if(temp_tq_value < 30)
					{
						if(weather.code < 9)
						{
							Huart2_Send_Str("推荐短袖T恤、薄长裤或短裤");
						}
						else
						{
							Huart2_Send_Str("推荐短袖T恤、薄长裤");
						}
					}
					else
					{
						if(weather.code < 9)
						{
							Huart2_Send_Str("推荐短袖T恤、短裤");
						}
						else
						{
							Huart2_Send_Str("推荐短袖T恤、薄长裤或短裤");
						}
					}
					
					flag_bb = 1;
				}
				
				if(HUMAN == 0)										//检测到有人时,自动降低衣架
				{
					if(flag_bujin_state == 0)
					{
						flag_bujin_foreward = 1;
					}
				}
				else															//否则,取消降低
				{
					if(flag_bujin_state == 1)
					{
						flag_bujin_reversal = 1;
					}
				}
			}
			else																//否则,关闭照明,取消播报
			{
				RELAY_ZM = 0;
				flag_bb = 0;
				if(flag_bujin_state == 1)
				{
					flag_bujin_reversal = 1;
				}
			}
			
			if(smog_value > smog_max)						//烟雾值大于最大值,则进行声光报警
			{
				if(time_num % 20 == 0)
				{
					ALERT = !ALERT;								
				}
			}
			else																//否则,取消声光报警
			{
				ALERT = 0;
			}
		}
	}
	else																	//设置界面,关闭除湿、消毒、照明及声光报警
	{
		RELAY_CS = 0;
		RELAY_XD = 0;
		RELAY_ZM = 0;
		ALERT = 0;
		if(flag_bujin_state == 1)
		{
			flag_bujin_reversal = 1;
		}
	}
	
	if(flag_finish_5s == 1)								//5秒上传一次数据
  {
    flag_begin_5s = 0;
    Aliyun_Send_Data();
    flag_begin_5s = 1;
  }
}

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:club 毕业设计 UCL CLU 单片机

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-5 19:54