基于单片机的楼道声光人体红外智能控制灯设计
点击链接下载资料:https://download.csdn.net/download/m0_51061483/92081496
1. 系统功能概述
本系统以STC89C52单片机 为核心控制器,实现了一种适用于居民楼道、地下通道及公共走廊的声光人体红外智能控制灯系统 。传统的楼道照明通常依靠人工控制或单一的声控、光控电路,存在能耗大、响应不及时、控制逻辑简单等问题。而本系统通过红外传感器、光敏传感器、声控模块及单片机智能逻辑判断,实现对环境亮度和人体活动的综合感知,从而实现高效节能与舒适照明控制。
系统的主要功能如下:
- 光照检测:通过ADC0832模块采集光敏电阻的电压信号,当检测到环境光照强度高于设定阈值(即白天)时,系统自动关闭灯光,防止浪费电能。
- 夜间声光控制:当检测到环境较暗(夜晚模式),红外人体传感器检测到有人经过或声音传感器检测到声音信号时,系统自动点亮照明灯。
- 延时关闭功能:当人体离开或声音消失后,系统通过定时器实现30秒延时熄灯,避免频繁启停。
- 自动模式切换:系统根据环境光线自动在"日间关闭模式"和"夜间自动感应模式"之间切换,整个过程无需人工干预。
- 可靠性与扩展性:系统具有较高的响应速度与稳定性,并预留扩展接口,可增加蓝牙、WIFI模块以实现远程控制功能。
2. 系统电路设计
系统电路由以下几个部分组成:
- 单片机控制核心电路
- 光敏传感器信号采集电路
- 红外人体感应电路
- 声控信号检测电路
- ADC0832模数转换电路
- 继电器灯光控制电路
- 电源模块电路
下面对各个模块的设计原理进行详细说明。
2.1 单片机最小系统电路
单片机采用STC89C52芯片,其内部带有丰富的I/O口资源与定时器,可轻松实现信号采集、逻辑判断与输出控制。最小系统包括以下部分:
- 时钟电路:使用12MHz晶振,为系统提供稳定的时钟信号。
- 复位电路:采用RC复位电路,在上电时自动复位单片机,确保系统可靠启动。
- 电源接口:系统使用+5V直流供电,通过稳压芯片7805实现从12V到5V的转换。
单片机P1口连接到ADC0832的数据接口,用于光照信号采样;P2口分别与红外模块、声控模块、继电器控制端相连;P3口部分用于调试与串口通信。
2.2 光敏传感器电路
光敏电阻(LDR)与分压电阻构成电压分压电路,输出电压随光强变化而变化。由于单片机无法直接处理模拟信号,需通过ADC0832模数转换芯片进行采样。
当光线较强时,光敏电阻阻值减小,输出电压降低;当光线较暗时,光敏电阻阻值增大,输出电压升高。单片机通过采样结果判断当前是否为夜晚,从而决定是否开启声光控制功能。
设计亮点在于:
- 可通过软件设置光照阈值;
- 可根据不同场所自动调整灵敏度。
2.3 红外人体感应模块电路
红外传感器采用常用的HC-SR501模块,该模块能够检测到人体红外辐射信号。当有人靠近时,输出高电平;当无人时,输出低电平。
模块内部包含热释电红外传感器与信号处理电路,具有以下特点:
- 检测距离可达3~7米;
- 输出信号稳定,抗干扰能力强;
- 低功耗,响应时间短。
红外模块输出端连接到单片机P2.0口,作为人体检测信号输入。
2.4 声控信号检测电路
声控模块由驻极体麦克风、信号放大电路与比较器组成。当检测到较大的声音(如脚步声、讲话声等)时,比较器输出高电平信号。
设计中采用LM324运放芯片进行信号放大与阈值比较:
- 当声音信号幅度超过设定值时,输出高电平;
- 声音消失后,信号恢复低电平。
声控信号输入连接到单片机P2.1口,用于触发照明开启。
2.5 ADC0832模数转换电路
ADC0832是一款8位双通道A/D转换芯片,采用串行通信方式,与单片机接口简单、占用I/O资源少。
在本系统中:
- CH0通道接光敏传感器输出;
- 单片机通过时序控制信号(CS、CLK、DI、DO)实现模拟电压采样;
- 采样结果用于判断光照强度。
采样公式如下:
亮度值 = (ADC0832输出 / 255) * 5.0 (单位:V)
该电压值与设定阈值比较后,用于决定系统的白天/夜晚状态。
2.6 灯光控制电路
照明灯采用继电器控制,由单片机P2.2端输出控制信号。继电器驱动电路采用三极管放大方式,确保单片机输出能够可靠驱动继电器线圈。
当系统检测到需要点灯的条件(夜晚+有人/有声)时,单片机输出高电平,继电器吸合,灯点亮;当条件解除后延时30秒,输出低电平,继电器断开,灯熄灭。
2.7 电源模块电路
系统采用AC220V转DC12V模块供电,再通过7805稳压芯片降压至5V,为单片机及传感器模块供电。所有传感器共用地线,保证系统信号基准一致,避免误触发。
3. 程序设计
系统程序采用C语言编写,开发环境为Keil uVision,程序结构模块化,主要包括:
- 主程序框架
- 光照检测模块
- 红外检测模块
- 声控检测模块
- 灯光控制与延时模块
- 定时器中断程序
下面对程序设计的各个模块进行详细说明。
3.1 主程序设计
主程序完成系统初始化与主循环逻辑判断。系统在上电后,首先完成ADC初始化、定时器设置、IO口配置,然后进入主循环,不断采集光照与传感器状态。
主程序核心代码如下:
#include <reg52.h>
#include "adc0832.h"
sbit Relay = P2^2;
sbit PIR = P2^0;
sbit Sound = P2^1;
unsigned char light_value;
bit light_flag;
void delay(unsigned int t) {
unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<120;j++);
}
void main() {
Relay = 0;
while(1) {
light_value = ADC0832_Read(0);
if(light_value < 100) light_flag = 1; // 夜晚
else light_flag = 0; // 白天
if(light_flag == 1) {
if(PIR || Sound) {
Relay = 1; // 开灯
delay(30000); // 延时30秒
Relay = 0; // 关灯
}
} else {
Relay = 0; // 白天关闭
}
}
}
该程序根据光照强度决定是否启用红外和声控检测逻辑,简洁高效,具有较高实用性。
3.2 光照检测模块程序
光照检测模块负责通过ADC0832读取光敏电阻的电压值,判断环境亮度是否低于设定阈值。
#include "adc0832.h"
#include <reg52.h>
unsigned char ADC0832_Read(unsigned char channel) {
unsigned char i, dat1=0, dat2=0;
CS = 0;
CLK = 0;
DI = 1;
// 发送起始信号
CLK = 1; CLK = 0;
DI = 1; CLK = 1; CLK = 0;
DI = channel; CLK = 1; CLK = 0;
for(i=0;i<8;i++) {
CLK = 1;
dat1 = (dat1<<1) | DO;
CLK = 0;
}
for(i=0;i<8;i++) {
dat2 = (dat2<<1) | DO;
CLK = 0;
}
CS = 1;
if(dat1==dat2) return dat1;
else return 0;
}
通过ADC0832模块采样并返回光照值,供主程序判断使用。
3.3 红外检测模块程序
红外模块通过检测PIR端口电平实现人体感应判断。
bit check_PIR() {
if(PIR == 1)
return 1;
else
return 0;
}
当检测到高电平时,说明有人靠近,返回1,系统点亮灯。
3.4 声控检测模块程序
声控模块的输出信号同样通过数字输入口检测,实现如下:
bit check_Sound() {
if(Sound == 1)
return 1;
else
return 0;
}
当检测到声音信号时,返回1,系统触发点灯。
3.5 灯光延时控制程序
系统在灯亮后需延时30秒再关闭,防止因人短暂停留造成频繁启停。延时程序使用定时器中断实现。
void Timer0_Init() {
TMOD = 0x01;
TH0 = (65536-46080)/256;
TL0 = (65536-46080)%256;
ET0 = 1;
EA = 1;
TR0 = 1;
}
unsigned int timer_count = 0;
void Timer0_ISR(void) interrupt 1 {
TH0 = (65536-46080)/256;
TL0 = (65536-46080)%256;
timer_count++;
if(timer_count >= 650) { // 约30秒
Relay = 0;
timer_count = 0;
}
}
3.6 程序逻辑说明
系统通过三个信号(光照、红外、声音)进行综合判断,实现以下控制逻辑:
- 白天模式下,灯光始终关闭;
- 夜晚模式下,若有人或声音触发,灯亮;
- 灯亮后计时30秒,若期间再次检测到活动,计时重置;
- 若无活动,30秒后自动关闭。
此设计确保系统在保证照明的同时,最大限度节能,符合智能建筑节能理念。
4. 系统总结
本系统通过STC89C52单片机 为核心,集成光敏传感器、红外传感器、声控模块及ADC0832采样电路,实现了楼道照明的智能化控制。其设计结构清晰、功能完备,具有以下优点:
- 节能高效:在白天自动关闭照明,仅在必要时点亮。
- 响应迅速:红外与声控并行检测,触发速度快。
- 稳定可靠:软硬件冗余设计,避免误触发。
- 扩展性强:可接入无线模块,实现远程控制与数据统计。
通过该系统,可有效降低公共区域照明能耗,提升使用便利性与安全性,具有良好的推广应用价值。