【单片机毕业设计】【dz-875】基于WiFi通信的智能家居系统的设计与实现

   一、功能简介

项目名:基于WiFi通信的智能家居系统的设计与实现
项目编号:dz-875
单片机类型:STM32F103C8T6
具体功能:
1、通过DHT11检测当前环境中的温湿度,检测到温度大于最大值或者湿度大于最大值打开风扇;
2、通过MQ-135检测当前环境中的空气质量,检测到空气质量大于最大值,打开风扇,同时声光报警;
3、通过光照检测模块检测当前环境中的光照强度,检测到光照强度小于最小值自动控制窗帘关闭,否则打开;
4、通过按键可以设置温湿度、空气质量最大值、光照最小值,控制风扇和窗帘开关;
5、通过OLED显示屏显示测量值;
6、通过WiFi模块将检测的数据传输到手机端,手机可以设置参数和控制风扇和窗帘开关
 

二、系统框图设计

此次设计是基于STM32F103C8T6单片机的智能家居系统设计;该设计主要可以分为三部分:输入、输出和中控。中控部分采用STM32F103C8T6单片机作为主控芯片,主要是对输入进行处理然后控制输出;输入又可以分为五部分:第一部分是温度检测模块DHT11,通过DHT11获取湿度值;第二部分是空气质量监测模块使用的是MQ-135模块,通过此模块可以监测当前环境中是否有异味;第三部分是光照检测模块,由此模块可以检测当前环境的照明度。第四部分是按键模块,通过按键可以设置阈值以及控制继电器的开关;第五部分是供电电路,主要是用来对整个系统进行供电;输出主要可以分为两个部分:第一部分是显示部分,显示当前温度,湿度,空气质量,照明度,窗帘和风扇的工作状态;除此之外WIFI模块即使输出也是输入可以通过手机端app来检测到当前的温湿度,空气质量,照明度,窗帘和风扇的工作状态还可以设置阈值还可以控制继电器的开关。

三、32实物图

单片机型号:STM32F103C8T6

板子为绿色PCB板,两层板,厚度1.2,上下覆铜接地。元器件基本上为插针式,个别降压芯片会使用贴片式。

供电接口:TYPE-C

 四、原理图

软件版本:AD2013

电路连线方式:网络标号连线方式

注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构原理图

 五、PCB图

由原理图导出,封装很大一部分都是作者自己绘制,不提供封装库,只提供连接好的源文件。中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。

两层板,上下覆铜接地。

六、部分程序展示

软件版本:keil5

逻辑程序和驱动程序分开,分布于main.c和其他.c文件

/**********************************
函数名:处理函数
传参值:无
返回值:无
**********************************/
void Manage_Function(void)
{
	if(display_num == 0)								 //测量界面
	{
		if(temp_value > temp_max*10 || humi_value > humi_max*10 || C6H6_value > C6H6_max)			//温度湿度和异味,大于他们对应的最大值时打开风扇。
		{
			RELAY_FS = 1;
			flag_fs = 0;
		}			
		else
		{
			if(flag_fs == 0)
			{
				RELAY_FS = 0;
			}		
		}
		
		if(C6H6_value > C6H6_max)					//当MQ-135检测值大于最大值自动控打开风扇和并声光报警
		{
			if(time_num % 20 == 0)
			{
				ALERT = !ALERT;
			}		
		}
		else															//否则关闭声光报警和风扇
		{
			ALERT = 0;
		}
		
		if(light_value < light_min)				//当光照小于最小值关窗户
		{
			if(flag_bujin_state == 1)
			{
				flag_bujin_reversal = 1;
			}			

			flag_motor = 0;
		}
		else															//否则开窗户
		{
			if(flag_motor == 0)
			{
				if(flag_bujin_state == 0)
				{
					flag_bujin_foreward = 1; 
				}	
			}
		}
	}
	else																											//设置界面,关闭风扇及声光报警
	{
		RELAY_FS = 0;
		ALERT = 0;
	}
	
	if(flag_finish_5s == 1)																		//5秒上传一次数据
  {
    flag_begin_5s = 0;
    Aliyun_Send_Data();
    flag_begin_5s = 1;
  }
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值