一、基本介绍

项目名:基于单片机的智能小夜灯控制系统的设计
项目编号: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;
	}
	
}

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