基于stm32单片机室内环境DHT11温湿度光照强度检测系统Proteus仿真+源码

本博客介绍基于STM32F103单片机的室内环境监测系统,集成DHT11温湿度传感器与光敏电阻光照检测模块,通过ADC采集和单总线通信获取数据,在LCD12864实时显示温度、湿度、光照强度及可调阈值,并实现风扇散热、加湿电机、LED补光的自动闭环控制。配套Proteus仿真与Keil源码,适用于嵌入式教学与实践开发。

大家好!今天给大家分享一个基于 STM32 单片机的室内环境监测设计——DHT11 温湿度 + 光照强度检测系统。当温度过高时自动开启散热风扇,湿度过低时自动加湿,光照不足时自动开灯补光,三项数据全部在 LCD12864 液晶上实时显示,配套 Proteus 仿真 + Keil 源码,适合毕业设计、课程设计和单片机入门练手。

系统整体仿真电路:STM32F103 主控 + LCD12864 显示 + DHT11 + 光敏电阻 + 散热/加湿电机 + LED 灯

一、系统功能简介

本设计以 STM32F103 单片机为核心,实现"检测—显示—自动控制"一体化:

1. 温湿度检测:通过 DHT11 传感器实时采集室内环境温度和湿度;

2. 光照强度检测:光敏模块输出模拟信号,经 STM32 内部 ADC 采集,换算出光照强度值(Lux);

3. 液晶实时显示:LCD12864 同屏显示当前温度、湿度、光照强度,以及三项对应的设定阈值(SET 值);

4. 阈值可调:三个独立按键分别用于设置温度上限、湿度下限、光照强度下限,按一下数值加 1,范围 1~100 循环可调;

5. 自动联动控制:

- 温度超过上限 → 自动开启散热电机(风扇散热);

- 湿度低于下限 → 自动开启加湿电机(加湿);

- 光照强度低于下限 → 自动点亮 LED 灯(补光);

- 恢复到正常范围后自动关闭。

二、硬件组成

- 主控芯片:STM32F103(Proteus 仿真中为 STM32F103R6)

- 温湿度传感器:DHT11(单总线通信)

- 光照检测:光敏电阻模块 + 50K 电位器模拟光照强度调节(接 ADC 采集)

- 显示模块:LCD12864 液晶屏

- 按键:3 个(设置温度上限 / 设置湿度下限 / 设置光照强度下限)

- 执行机构:散热电机、加湿电机(PB14、PB15 引脚驱动)、LED 灯(PB10 引脚驱动)

仿真中通过"光照强度调节"电位器和"DHT11 温湿度调节"模块模拟传感器数据变化

三、软件设计思路

主程序流程非常清晰:

1. 系统初始化:延时、LCD12864、ADC、DHT11、按键、电机/LED IO;

2. 循环读取 DHT11 温湿度数据和光照的 ADC 值,按公式将 ADC 值换算为光照强度值;

3. sprintf 格式化后刷新到 LCD12864,显示 temp / hum / GZ 及三个 SET 阈值;

4. 按键扫描修改三个阈值;

5. 阈值比较:温度超上限开散热、湿度低于下限开加湿、光照低于下限开灯,否则关闭对应外设。

核心控制逻辑代码(节选):

if(temp > buf1)  MORTOR1 = 0;  //温度过高 开启散热
else             MORTOR1 = 1;

if(hum < buf2)   MORTOR2 = 0;  //湿度过低 开启加湿
else             MORTOR2 = 1;

if(tmp < buf3)   MORTOR3 = 0;  //低于光照强度值 开灯
else             MORTOR3 = 1;

Keil 下编译通过:0 Error(s), 0 Warning(s)

四、仿真效果

打开 Proteus 仿真(建议 8.9 版本),运行后可以看到 LCD12864 上显示:

- temp:30 C SET:30

- hum:34 SET:30

- G Z:41 Lux SET:40

仿真运行效果:温度 30℃、湿度 34%、光照 41Lux,三项阈值分别为 30/30/40

调节"光照强度调节"电位器或"DHT11 温湿度调节"模块,当数值越过设定阈值时,对应的散热电机 / 加湿电机 / LED 灯会立即动作,控制逻辑一目了然。

五、资料清单

- Keil 完整源程序代码(含固件库工程,0 Error 0 Warning 编译通过)

- Proteus 仿真源文件(建议 Proteus 8.9 版本)

- 配套讲解视频 + 仿真运行图片

六、资料下载

全套资料(源码 + 仿真 + 讲解视频 + 图片)已打包上传百度网盘,需要的同学自取:

下载链接: https://pan.baidu.com/s/1yd3xGvk6qJ-0RXxsIOO8Kw?pwd=mtml

提取码: mtml

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值