6、基于51单片机智能台灯坐姿定时+光线+红外感应系统设计(程序+原理图+参考论文+开题报告+任务书等)

这篇具有很好参考价值的文章主要介绍了6、基于51单片机智能台灯坐姿定时+光线+红外感应系统设计(程序+原理图+参考论文+开题报告+任务书等)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

摘要

社会在不断进步,人类在不断追求,市场在不断变化,高科技应用含量决定着产品发展的新趋势和前景,智能化技术在电子产品领域的应用意义深远。随着电子产品的快速发展,家用电器也越来越偏向智能化,已经应用于实际中的有智能洗衣机,智能电饭锅,智能电磁炉等,而所用的智能化家用电器都用一个共同的特点,都是利用单片机作为中央控制单元。

随着电子技术的日益发展,人们生活中的照明工具也在发生着巨大的变化。从普通电灯,白炽灯,到目前比较流行的LED灯,无不反映了人类科技的发展、社会的进步。随着环境问题的恶化,能源的减少,节能绿色环保的台灯,逐步走进了人们的生活。以前的台灯用途单一,而现在的人们需要一种多功能智能化的台灯。因此利用所学知识设计一种多功能绿色环保的台灯是一种很好的方向。

本文介绍了一种基于PWM调光的智能台灯设计。把单片机技术和PWM调光技术结合起来实现台灯光强的调节。即在不改变PWM方波周期的前提下,利用单片机控制PWM的占空比,从而来改变电压的大小实现灯光亮度的调节。

当人体在台灯的范围内且环境光线较弱时,自动感应开灯,且灯的亮度随着环境光线的改变而自动调节,一旦人离开台灯范围,即红外热释传感器检测不到有人时,1分钟后自动熄灯。本设计通过亮度的自动调节和人体检测控制台灯开关来达到绿色节能的效果。同时为了提高本设计的适用范围,还加入了手动模式的控制,在该模式下,台灯亮度由按键调节,这样使得该台灯在一些特殊情况下也能适用。

关键词:单片机;台灯 ;PWM;人体感应

一、硬件方案

硬件组成:本系统采用51单片机+液晶LCD1602显示屏+人体感应传感器+红外检测传感器+DS1302时钟+LED台灯+按键+光敏电阻设计而成。

二、设计功能

1、本设计基于STC89C51/52(与AT89S51/52、AT89C51/52通用)

2、有自动模式和手动模式两种(通过按键切换);

3、无论是自动模式还是手动模式,亮度都分为有档数;

4、手动模式下, 通过减按键和加按键来调节台灯亮度;

5、可以通过DS1302时钟来调节时间的定时

6、自动模式下,通过人体感应传感器先检测是否有人存在,有的话, 台灯亮度随着环境亮度改变而改变,环境越暗,台灯越亮;如果连续1分钟检测不到有人,就直接熄灭台灯,达到绿色节能的作用。

7、还可以红外传感器检测人的坐姿是否坐到位,如果太靠近设定的值,蜂鸣器则会报警提示。

三、成品实物图

6、基于51单片机智能台灯坐姿定时+光线+红外感应系统设计(程序+原理图+参考论文+开题报告+任务书等)

6、基于51单片机智能台灯坐姿定时+光线+红外感应系统设计(程序+原理图+参考论文+开题报告+任务书等)

四、原理图

6、基于51单片机智能台灯坐姿定时+光线+红外感应系统设计(程序+原理图+参考论文+开题报告+任务书等)

 五、程序源码

6、基于51单片机智能台灯坐姿定时+光线+红外感应系统设计(程序+原理图+参考论文+开题报告+任务书等)

 部分代码:

/*********************************************************/
// 手动控制
/*********************************************************/
void ManualControl()
{
	// 亮度减少
	if(Key2==0)					// 如果按键2被按下去
	{
		if(gIndex>0)			// 只要当前亮度不为最低才能减少亮度
		{
			gIndex--;				// 亮度降低一档
			DelayMs(300);		// 延时0.3秒
		}
	}
	
	// 亮度增加
	if(Key3==0)					// 如果按键3被按下去
	{
		if(gIndex<9)			// 只要当前亮度不为最高才能增加亮度
		{
			gIndex++;				// 亮度增加一档
			DelayMs(300);		// 延时0.3秒
		}
	}
}



