【毕业设计】_基于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

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值