本帖最后由 末夏会写诗 于 2026-11-2 18:30 编辑
1 作品简介 智能声控小夜灯是一款基于迪文 T5L 平台二次开发的智能家居照明作品。作品以 T5L 芯片为主控,通过声音传感器和 BH1750 光照传感器同时采集环境信息,在检测到声音且环境光线较暗时自动点亮 LED,并同步切换显示屏页面,延时约 10 秒后自动熄灭,具有无需手动开关、节能省电、状态可视等特点。 作品基本信息如表1所示。 表1 作品基本信息 | 项目 | | | | | | | T5L 芯片(8051 内核 + DGUS 显示) | | 声音传感器(数字量输出)、BH1750 光照传感器 | | | | Keil uVision(C51)、DGUS 开发工具 | | |
作品主要特点如下: · 双条件触发:声音与光照同时判断,光线充足时即使有声音也不亮灯,避免白天误亮。 · 自动延时熄灭:点亮后维持约 10 秒,无需手动关闭。 · 屏灯状态同步:显示屏页面与 LED 状态实时联动,界面直观。 · 工程结构完整:包含 51 源代码、迪文 GUI 源工程和演示视频,便于复现与二次开发。 2 工作原理 2.1 硬件组成 系统硬件由主控模块、声音检测模块、光照检测模块、照明执行模块和显示模块五部分组成,整体架构如图1所示。 图1 智能声控小夜灯系统硬件架构 表2 主要引脚分配 2.2 光照检测原理 BH1750 是一款数字型光照强度传感器,通过 IIC 总线与主控通信。程序将其从机地址设为 0x46,初始化时依次写入上电指令(0x01)和连续高分辨率模式指令(0x10)。主循环每 200ms 读取一次两字节原始数据,拼接为 16 位数据后除以 1.2,换算为以 lux(勒克斯)为单位的光照强度,并写入 VP 地址 0x2000 供界面显示。 2.3 控制逻辑 主程序以 200ms 为周期循环检测。当声音传感器 DO 输出低电平(P1.5 为 0)且光照 lux 不超过 300 时,判定为有效触发:置位触发标志,P1.4 输出高电平点亮 LED,同时调用切页函数将屏幕切换到 1 页。触发后计数器每个周期加 1,计数到 50(即 50×200ms=10 秒)后清除标志、熄灭 LED 并切回 0 页;若条件不满足,则保持待机状态。完整流程如图2所示。 图2 智能声控小夜灯工作流程 2.4 显示界面联动 迪文屏共设计两个页面:0 页为待机页面,呈现夜灯未点亮时的卧室场景及声音声波示意;1 页为点亮页面,呈现暖光点亮效果。主控通过向 VP 地址 0x84 写入切页指令实现页面切换,VP 地址 0x2020 用于回传灯的开关状态,保证屏幕显示与实际灯光一致。两页效果如图3、图4所示。 图3 待机页面(0 页)效果 图4 点亮页面(1 页)效果 3 设计思路 3.1 设计过程 作品按照需求分析、硬件搭建、界面设计、程序编写和联调测试的顺序完成,各环节工作如下: · 需求分析:面向夜间起床场景,明确“闻声即亮、延时自灭”的使用需求,确定免手动、防误亮、可显示的设计目标。 · 硬件搭建:以 T5L 为核心连接声音传感器、BH1750 光照传感器和 LED,完成 P1.4、P1.5 及 IIC 引脚分配。 · 界面设计:使用 DGUS 开发工具制作待机、点亮两页界面及背景素材,生成 DWIN_SET 下载文件。 · 程序编写:在 Keil 中按 USER、HANDWARE 分层组织工程,编写主控制逻辑、IIC 时序和 BH1750 驱动。 · 联调测试:下载 T5L51.bin 后验证声音触发、光照阈值、延时熄灭和页面切换,反复调整阈值与定时参数。 3.2 创新点 · 双传感器融合防误触:声音与光照采用“与”逻辑判断,从机制上杜绝白天误亮。 · 屏灯一体联动:灯光动作与屏幕页面、VP 数据同步,人机交互直观。 · 精确定时与节能:基于定时器实现毫秒级计时,10 秒自动熄灭,减少无效耗电。 · 平台化二次开发:基于 T5L+DGUS 分层架构,驱动与应用分离,便于后续功能扩展。 4 演示视频 https://b23.tv/ZBVD32f 5 附件上传
|