• 方案介绍
  • 相关推荐
申请入驻 产业图谱

基于人体检测与光照调节的智能节能路灯设计

4小时前
122
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1. 系统概述

点击链接下载protues仿真资料:https://download.csdn.net/download/m0_51061483/92081477

随着城市道路照明系统规模不断扩大,传统路灯长期保持固定亮度运行,容易造成大量电能浪费。尤其是在深夜人流量较少的区域,路灯持续全功率工作不仅增加了电力消耗,还提高了维护成本。为了实现绿色节能照明,提高能源利用效率,设计了一种基于单片机的人体检测与光照调节智能节能路灯系统。

本系统以单片机作为核心控制器,结合光敏传感器、人体红外检测模块、PWM光模块LCD1602液晶显示模块以及LED照明模块,实现环境光照检测、人体感应照明、智能亮度调节以及实时数据显示等功能。系统能够实时检测周围环境光照强度,当光照低于用户设定阈值时自动进入夜晚模式。在夜晚模式下,系统持续监测人体活动情况,当检测到行人经过时自动开启路灯;无人经过时则保持低亮度待机状态或关闭状态,从而达到节能目的。

此外,系统根据环境光照强度自动调整LED亮度,环境越暗则输出亮度越高,环境越亮则降低输出亮度,实现智能化调光控制。同时LCD1602液晶显示器实时显示当前光照强度数据,便于用户观察系统运行状态。

该系统具有智能化程度高、节能效果明显、结构简单、运行稳定以及扩展性强等优点,可广泛应用于小区道路、公园步道、校园道路、工业园区以及智慧城市照明系统建设中。


2. 系统功能设计

2.1 光照强度实时检测功能

系统采用光敏传感器对环境光照进行实时采集。

光敏电阻会随着环境亮度变化而改变阻值:

  • 光照增强时阻值减小
  • 光照减弱时阻值增大

单片机通过ADC模块读取对应电压值,从而计算当前光照强度。

功能特点如下:

  • 实时检测
  • 连续采样
  • 自动更新
  • 响应速度快

系统能够全天候监测环境亮度变化,为后续控制提供依据。


2.2 夜晚模式自动识别功能

系统预先设置光照阈值。

例如:

光照阈值 = 30%

工作逻辑如下:

检测光照
     ↓
判断是否低于阈值
     ↓
是
     ↓
进入夜晚模式

当环境亮度高于阈值时:

环境明亮
     ↓
白天模式
     ↓
路灯关闭

当环境亮度低于阈值时:

环境变暗
     ↓
夜晚模式
     ↓
允许人体检测控制

实现自动昼夜识别。


2.3 人体检测开灯功能

系统采用人体红外感应模块进行人体检测。

工作过程如下:

人体进入检测区域
        ↓
红外模块检测
        ↓
输出高电平
        ↓
单片机识别
        ↓
开启路灯

当人体离开后:

人体离开
     ↓
延时等待
     ↓
关闭路灯

该功能能够实现:

  • 有人亮灯
  • 无人节能
  • 自动控制
  • 无需人工干预

2.4 智能亮度调节功能

系统利用PWM调光技术控制LED亮度。

控制原则:

环境越暗
     ↓
PWM占空比增大
     ↓
亮度提高
环境越亮
     ↓
PWM占空比减小
     ↓
亮度降低

例如:

光照强度 PWM占空比
10% 100%
20% 80%
30% 60%
40% 40%
50%以上 关闭

这样能够保证:

  • 夜晚照明充足
  • 避免能源浪费
  • 延长LED寿命

2.5 LCD1602显示功能

系统采用LCD1602显示模块显示当前光照强度。

显示内容如下:

LIGHT:35%
MODE:NIGHT

或者:

LIGHT:78%
MODE:DAY

用户能够实时查看:

  • 当前光照值
  • 当前工作模式
  • 系统运行状态

提高系统人机交互能力。


3. 系统总体设计方案

3.1 系统结构组成

整个系统主要由以下部分组成:

  1. STC89C52单片机最小系统
  2. 光敏传感器检测模块
  3. 人体红外检测模块
  4. LCD1602显示模块
  5. LED照明控制模块
  6. PWM调光模块
  7. 电源管理模块

系统总体结构如下:

光敏检测模块
       ↓
人体检测模块
       ↓
    单片机
 ┌────┼─────┐
 ↓    ↓     ↓
LCD  PWM   LED
显示 调光 路灯

3.2 系统工作流程

系统运行流程如下:

系统启动
    ↓
初始化硬件
    ↓
读取光照强度
    ↓
判断昼夜模式
    ↓
夜晚模式?
    ↓
是
    ↓
检测人体
    ↓
有人?
    ↓
开启路灯
    ↓
PWM亮度调节
    ↓
LCD显示数据

系统不断循环执行上述流程。


4. 系统电路设计

4.1 单片机最小系统设计

单片机是整个系统的控制核心。

主要负责:

  • 数据采集
  • 数据处理
  • 模式判断
  • PWM输出
  • LCD显示控制

系统采用STC89C52单片机。

主要组成包括:

4.1.1 时钟电路

采用11.0592MHz晶振

作用:

提供系统运行时钟

保证程序稳定运行。


4.1.2 复位电路

系统采用RC上电复位方式。

功能如下:

系统上电
    ↓
自动复位
    ↓
开始运行程序

确保系统可靠启动。


4.2 光敏传感器检测模块设计

光敏电阻是系统实现光照检测的重要部分。

工作原理:

光照增强
    ↓
