迪文科技论坛

 找回密码
 立即注册
搜索
查看: 26|回复: 0

【分享】 王宇航 智能光控灯

[复制链接]

1

主题

0

回帖

20

积分

新手上路

Rank: 1

积分
20
发表于 4 天前 | 显示全部楼层 |阅读模式

基于 STM32 与迪文智能屏的智能光控灯1. 作品简介本作品是一套具有环境光检测、自动开关灯和手动调光功能的智能照明演示系统。系统采用 STM32F103C8T6 作为采集与控制主控,使用光敏电阻模块检测环境明暗,通过 PWM 调节 LED 亮度,并利用迪文 T5L 智能屏进行参数设置和状态显示。
用户可以在屏幕上切换手动与自动模式。在手动模式下,可直接调节灯光亮度;在自动模式下,系统根据环境光与设定阈值判断是否开灯。屏幕同时显示环境光百分比、输出亮度、运行状态、通信错误及接收计数,方便观察和排查问题。
作品适合用于智能照明原理展示和嵌入式教学。显示的环境光数值为相对百分比,并非经过标定的照度值。
2. 工作原理系统采用 STM32 与 T5L 分工协作的结构:
光敏电阻模块 AO        ↓STM32 PA0:ADC 采样、滤波与光照换算        ↓根据模式、亮度和暗阈值计算灯光输出        ↓STM32 PA6:输出 PWM → LED 亮度变化迪文屏触摸界面 ⇄ T5L C51 程序 ⇄ 串口通信 ⇄ STM32   设置参数                                      返回状态光敏模块将环境光变化转换为模拟电压,STM32 通过 PA0 进行 ADC 采样。程序对采样结果进行滤波,并换算为 0~100% 的相对环境光数值。屏幕提供光敏方向切换,使数值统一表现为“越亮越大、越暗越小”。
STM32 根据运行模式计算输出:
  • 手动模式:按屏幕设定的亮度输出 PWM。
  • 自动模式:环境光低于暗阈值时,以设定亮度开灯;环境光达到“暗阈值+5%”时关灯。两者之间保持原状态,减少临界点附近频繁闪烁。
  • 关闭或通信超时:停止灯光输出。
LED 采用低电平点亮接法:
3.3V → 限流电阻 → LED 阳极(长脚)                    LED 阴极(短脚)→ PA6PA6 输出约 1kHz 的 PWM,通过改变低电平持续时间调节亮度。修复后的程序使界面亮度与实际效果一致:0% 熄灭,100% 最亮。
T5L 内置 C51 程序读取界面设置,通过串口向 STM32 发送控制参数,并将 STM32 返回的环境光、输出亮度和状态写入屏幕显示变量,实现双向交互。
3. 设计思路设计采用“STM32 负责采集与执行,T5L 负责交互与显示”的分工方式。STM32 完成 ADC 采样、数据滤波、自动模式判断和 PWM 输出;屏幕内置 C51 完成界面变量处理和通信,使各部分职责清晰。
开发过程先验证手动调光和串口通信,再接入光敏采样与自动模式。针对调试中出现的亮度反向问题,根据 LED 阴极连接 PA6 的实际接法,将 PWM 改为低电平有效;针对遮挡后环境光数值增加的问题,通过光敏方向设置统一环境光含义,使自动模式能够正确判断明暗。
本作品的设计特点包括:参数可视化调整:亮度、模式和暗阈值均可在屏幕上修改,无需反复修改程序。
滤波与回差控制:减小采样波动和阈值附近反复开关灯的现象。
双向通信与状态反馈:既能下发设置,也能观察实际输出和通信状态。
适配不同采样方向:通过界面切换光敏方向,兼容模拟输出变化方向不同的模块。
异常处理:使用通信校验、参数范围检查及超时关灯机制,提高运行可靠性。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2026-11-4 11:40 , Processed in 0.041404 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表