
一、项目简介
随着楼宇智能化快速发展,传统照明系统存在电能浪费、控制方式单一等问题。本设计以STM32F103C8T6为主控芯片,在 Proteus 仿真平台搭建一套智能楼宇照明控制系统。系统结合光敏电阻光照检测、人体红外感应,实现灯光自动控制;同时支持按键手动调光、OLED 本地数据显示、ESP8266 串口数据上报,兼顾自动节能与手动干预,适合单片机课程设计、嵌入式毕设学习参考。
二、系统总体方案
系统分为五大功能模块:STM32 主控模块、环境感知采集模块、按键输入模块、显示输出模块、灯光执行与串口通信模块。
- STM32F103C8T6 主控单元:系统核心,完成传感器 AD 数据读取、逻辑运算、外设驱动、串口数据输出。
- 采集模块:PCF8591 ADC 模数转换芯片,采集光敏电阻光照强度、人体红外传感器检测信号。
- 按键模块:手动开关按键、亮度增加按键、亮度降低按键,实现手动模式下灯光控制。
- 显示模块:OLED12864 I2C 显示屏,实时显示光照数值、人体红外状态、当前灯光亮度等级。
- 执行与通信模块:LED 灯组作为楼宇照明输出;ESP8266 模拟串口通信,将系统运行信息打印到虚拟终端。
硬件电路说明
- 光照采集:光敏电阻 LDR 搭配分压电路,模拟信号送入 PCF8591 ADC 通道;
- 人体红外检测:电位器模拟人体红外传感器输出,接入 PCF8591 采集通道;
- OLED 显示屏:I2C 通信接口,PB3/PB4 作为 SCL、SDA;
- 按键:PA13、PA15、PA14,分别对应手动开关、变亮、变暗;
- 灯组:三路红色 LED 模拟楼宇照明灯具;
- 串口:PA9 (TX)、PA10 (RX) 对接 ESP8266 模块,输出运行日志。
三、核心功能介绍
- 自动照明模式(节能模式) 读取环境光照强度,当检测到光强不足,同时人体红外检测到现场有人,自动点亮照明灯组;如果无人,即使光线昏暗也关闭灯光,避免无效耗电。光线充足情况下,无论是否有人,灯光保持关闭状态,实现楼宇照明节能控制。
- 手动调光模式 按下手动按键切入手动控制,不受光照、人体红外条件限制。通过 "变亮""变暗" 按键调节 LED 灯组点亮数量,实现多级亮度调节,适配检修、特殊作业场景。
- OLED 实时数据显示 屏幕实时刷新:光照数值、人体红外检测值、人员状态(有人 / 无人)、当前亮度等级,直观查看系统工作状态。
- 串口信息上报 ESP8266 串口输出关键日志:光强不足提示、人员检测提示、模式切换信息、各项采集参数,虚拟终端可以完整查看系统运行记录,方便调试分析。
四、工作逻辑流程
- 系统上电初始化:I2C 外设、OLED、PCF8591 ADC、GPIO 按键、串口完成初始化;
- 循环采集 PCF8591 的光照、人体红外两路模拟量;
- 判断按键输入:触发手动按键则切换手动模式,按键调亮调暗直接修改灯光输出;
- 自动模式下做逻辑判断:光线暗 + 检测到人 → 开灯;光线亮 / 无人 → 关灯;
- OLED 刷新全部采集数据;串口打印运行信息;循环执行采集‑判断‑输出流程。
五、仿真运行效果
仿真运行后 OLED 屏幕展示:光照、红外数值、人员状态、亮度等级。 虚拟终端输出示例:
光强不足!
夜晚有人打开灯光!
有人!
人体红外:57 光照:34 亮度:0
智能楼宇照明控制系统
自动模式!
当模拟环境变暗,同时触发人体红外信号,灯组自动开启;环境变亮或者人员离开,灯组自动熄灭;切换手动按键,可以自由控制灯光亮度。
六、项目总结
本智能楼宇照明系统,融合光感、人体红外双重条件判断,实现按需照明,降低楼宇照明能耗。同时保留手动操作通道,兼顾智能化与实用性。整套工程基于 STM32+Proteus 仿真实现,不需要实物硬件即可验证全部逻辑,对于学习 ADC 采集、I2C 外设、传感器逻辑开发非常友好。可以在此基础拓展:PWM 无级调光、定时控制、上位机远程控制等功能。
通过网盘分享的文件以及需要定制仿真咨询:仿真文件获取.zip
链接: https://pan.baidu.com/s/1V5zzxbpHc_fRqfGIzSdLfg?pwd=6666 提取码: 6666