/*********************************************************/
// 自动控制
/*********************************************************/
void AutoControl(uchar num)
{
	if(num<59)														// 最亮
		gIndex=9;
	else if((num>65)&&(num<81))						// 第二亮
		gIndex=8;
	else if((num>87)&&(num<103))					// 第三亮
		gIndex=7;
	else if((num>109)&&(num<125))
		gIndex=6;
	else if((num>131)&&(num<147))
		gIndex=5;
	else if((num>153)&&(num<169))
		gIndex=4;
	else if((num>175)&&(num<191))
		gIndex=3;
	else if((num>197)&&(num<213))
		gIndex=2;
	else if((num>219)&&(num<235))
		gIndex=1;
	else if(num>241)										 // 最暗
		gIndex=0;
}


uchar BUF[20];
/*********************************************************/
// 主函数
/*********************************************************/
void main()
{
	uchar ret;
	static unsigned short Cnt = 500;
	TimerInit(); 					// 定时器初始化
	
	LED=0;								// 指示灯点亮(自动模式指示灯)
	ret=Get_ADC0832();		// 获取AD采集结果(环境光照强度)
	AutoControl(ret);			// 上电先进行一次自动亮度控制	
	AutoControl(ret+7);
	L1602_init();
	L1602_string(1,1,"               ");
	L1602_string(2,1,"               ");
	
	
	while(1)
	{
		
		//if(++Cnt >= 10)
		{
			Cnt = 0;
			
			sprintf(BUF,"Light:  % 3d Lx",(unsigned short)(ret)*100/255);
			
			L1602_string(1,1,BUF);
			
			
			if(LED)
			{
				sprintf(BUF,"SD    lever:% 1d    ",(unsigned short)gIndex);
			
					
			}
			else
			{
				sprintf(BUF,"ZD    lever:% 1d    ",(unsigned short)gIndex);
				
			}
			
			L1602_string(2,1,BUF);	
		}
		/* 模式切换控制 */
		if(Key1==0)					// 如果按键1被按下去
		{
			LED=~LED;					// 切换LED灯状态
			
			if(LED)
			{
				sprintf(BUF,"SD    lever:% 1d    ",(unsigned short)gIndex);
			
					
			}
			else
			{
				sprintf(BUF,"ZD    lever:% 1d    ",(unsigned short)gIndex);
				
			}
			
			L1602_string(2,1,BUF);			
			DelayMs(10);			// 延时消除按键按下的抖动
			while(!Key1);			// 等待按键释放
			DelayMs(10);			// 延时消除按键松开的抖动
			
		}
			
		/* 亮度控制 */
		if(LED==1)							// 如果LED是灭的
		{
			ManualControl();			// 则进行手动控制
		}
		else										// 如果LED是亮的
		{
			if(gTime<60000)
			{
				ret=Get_ADC0832();		// 获取AD采集结果(环境光照强度)
				AutoControl(ret);			// 进行自动控制	
				DelayMs(200);
			}
		}
		
		/*检测是否有人*/
		if(Module==1)
		{
			gTime=0;										// 检测到有人,则把60秒计时清零
		}
		if(gTime>60000)								// 如果gTime的值超过了60000
		{
			gTime=60000;								// 则把gTime的值重新赋值为60000,避免过大溢出
			gIndex=0;										// 如果1分钟检测不到有人,则把台灯熄灭
		}
		
		if(!key_beep)
		{
			DelayMs(10);
			if(!key_beep)
			{
				Flag_beep = 1;
			}
		}
		else
		{
			Flag_beep = 0;
		}
	}
}
uchar Cnt_beep = 0;

资料包括:

6、基于51单片机智能台灯坐姿定时+光线+红外感应系统设计(程序+原理图+参考论文+开题报告+任务书等)

需要完整的资料可以加入我的纷传圈子。

纷传 点击用微信打开即可,过程有点繁琐请见谅。文章来源地址https://www.toymoban.com/news/detail-423083.html

