【单片机毕业设计】【mcuclub-dz-865】基于单片机的智能小夜灯控制系统的设计
本项目设计了一个基于STC89C52单片机的智能小夜灯控制系统。系统通过5516光照检测模块自动调节亮度(光照越弱灯越亮),D203S人体热释电模块检测人员存在(人走自动关灯),并支持SU-03T语音识别和按键双重控制开关、颜色及亮度调节。采用PCB集成板设计,包含AD2013原理图、Keil5编程实现智能控制逻辑。系统实现了环境光自适应、人体感应和智能交互的灯光控制功能。
一、基本介绍
项目名:基于单片机的智能小夜灯控制系统的设计
项目编号:mcuclub-dz-865
单片机类型:STC89C52
具体功能:
1、通过光照检测模块5516模块检测当前光照强度,检测到当前小于最大值检测到人自动控制小夜灯打开,根据光照强度自动控制小夜灯的亮度,小于最小值最亮,光照大于最大值自动关灯
2、通过人体热释电D203S检测当前是否有人,人离开后,切换成自动模式;
3、通过语音识别SU-03T控制灯的开关、切换颜色、亮度;
4、用户可以通过按键控制灯的颜色和亮度
二、资料总览
实物资料

三、51单片机部分资料展示
1、实物图展示
单片机型号:STC89C52
供电接口:TYPE-C
板子类型:PCB集成板,厚度1.2,两层板(上下层覆铜接地)
器件类型:元器件基本上为插针式,个别降压芯片会使用贴片式。
2、原理图展示
软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构图
3、PCB图展示
由原理图导出,中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。
四、系统框图
绘制软件:VISIO
本设计以STC89C52单片机为核心控制器,构建一个智能小夜灯控制系统。输入部分由以下模块组成:第一部分是光照检测模块,用于检测当前环境的光照强度;第二部分是人体热释电感应模块,用于检测当前是否有人;第三部分是语音识别模块SU-03T,用于识别语音指令实现灯的开关、颜色和亮度控制;第四部分是按键模块,用于手动控制灯的颜色和亮度;第五部分是供电模块,为系统提供稳定电源支持。输出部分由以下模块组成:第一部分是RGB灯模块,通过PWM信号控制灯的开关、颜色及亮度。
五、部分程序展示
软件版本:keil5
注意:逻辑程序和驱动程序分开,分布于main.c和其他.c文件
/**********************************
函数名:处理函数
传参值:无
返回值:无
**********************************/
void Manage_Function(void)
{
if(IFD == 0) //有人时
{
if(flag_mode == 0) //模式为自动模式
{
if(light_value > light_max) //光照大于最大值,关闭小夜灯
{
pwm_value = 0;
}
else if(light_value > light_min) //据光照强度自动控制小夜灯的亮度
{
pwm_value = 10 - (int)(((light_value - light_min) / 20));
sprintf(display_buf,"light_value: %d,pwm_value: %d\n", light_value, pwm_value);
Uart_Sent_Str(display_buf);
}
else //小于最小值最亮,光照大于最大值自动关灯
{
pwm_value = 10;
}
}
}
else //人离开后,切换成自动模式;
{
flag_mode = 0;
}
}
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)