【毕业设计】_基于STM32单片机的智慧仓库环境检测(原理图+源码)

一. 系统概述

  1. 本系统以STM32单片机为核心控制单元,通过温湿度传感器、烟雾传感器、光照传感器和火焰传感器实时监测仓库环境。采集到的数据将显示在显示屏上,用户可以通过按键设定各个参数的阈值,实现环境的智能调节和报警。系统将根据温度变化自动控制加热或降温装置,当湿度超标时启动除湿装置。如果光照不足且检测到有人存在,系统会自动开启灯光。此外,当烟雾浓度过高或检测到火焰时,系统会触发蜂鸣器报警。

在这里插入图片描述

二. 仿真概述

  1. 本系统使用DHT11传感器进行温湿度检测,通过光敏电阻模块监测光照强度。人体检测和火焰检测通过开关量来实现。用户可以通过按键设置各类参数的阈值,当温度过低时系统会启动加热,当温度过高时会启动降温。当湿度过高时,系统会启动除湿装置。如果检测到有人且光照强度低于设定阈值,系统会自动开灯;若烟雾浓度超标或发现火焰,则会触发蜂鸣器报警。

在这里插入图片描述

  1. 通过按下DHT11传感器上的红色按钮,可以调节温湿度设置,显示端会实时更新温湿度数据。当温度超过设定范围时,系统会自动进行降温;当温度低于阈值时,会启动加热;当湿度超标时,会启动除湿功能。

在这里插入图片描述

  1. 通过调整光敏电阻模块上的滑动变阻器,可以改变光照强度。当检测到光强低于设定值且有人存在时,系统会自动开启灯光。

在这里插入图片描述

在这里插入图片描述

  1. 当系统检测到火焰时,会立即触发蜂鸣器进行报警。

在这里插入图片描述

三.程序设计

int main(void)
{
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//2:2
	Init_Test();
	
	while(1)
	{
		Key_Scan(&key);
		if(key==1){ set++; if(set>5)set=0; key=0;OLED_ShowString(4,1,"               "); }
		if(set==1)
		{
			OLED_ShowString(4,1,"set tmin >");OLED_ShowNum(4,12,tl,2);
			if(key==2){tl++;key=0;}		if(key==3){tl--;key=0;}
		}
		if(set==2)
		{
			
			OLED_ShowString(4,1,"set tmax >");OLED_ShowNum(4,12,th,2);
			if(key==2){th++;key=0;}		if(key==3){th--;key=0;}
		}
		if(set==3)
		{
			
			OLED_ShowString(4,1,"set hmax >");OLED_ShowNum(4,12,hh,2);
			if(key==2){hh++;key=0;}		if(key==3){hh--;key=0;}
		}
		if(set==4)
		{
			
			OLED_ShowString(4,1,"set smax >");OLED_ShowNum(4,12,sh,2);
			if(key==2){sh++;key=0;}		if(key==3){sh--;key=0;}
		}
		if(set==5)
		{

			OLED_ShowString(4,1,"set lmin >");OLED_ShowNum(4,12,ll,2);
			if(key==2){ll++;key=0;}		if(key==3){ll--;key=0;}
		}
		
		DHT11_Read_Data(&t,&h);
		smo  =PCF8591_ADC_Input(0x90,1);if(smo>99)smo=99;//
		light=PCF8591_ADC_Input(0x90,0);if(light>99)light=99;//
		
		OLED_ShowString(1,1,"Temp:");OLED_ShowNum(1,6,t,2);OLED_ShowString(1,9,"Humi :");OLED_ShowNum(1,15,h,2);//OLED_ShowString(1,9," C");//OLED_ShowNum(1,14,tl,2);
		OLED_ShowString(2,1,"Smo :");OLED_ShowNum(2,6,smo,2);OLED_ShowString(2,9,"Light:");OLED_ShowNum(2,15,light,2);//OLED_ShowString(2,9," Rh");//OLED_ShowNum(1,14,tl,2);
		OLED_ShowString(3,1,"body:");OLED_ShowString(3,9,"flame:");
		if(Key4==0){OLED_ShowString(3,6,"H");}else{OLED_ShowString(3,6,"N");}
		if(Key5==0){OLED_ShowString(3,15,"H");}else{OLED_ShowString(3,15,"N");}
		
		if(t<tl)Relay1_1;else Relay1_0;
		if(t>th)Relay2_1;else Relay2_0;
		if(h>hh)Relay3_1;else Relay3_0;
		if(smo>sh || Key5==0)Relay5_1;else Relay5_0;
		if(light<ll && Key4==0)Relay4_1;else Relay4_0;
	}
}

24-32f-12

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值