到了这里,关于6、基于51单片机智能台灯坐姿定时+光线+红外感应系统设计(程序+原理图+参考论文+开题报告+任务书等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于51/STM32单片机的智能药盒 物联网定时吃药 药品分类

     功能介绍  以51/STM32单片机作为主控系统;   LCD1602液晶显示当前时间、温湿度、药品重量   3次吃药时间、药品类目和药品数量  HX711压力采集当前药品重量  红外感应当前药盒是否打开  DS1302时钟芯片显示当前年月日、时分秒、星期  DHT11采集当前环境温度和湿度       

    2024年02月19日
    浏览(37)
  • 51单片机的智能台灯控制系统仿真( proteus仿真+程序+原理图+报告+讲解视频)

    51单片机的红外光敏检测智能台灯控制系统仿真( proteus仿真+程序+原理图+报告+讲解视频) 仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0050 基于51单片机的红外检测光照检测智能台灯仿真设计 1、检测光照强度并显示在数码管上。 2、具备红外检测

    2024年02月09日
    浏览(39)
  • 基于STM32单片机的智能视力保护台灯设计

    智能台灯以专门感应人体红外信号的红外传感器为基础,这意味着仅当有人的时候,红外传感器才输出一个信号,经放大处理后达到单片机的输入门限电压,单片机开始运行,台灯自动点亮。当人离开的时候,单片机控制台灯自动关闭,以达到节约用电的目的。此外,通过功

    2024年02月12日
    浏览(41)
  • 基于单片机的教室智能照明台灯控制系统的设计与实现

          功能介绍 以51单片机作为主控系统; LCD1602液晶显示当前时间、年月日、时分秒、前教室人数; 2路红外探头用来感应当前教室进出人数; 按键可以设置当前时间、自动手动模式、开启和关闭教室灯光时间; 在手动模式下,可以通过按键直接控制灯光亮度(3档);

    2024年02月13日
    浏览(32)
  • 基于单片机的智能台灯 灯光控制系统人体感应楼梯灯系统的设计与实现

     功能介绍 以STM32单片机作为主控系统; 主通过光敏采集当前光线强度; 通过PMW灯光调节电路,我们可以根据不同的光线亮度,进行3挡调节; 通过人体红外检测当前是否有人; 通过不同光线情况下使用PWM脉冲电路进行调节当前灯光亮度; 液晶显示:本次设计所有的信息我

    2024年02月16日
    浏览(29)
  • 51单片机WIFI手机APP智能窗户窗帘控制系统手动自动定时

    功能介绍:     了解更多尽请观看视频讲解。。。

    2024年02月10日
    浏览(36)
  • 基于51单片机的555定时器测电容proteus仿真

    一、555定时器构成多谐振荡器 由555定时器构成的多谐振荡器如下图所示,   工作原理:电路没有稳态,只有两个暂稳态,也不需要外加触发信号,利用电源VCC通过R1和R2向电容器C充电,使Uc逐渐升高,升到2VCC/3时,Uo跳变到低电平,放电端D导通,这时,电容器C通过电阻R2和

    2024年02月06日
    浏览(36)
  • 基于51单片机的智能教室系统

    功能: 1.通过LCD实时温度、光照强度、人数以及手自动模式 2.温度过高且有人的情况下打开空调 3.光强过弱的时候且有人的情况下打开照明灯 4.通过两个运放电路模拟进人出人 5.通过按键调整手自动模式,手动模式可以手动打开照明灯和空调 哔哩哔哩视频演示链接跳转,请直

    2024年02月11日
    浏览(33)
  • 单片机设计基于51单片机的智能风扇控制系统设计与实现

      我们常见的电风扇一般只有四、五个风速档,用的是人工开关,而且并不是每个人家里都会有空调,或者在一些小型的工厂或者一些小型加工厂,这些地方都可能没有配备大型的中央空调系统这些东西,所以这些东西往往都会采用风扇这种小成本的东西来代替,但是不清楚

    2024年02月03日
    浏览(53)
  • 单片机课设———基于51单片机的智能风扇控制器(汇编语言)

    说明:单片机芯片为AT89C52,使用普中开发板,用汇编语言编程。 系统实现了对风扇的控制: (1)控制器面板包括:启/停键、模式选择键、风速键和类型选择键。 (2)模式分为:手动模式和自动温控模式。在温控模式下,风速键和类型选择键无效。 (3)风速分为:强、中

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包