毕业设计 基于STM32单片机的智能衣柜系统(源码+原理图+PCB+硬件)

文章目录

  • 前言
  • 一、主要功能介绍
    • 视频演示链接:
    • 实物图:
  • 二、硬件设计
  • 三、软件设计
    • 1 温度湿度采集
    • 2 人体靠近监测,JR6001语音播报模块驱动
    • 3 按键阈值设置设计
    • 4 继电器控制、舵机控制、LED控制、蜂鸣器控制
    • 5 数据上传APP和APP下发控制
  • 四、APP设计
  • 五、资料目录
    • 资料获取


前言

近年来,毕业设计和答辩的要求与难度逐渐加大,传统的毕业设计题目往往缺乏创新性和亮点,难以满足毕业答辩的标准。
为了帮助大家顺利完成毕业设计,减少不必要的精力投入,将分享优质的毕业设计项目,🌝今天的分享的是:

📕基于STM32单片机的智能衣柜系统(源码+原理图+PCB+硬件)
⭐难度系数:4分
⭐工作量:4分
⭐创新点:4分


一、主要功能介绍

此设计通过STM32F103C8T6单片机最小系统+DHT11+加热电路(继电器模拟)+加热电路(继电器模拟)+蜂鸣器电路+0.96寸OLED 屏幕+紫外线杀菌电路(LED模拟)+照明灯LED+JR6001语音播报电路+红外对管感应电路+舵机开关柜门电路+esp8266电路组成

  • 💡 1)通过DHT11监测衣柜的温度和湿度;
  • 💡 2)温度高于阈值,打开风扇继电器;湿度高于阈值自动启动加热继电器,并触发蜂鸣器报警,屏幕温度和湿度前显示“H”表示超出阈值;
  • 💡 3)定时30s不杀菌,定时杀菌5S;紫外线LED2灯模拟杀菌
  • 💡 4)当红外对管监测到人体靠近时打开灯光LED1,打开舵机柜门,并进行语音播报
  • 💡 5)语音播报:温度高于25度: 请穿夏装;在25到10度之间:请穿春秋装;温度低于10度: 请穿冬装
  • 💡 6)可以按键设置温度、湿度阈值
  • 💡 7)可以OLED查看日期、温湿度、温度湿度阈值;
  • 💡 8)数据上传至云平台,可远程查看衣柜的实时温度、湿度。并控制风扇、烘干的开关。

视频演示链接:

https://www.bilibili.com/video/BV1z54begEZ2/

实物图:

在这里插入图片描述

二、硬件设计

在这里插入图片描述

三、软件设计

简述一下此设计的软件部分
主要模块代码实现如下

1 温度湿度采集

		DHT11_Read_Data();		
		Temp1=DHT11Data[2];
		Humi1=DHT11Data[0];
		OLED_ShowNum(50,0,Temp1,5,0);
		OLED_ShowNum(50,2,Humi1,5,0);	

2 人体靠近监测,JR6001语音播报模块驱动

	if(GPIOB7==1)	//红外监测
	{
		PBout(8)=1;		//LED灯关
		SG90_angle(90);	
	}
	else 			//红外监测到有人时
	{
		PBout(8)=0;		//LED灯开
		SG90_angle(0);
		switch(yuyinmark)
		{
			case 1:
				u1_printf("A7:00001\r\n");
			break;
			case 2:
				u1_printf("A7:00002\r\n");
			break;
			case 3:
				u1_printf("A7:00003\r\n");
			break;	
		}	
		while(GPIOB7==0);
	}

3 按键阈值设置设计

    switch (val%3)
    {
        case 0:
						get_shuju(); //获取数据
            break;
        case 1:
						set_wendu();//设置温度
            break;
        case 2:
						set_shidu();//设置湿度
            break;
        default: return 0;
    }

4 继电器控制、舵机控制、LED控制、蜂鸣器控制

	if(Temp1>=Temp1set  || Humi1>=Humi1set)		
		BEEP_ON;
	else BEEP_OFF;
	
	if(Temp1>=Temp1set){
		RELAY1_ON;//温度控制
		OLED_ShowCH(40,0,"H");		//测试显示中文	
	}
	else {
		RELAY1_OFF;
		OLED_ShowCH(40,0," ");		//测试显示中文		
	}
	if(Humi1>=Humi1set){
		RELAY2_ON;//湿度控制
		OLED_ShowCH(40,2,"H");		//测试显示中文		
	}
	else {
		RELAY2_OFF;
		OLED_ShowCH(40,2," ");		//测试显示中文	
	}
	
	if(Temp1>=25)yuyinmark=1;
	if(10<=Temp1<25)yuyinmark=2;	
	if(Temp1<10)yuyinmark=3;		

5 数据上传APP和APP下发控制

数据上传:

		sprintf(databuff,"{\"temperature\":%d,\"humidity\":%d}",Temp1,Humi1);   //构建数据
		u2_printf(databuff);	
		delay_ms(200);	

下发数据控制

	if(USART2_RX_BUF[0]=='Y')  //关闭自动控制
{

	auto_k1=0;
	RELAY1_OFF;	
	RELAY2_OFF;
	RELAY3_OFF;	
	LED1_OFF;//紫外光控制	
	LED4_OFF;//开灯控制		
}	
	if(USART2_RX_BUF[0]=='Z')  //开启自动控制
{
	auto_k1=1;
}	
	if(USART2_RX_BUF[0]=='A')  //关闭自动控制
{
		auto_k1=0;RELAY1_ON;
}
	if(USART2_RX_BUF[0]=='B')  //关闭自动控制
{
		auto_k1=0;RELAY1_OFF;
}
	if(USART2_RX_BUF[0]=='C')  //关闭自动控制
{
		auto_k1=0;RELAY2_ON;
}
	if(USART2_RX_BUF[0]=='D')  //关闭自动控制
{
		auto_k1=0;RELAY2_OFF;
}

四、APP设计

APP设计图如下:

在这里插入图片描述


五、资料目录

👇👇👇

资料获取

资料清单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值