基于单片机的智能感应灯设计

发布者:岭南布衣最新更新时间:2011-10-19 关键字:单片机  智能感应灯 手机看文章 扫描二维码
随时随地手机看文章

  引言

  能源日益紧张的今天,产品设计的主要考虑要点就是节能了。既节约又能合理利用电能的设计更应是产品设计的主要目标。同时,照明灯具发展到今天,发展方向逐步转向低成本、自动化阶段。先进今市场上的各种感应灯已基本实现自动控制功能。但仍然存在一些不足之处。 红外自动感应灯受到红外发射角度的影响。无法在较大的范围形成有效的感应空间。

  单片机因体积小、重量轻、成本低廉、灵活性好、易于开发与应用等优点而被广泛应用于工业自动化、生产过程控制、智能化仪器、仪表等领域。随着照明用电量占总用电量比例的不断增加,人们努力实现照明灯具的智能控制。单片机自然成了照明灯具实现智能化的首选器件。但有些设计都过于复杂,也忽视了教室马路等用电量较大的场所为人照明的基本作用。所以,人是否存在的检测也是至关重要的。实现大角度大范围人存在与否的检测可用微波传感器实现。本文从节约和合理利用电能角度出发,设计一种智能感应灯。采用微波传感器实现教室马路等大范围空间感应控制。利用单片机智能控制灯具点亮及持续时间。

  1 智能感应灯设计的理论探究

  1.1 各种感应灯的优缺点

  市面上的各种感应灯在一定的程度上都忽略了一个硬性的问题:HP灯具点亮的时间会受到各个方面的限制,显得不够灵活。如微波感应灯在硬件电路上点亮时间设置不够灵活;电容感应式自动灯、触摸式照明灯和红外感应自动照明灯。有效感应距离或感应范围较小:光控照明电路在没有人的情况下无法及时熄灭等等。这些现象使得电能利用不够合理。

  1.2 主要困难及解决方案的提出

  合理有效地利用电能是完全可以实现的,但存在一定的困难。现将主要困难及可能解决方案在表1中列出。根据教室和马路等大范围空间的实际情况,决定采用微波传感器的大范围感应空间和单片机的智能控制设计智能感应灯系统,实现电能的合理有效利用。

 

  2 智能感应灯的设计

  根据以上分析,拟定采用方案2)实现教室和马路等大范围空间电能的合理有效利用。图1为相应设计的感应灯系统工作示意图。当周围环境较亮时,切断灯具电源供给,灯具处于熄灭状态;而当周围环境较暗时,判断周围是否有人,有人灯具被点亮,否则灯具处于熄灭状态。根据工作示意图,具体拟定如下设计思路:采用光敏电阻和微波传感器采集亮度和有无人的信号,利用单片机智能控制灯具点亮和持续时间。此思路的实现分电路和程序设计两部分,其中电路部分主要实现对环境的判断,程序设计部分主要实现灯具点亮和持续时间的控制。

 

  2.1 电路部分

  如图2所示,电路部分主要包含四个模块,各模块主要器件及参数和要实现的主要功能在表2中列出。

 

 [page]

  2.2 程序部分

  电路部分的数据采集处理模块是利用单片机智能地控制灯具状态。预智能感应灯实现图1所示的工作过程,单片机内程序设计按图3所示的流程图编写。其中:软件控制部分采用外部中断进行判断微波信号腭。灯具点亮时间的长短利用定时器控制。

 

  3 实物检测与结果评价

  按上述分析思路设计并制作智能感应灯系统,实物及效果检测如图4所示。图4(a)、(b)为实物图,图4(c)、(d)为效果检测图。

 

  图4(a)为实物整体外观照片,为美观而将电路板与灯具进行了包装。侧面的圆环及与之相连的小盒为微波传感器,红色的开关按钮为总开关,电路板在其内部,图4(b)~P为内部结构及主要部件照片。图4(c)为环境较亮(照度大于10Lux)时接通灯具的情形,总开关已打开,微波传感器已感应到人的存在(传感器信号灯变亮,闪烁),但因环境足够亮,灯泡仍然处于熄灭状态。这样才能合理控制灯的状态,达到节能的效果。而图4(d)显示环境很暗(照度小于lOLux)时接通灯具的情形,微波传感器感应到人的存在,光敏电阻也检测出环境很暗,灯泡及时被点亮。同时,我们对制作的智能感应灯系统的主要性能参数进行了简单测试。测试条件及结果在表3中给出。

 

  从表中数据可以看出,虽然我们的制作和测试比较简单(重量和几何参数都有很大的缩小空间,功率也可进一步减小),但从图4(c)、(d)的效果检测图中仍然可充分显示出其效果和我们节能设计的理念。从能量的合理利用方面既满足人们的需要又节约能源。单片机的智能性和易用性实现了这个设计理念。

  4 总结

  本文就能源紧缺的今天,教室马路等公共场所照明灯具电能的浪费和使用不合理现象,利用单片机和微波传感器等设计并制作了智能感应灯。解决了大范围空间感应问题,实现了电能的节约和合理利用。

 

关键字:单片机  智能感应灯 引用地址:基于单片机的智能感应灯设计

上一篇:单片机在车载酒精探测系统中的作用
下一篇:基于单片机的太阳能热水器智能仪

推荐阅读最新更新时间:2024-03-16 12:44