阻值减小
光照减弱
    ↓
阻值增大

通过电阻分压产生模拟电压。

单片机读取ADC数据后获得光照值:

LightValue = ADC_Read();

经过比例换算得到:

0%~100%

光照强度信息。


4.3 人体红外检测模块设计

系统采用HC-SR501人体红外模块。

工作原理:

人体移动
    ↓
红外变化
    ↓
模块输出高电平

单片机读取输入端口:

if(PIR == 1)
{
    Human_Flag = 1;
}

检测是否有人经过。

特点:

  • 检测距离远
  • 灵敏度高
  • 抗干扰能力强

4.4 LCD1602显示模块设计

LCD1602用于显示系统状态。

显示内容包括:

  • 光照强度
  • 工作模式
  • 人体检测状态

显示示例:

LIGHT=25%
NIGHT MODE

LCD显示提高系统可视化程度。


4.5 PWM调光模块设计

系统采用PWM方式调节LED亮度。

工作原理:

占空比越大
     ↓
亮度越高
占空比越小
     ↓
亮度越低

PWM输出信号单片机定时器产生。

优点:

  • 控制简单
  • 节能效果好
  • 调光平滑

4.6 LED路灯驱动模块设计

由于单片机驱动能力有限,因此增加三极管驱动电路

控制过程:

单片机输出PWM
       ↓
三极管放大
       ↓
LED路灯工作

实现高亮度照明控制。


4.7 电源模块设计

系统采用5V稳压供电。

供电对象:

  • 单片机
  • LCD1602
  • 光敏模块
  • 红外模块

LED部分可采用:

12V供电

通过驱动电路控制。

保证系统长期稳定运行。


5. 系统程序设计

5.1 主程序设计

主程序负责整个系统任务调度。

程序流程如下:

void main()
{
    System_Init();

    while(1)
    {
        Read_Light();

        Day_Night_Judge();

        Human_Check();

        PWM_Control();

        LCD_Display();
    }
}

5.2 系统初始化程序设计

完成各模块初始化。

void System_Init()
{
    LCD_Init();

    ADC_Init();

    Timer0_Init();

    PWM_Init();
}

确保硬件正常工作。


5.3 光照采集程序设计

读取光照数据。

void Read_Light()
{
    LightValue = ADC_Read();

    LightPercent = LightValue * 100 / 255;
}

实现光照强度计算。


5.4 昼夜模式判断程序设计

判断是否进入夜晚模式。

void Day_Night_Judge()
{
    if(LightPercent < Light_Set)
    {
        Night_Mode = 1;
    }
    else
    {
        Night_Mode = 0;
    }
}

完成模式切换。


5.5 人体检测程序设计

检测人体活动状态。

void Human_Check()
{
    if(PIR == 1)
    {
        Human_Flag = 1;
    }
    else
    {
        Human_Flag = 0;
    }
}

实现人体感应功能。


5.6 PWM亮度调节程序设计

根据光照调整亮度。

void PWM_Control()
{
    if(LightPercent < 10)
        Duty = 100;

    else if(LightPercent < 20)
        Duty = 80;

    else if(LightPercent < 30)
        Duty = 60;

    else if(LightPercent < 40)
        Duty = 40;

    else
        Duty = 20;
}

实现智能调光。


5.7 路灯控制程序设计

控制LED开关

void Lamp_Control()
{
    if(Night_Mode)
    {
        if(Human_Flag)
        {
            LED = 1;
        }
        else
        {
            LED = 0;
        }
    }
    else
    {
        LED = 0;
    }
}

实现节能照明。


5.8 LCD显示程序设计

实时显示光照数据。

void LCD_Display()
{
    LCD_ShowString(0,0,"LIGHT:");

    LCD_ShowNum(6,0,LightPercent,3);

    LCD_ShowChar(9,0,'%');
}

显示当前光照强度。


5.9 定时器中断程序设计

产生PWM波形。

void Timer0_ISR() interrupt 1
{
    PWM_Count++;

    if(PWM_Count < Duty)
        LED_PWM = 1;
    else
        LED_PWM = 0;

    if(PWM_Count >= 100)
        PWM_Count = 0;
}

实现LED亮度控制。


6. 系统运行过程分析

系统上电后首先完成单片机、LCD1602液晶显示器、光敏传感器接口以及人体红外检测模块初始化。随后系统开始实时采集环境光照数据,并计算当前光照百分比。当光照高于设定阈值时,系统保持白天模式,路灯关闭。当光照低于阈值时,系统自动进入夜晚模式,并启动人体检测功能。当人体进入检测区域后,红外模块输出高电平信号,单片机控制LED路灯开启,同时根据当前环境光照强度自动计算PWM占空比,实现动态亮度调节。环境越暗,占空比越高,LED亮度越大;环境越亮,占空比越低,LED亮度越小。LCD1602实时显示当前光照强度及系统工作状态,方便用户观察系统运行情况。

7. 系统总结

基于人体检测与光照调节的智能节能路灯系统充分利用光敏检测技术、人体红外感应技术以及PWM智能调光技术,实现了环境光照检测、自动昼夜识别、人体感应照明、亮度自动调节以及数据显示等功能。系统能够根据环境变化自动调整路灯工作状态,实现按需照明和节能控制,有效降低能源消耗,提高照明系统智能化水平。整个系统结构简单、成本低、可靠性高,具有良好的推广应用价值,可广泛应用于智慧城市、校园道路、工业园区以及住宅小区等智能照明场景。

相关推荐