基于STM32单片机家庭环境监测 电器控制系统 环境监测

⭐项目概述

        该系统基于STM32单片机,旨在实现家庭环境监测与电器自动控制。系统通过传感器实时检测环境温度、湿度、空气质量和光照强度,并在显示屏上显示各参数及其阈值。根据光线亮度,系统智能控制照明,光线充足时不开灯,光线不足时根据阈值分两个挡位自动调节亮度。光敏电阻监测光照强度,当达到设定阈值时,通过继电器模拟开关窗帘。温湿度传感器实时监控环境,当温度或湿度超过设定阈值,继电器自动控制空调和加湿器的开关,保持舒适环境。同时,系统集成空气质量监测装置,空气质量达到危险阈值时触发报警,保障家庭健康。该系统不仅提升了家庭环境的智能化水平,还有效节约能源,保障了生活的舒适性和安全性。

⭐实物图

⭐主要功能

    1.检测环境温度、湿度、空气质量和光照强度数值
    2.环境光线亮时不开灯
    3.光线暗时根据阈值分两个光照挡位
    4.光敏电阻达到阈值控制继电器模拟开关窗帘
    5.温度和湿度超过阈值,继电器自动控制遥控空调和加湿器的开关
    6.空气质量监测装置,达到阈值触发报警
    7.显示屏显示各参数数据和阈值 

⭐系统框图:

⭐系统原理图

⭐系统PCB板

⭐部分代码

 //题目
	OLED_ShowChinese(0,16,0,16,1);
	OLED_ShowChinese(16,16,1,16,1);
	OLED_ShowChinese(32,16,2,16,1);
	OLED_ShowChinese(48,16,3,16,1);
	OLED_ShowChinese(64,16,4,16,1);
	OLED_ShowChinese(80,16,5,16,1);
	OLED_ShowChinese(96,16,6,16,1);
	OLED_ShowChinese(112,16,7,16,1);
	OLED_ShowChinese(0,32,8,16,1);
	OLED_ShowChinese(16,32,9,16,1);
	OLED_ShowChinese(32,32,10,16,1);
	OLED_ShowChinese(48,32,11,16,1);
	OLED_ShowChinese(64,32,12,16,1);
	OLED_ShowChinese(80,32,13,16,1);
	OLED_ShowChinese(96,32,14,16,1);
	OLED_ShowChinese(112,32,15,16,1);
	OLED_Refresh();
//主循环函数 
while(1)
	{	
		//检测
		DHT11_Read_Data(&temperature,&humidity);	//每100ms(至少)读一次温湿度值,否则有错误xx8
		//温度(0~50℃)
		//湿度(20~90%)
		if(humidity<20) humidity=20;//<20%
		if(humidity>90) humidity=90;//>90%
		//光照强度 PA0
		lux1=Get_Adc_Average(ADC_Channel_0,10);
		lux1=4096-lux1;
		//空气质量 PA5
		air_quality=Get_Adc_Average(ADC_Channel_5,10);
		air_quality=(int)(((((air_quality*100))/4096)));
		lux=(int)(((((lux1*100))/4096)));
		
		OLED_ShowNum(40,0,temperature,2,16,1);
		OLED_ShowNum(40,16,humidity,2,16,1);
		OLED_ShowNum(72,32,lux,2,16,1);
		OLED_ShowNum(72,48,air_quality,2,16,1);
		OLED_Refresh();
		//光强判断
		if(lux<40)
		{
			GPIO_SetBits(GPIOA,GPIO_Pin_12);//灯1开
			GPIO_SetBits(GPIOA,GPIO_Pin_11);//灯2开
			GPIO_ResetBits(GPIOB,GPIO_Pin_9);	//继电器窗户开
		}
		else if(lux>40&&lux<70)
		{
			GPIO_SetBits(GPIOA,GPIO_Pin_11);
			GPIO_ResetBits(GPIOA,GPIO_Pin_12);
			GPIO_ResetBits(GPIOB,GPIO_Pin_9);	
		}
		else
		{
			
			GPIO_ResetBits(GPIOA,GPIO_Pin_11);
			GPIO_ResetBits(GPIOA,GPIO_Pin_12);
			GPIO_SetBits(GPIOB,GPIO_Pin_9);	
		}

		//温度判断
		if(temperature>28)
		{
			GPIO_ResetBits(GPIOB,GPIO_Pin_8);	//继电器空调
		}
		else
		{
			GPIO_SetBits(GPIOB,GPIO_Pin_8);	
		}
		//湿度判断
		if(humidity<50)
		{
			GPIO_ResetBits(GPIOB,GPIO_Pin_5);	//继电器加湿器
		}
		else
		{
			GPIO_SetBits(GPIOB,GPIO_Pin_5);	
		}
		//空气质量判断
		if(air_quality>60)
		{
			GPIO_ResetBits(GPIOA,GPIO_Pin_1);//光报警
			GPIO_ResetBits(GPIOA,GPIO_Pin_8);//声报警
		}
		else
		{
			GPIO_SetBits(GPIOA,GPIO_Pin_1);
			GPIO_SetBits(GPIOA,GPIO_Pin_8);
		}
		

		
		delay_ms(50);
	}
} 

⭐资料获取

我用夸克网盘分享了「家庭环境监测 家电控制.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/280ab7c51001
提取码:EyzE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值