1.继电器吸合模拟开灯、继电器断开模拟关灯、发光二极管(LED灯)为开灯指示灯,继电器后面的接线柱买家是可以自己接220V的电灯的(把该接线柱当成开关接口)。 2.利用光敏传感器感应光线亮暗变化,通过LM393电压比较器判断光线强弱,有光线强弱指示灯哦,当光线暗时指示灯灭,当光线强时指示灯亮,能很清楚的知道光敏传感器接收到外界光线强弱的变化哦。 3.采用驻极体话筒(咪头)判断是否有声音。 4.当光线变暗并且感应到有声音时,继电器会吸合小灯点灭模拟开灯。智能延时,当没有人了会延时10秒后自动把灯关了(继电器断开)。从而实现节能智能控制。当光线比较强时并且感应有声音时,继电器是不会吸合的。即只有同时感应到光线较弱并且有声音时开会开灯。 5.当光线变暗并且连续感应到有声音时,会继续延时
电路原理图如下:
单片机源程序如下:
- #include <reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit dengguan=P1^1;
- sbit zhujiti=P1^2;
- sbit jidianqi=P3^3;
- uchar count=0,miao=0;
- ///////////////////////////////////////////////////////////
- void time0()
- {
- TMOD=0x01; //设置定时器0和1工作方式为1(0001 0001)
- TH0=(65536-50000)/256; //装定时器初值
- TL0=(65536-50000)%256;
- EA=1; //开总中断
- ET0=1; //开定时器0中断
- TR0=0; //关闭时器0
- }
- void main(void)
- {
- time0();
- while(1)
- {
- if(dengguan==1&&zhujiti==0)
- {
- jidianqi=0;
- count = 0; miao=0; //知道没声音时才开始延时
- TR0=1;
- }
-
- }
- }
- void timer0(void) interrupt 1
- {
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- count++;
- if (count == 20)
- {
- count = 0;
- miao++;
- if(miao>=10)
- {
- miao=0;
- jidianqi=1;
- TR0=0;
- }
-
- }
- }
复制代码
10秒哦,直到没有声音才会延时关闭继电器模拟关灯哦。 以上资料下载:
新建文件夹.zip
(1.45 MB, 下载次数: 11)
|