PIC单片机C语言精确控制时间
很多朋友说C不能精确控制延时时间,不能像汇编那样直观。其实不然,对延时函数深入了解一下就能设计出一个理想的筐架出来。一般我们都用for(VX=100;--X){;}此句等同于X=100;while(--X){;};或Vfor(x=0;x 100;x++){;}. 来写一个延时函数。 在这里要注意:X=100,并不是表示只运行100个指令就跳出循环。 可以看看编译后的汇编: X=100;while(--x){;} 汇编后: movlw 100 bcf 3,5 bcf 3,6 movwf _delay l2 decfsz _delay goto 12 return 从代码中可以看出总的指令是303个,其公式是8+3*(x-1).注
[单片机]
由数码管动态显示浅谈单片机程序
数码管动态显示原理:动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管接一组IO口,从而大大地节约了IO口。选亮数码管采用动态扫描显示。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。 即实际上,每个数码管是一个个的依次点亮。利用人眼视觉停留,快速扫描,一般每隔10ms以的下时间刷新一次数码管显示即可看到稳定的显示效果。本人亲自试验,最好刷新时间设定为5ms一下,高于5ms显示会略微有些晃眼。 传统的数码管显示程序为: #define DUAN P1 #define WEI
[单片机]
深藏不露的'NUL'(51单片机串口通讯是遇到的错误之一)
NUl的定义: C语言中规定以字符 \0'作为字符串结束标志。 \0'是一个ASCII码为0的字符,从ASCII码表中可以看到ASCII码为0的字符是 空操作字符 , 它不引起任何控制动作,也不是一个可显示的字符 这是本人在用单片机做串口通讯时遇到的小问题,因为那个电子设备比较特殊,发送的数据也是比较的特殊,所以我便遇到了这个问题。一开始按照预定的指令和电子设备通讯,总是不行,后来通过串口调试器才发现,发送的数据只能发送一半。于是我返回去看代码,这才发现了症结所在。 以下便是我的程序出错的原因: 出错的程序代码段: void Send_data(char p ) { a=0; while(
[单片机]
52单片机IO口输出点亮你的LED
特殊功能寄存器SFR声明 我们想要使用单片机的IO口就要先定义它的地址,我们可以从芯片资料上找到IO口对应的地址(也可以直接网上搜) 单片机C语言SFR声明: sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0xA0; sfr P3 = 0xB0;//定义P0~P3 定义好以后,通过控制P0~P1,我们可以同时控制他们对应的8个IO口,当然这次我们只需要点亮一两个LED,只需要用到一两个IO口,所以可以用下面的方法单独定义一个IO口。 sbit LED0 = P1 ^ 0; sbit LED1 = P1 ^ 1; sbit LED2 = P1 ^ 2; sbit LED3 = P1 ^
[单片机]
52<font color='red'>单片机</font>IO口输出点亮你的LED
谈DSP、FPU加入后MCU市场战局的变化
自从MCU(微控制器)导入了DSP(数位讯号处理器)与FPU(Floating Point Unit;浮点运算单元)功能后,MCU可以拓展的应用范围便大幅增加,这几年来,诸多MCU大厂都纷纷导入,使得MCU市场战局变得更加诡谲多变。各家大厂就MCU的产品策略也不尽相同。 然而,尽管应用面大幅增加,但DSP与FPU在功能上要如何区分?彼此的关系是什么?这在ARM推出了Cortex-M4后,这类的议题才开始渐渐被市场所重视。 DSP、FPU不再高不可攀 瑞萨电子营业行销事业部第一营业行销部副理黎柏均表示,其实FPU的导入,还是要考量成本的问题,若不需要,其实采用定点运算的MCU来因应系统需求即可。一般来说,
[半导体设计/制造]
AVR单片机IAR开发环境搭建和注意事项
简介:1、AVR单片机IAR开发环境搭建 2、IAR使用注意事项 1、AVR单片机IAR开发环境搭建 2、IAR使用注意事项 头文件含义 avr_macros.h里面包含了读写16位寄存器的简化书写,和几个位操作函数 comp_a90.h对大量的内在函数做了简要书写 ina90.h包含 inavr.h comp_A90.h 文件 intrinsics.h内在函数提供最简单的操作处理器底层特征。休眠,看门狗,FLASH函数。 iomacro.HI/O寄存器定义文件样本。 iom8.h包含I/O等寄存器定义 位操作 在c语言里对位的操作如一般如下: PORTB|=(1 2); //置PORTB的第2位=1 PO
[单片机]
单片机控制红外编码探测障碍物
1 探测障碍的原理 在室内自动感知障碍的设备中,常使用红外线探测障碍物的存在与否。探测的基本原理是:在测量的范围内,主动向探测方向发射红外信号,如果存在障碍物,就会把发射的信号反射回发送端。在发送端,如果收到反射的信号,就确认障碍物的存在。 但是在实际应用中,红外干扰源较多;而且在有反射光的情况下,由于光线的干扰,很容易判断失误,出现虚警。因此,有些设备在发射信号时,改进为发送一串连续的红外脉冲,然后接收反射的信号。如果接收到的红外脉冲数量超过某一门限值时,就判断障碍存在。这种方法尽管在一定程度上可以降低虚警率,但实验表明,在较强的反射光和使用电子镇流器方式的日光灯起辉时,仍很容易出现干扰现象。 本文提出解决干扰的方案是:由
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved