【毕业设计】_基于STM32单片机的智能书房(原理图+源码)

一. 系统概述

本设计系统以STM32F103单片机为核心控制单元,能够通过光照传感器检测书房内的光照强度,并通过温湿度传感器获取书房的温度和湿度数据。这些数据会显示在显示屏上,用户还可以通过按键设置各个参数的阈值。系统还配备了红外传感器,用于检测书房内是否有人。当系统检测到有人且光照强度低于设定值时,LED灯会自动亮起。此外,当温度或湿度超出设定范围时,系统会自动启动空调以调节环境。

在这里插入图片描述

二. 仿真概述

  1. 该系统采用DHT11传感器进行温湿度检测,利用光敏电阻模块进行光强度测量,并通过红外传感器检测是否有人员存在。通过OLED显示屏,用户可以实时查看温湿度、光强度及人员检测状态,还可以看到设定的阈值。

在这里插入图片描述

  1. 通过调节DHT11上的红色按钮,用户可以设置温湿度的阈值。一旦检测到温湿度超过设定值,系统会启动空调进行调节,同时空调指示灯会亮起。

在这里插入图片描述

  1. 光敏电阻模块的滑动变阻器用于调整光照强度的设定值。当光照强度低于设定阈值且红外传感器检测到有人时,系统会自动开启照明灯。

在这里插入图片描述

  1. 用户可以通过按键设置温湿度和光照强度的阈值。在调整阈值时,显示屏上会出现“set”字样以提示用户当前正在调整的参数。

在这里插入图片描述

三.程序设计

#include <stm32f10x.h>
#include <delay.h>
#include <ADC_x.h>
#include <Lcd1602.h>
#include <Led.h>
/*==================================*
 *======>>>>>>  【ZW】  <<<<<<======*
 *==================================*/
#include "OLED.h"
#include "dht11.h"
#include <Key.h>
u8 t,h,l;
u8 set;
u8 th=30,hh=50,ll=20;
u8 key;
int main(void)
{	

	Adc1_Init();
	
	Led1_Init();
	Key_Init();
	OLED_Init();
	DHT11_Init();
	
	OLED_ShowString(1,1,"temp:");
	OLED_ShowString(2,1,"humi:");
	OLED_ShowString(3,1,"light:");
	OLED_ShowString(4,1,"people:");//OLED_ShowString(3,1,"in");OLED_ShowString(3,1,"absent");
	
//	Led1_High;
//	relay_High;
	
	
	
	while(1)
	{
		Key_Scan(&key);//OLED_ShowNum(1,14,key,1);
		
		if(key==3) { set++; if(set>3) set=0; key=0;}
		if(set==0) OLED_ShowString(3,13,"   ");
		else OLED_ShowString(3,13,"set");
		if(set==1){ if(key==1&&set==1) th++;if(key==2&&set==1) th--; key=0;}
		if(set==2){ if(key==1&&set==2) hh++;if(key==2&&set==2) hh--; key=0;}
		if(set==3){ if(key==1&&set==3) ll++;if(key==2&&set==3) ll--; key=0;}

		DHT11_Read_Data(&t,&h);OLED_ShowNum(1,10,th,2);OLED_ShowNum(2,10,hh,2);
		OLED_ShowNum(1,7,t,2);
		OLED_ShowNum(2,7,h,2);
		l = Get_Adc1();
		OLED_ShowNum(3,7,l,2);OLED_ShowNum(3,10,ll,2);
		
		if(Key4==0){ OLED_ShowString(4,8,"in    ");}
		else { OLED_ShowString(4,8,"absent"); }
		
		if(t>=th|| h>=hh) { relay_High;}
		else relay_Low;
		
		if(l<=ll && Key4==0) Led1_High;
		else Led1_Low;

	}	
}

24-32f-03

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值