news 2026/6/9 18:35:32

构建智能呼吸灯:PWM调光技术在LED控制中的应用!

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
构建智能呼吸灯:PWM调光技术在LED控制中的应用!

随着智能照明系统的普及,具备动态光效的LED呼吸灯在氛围灯、状态指示等场景中备受青睐。聚焦于PWM调光技术在LED控制中的实际应用,阐述如何通过调节PWM信号的占空比与频率,实现灯光的平滑过渡与低闪烁呼吸效果,提升系统能效与用户体验。

本文特别分享PWM相关基础知识,并以Air8000核心板为例,演示LuatOS开发中如何使用PWM功能实现LED亮度控制及呼吸灯效果,帮助开发者快速上手。

一、PWM相关基础知识

PWM具有高效、控制精度高及实现简便等优点,但PWM信号可能产生高频噪声,需要滤波以减小干扰。另外,某些应用需要特定的硬件支持,如支持PWM输入的微控制器或电路。

要想使用PWM,还需先了解PWM的相关参数和原理。

1.1 PWM参数

PWM的频率:是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期),也就是说一秒钟PWM有多少个周期。 单位:Hz。

PWM的周期:T=1/f周期=1/频率

例如:如果频率为50Hz,T=1/50=0.02s,也就是说一个周期是20ms;

1s=1000ms,那么一秒钟就有50次PWM周期。

PWM的占空比:是一个脉冲周期内,高电平的时间占整个周期时间的比例。单位:% (0%-100%)

例如:一个周期10ms,高电平占8ms,那么此占空比就是8/10=80%。

1.2 PWM原理

单片机的IO引脚输出的是数字信号,且只能输出1和0,那如果 TTL电平中,高电平为5V,低电平为0V,但是我们想要输出不同的模拟电压,比如输出3.75V应该怎么操作?

此时要用到PWM,通过改变IO口输出方波的占空比,得到不同的模拟电压。

3.75/5=0.75,也就是高电平时间占整个周期的75%,即占空比为75%,可得到模拟电压3.75V。

注意上图中蓝线,代表着输出的模拟电压,占空比越大,则模拟电压也越大。

二、PWM应用示例

Air8000相关管脚具有复用功能,结合原理图引脚指示可知板载红色LED由PIN24 GPIO21控制。本示例demo中已有配置好的pins_Air8000.json文件,测试demo时一并烧录进Air8000核心板。

2.1 PWM输出示例

本例使用Air8000核心板上的NetLed(网络状态灯),pwm通道id=4,打开pwm4通道的pwm输出,设置不同的占空比,小灯会有不同的亮度。

2.2 PWM呼吸灯

本例使用Air8000核心板上的NetLed(网络状态灯),pwm通道id=4来查看呼吸灯效果。呼吸灯效果就是小灯由亮到暗逐渐变化,很有节奏感地一起一伏,好像人在呼吸的感觉。

我们可以通过不断调高占空比让小灯一点点亮起,再不断调低占空比让小灯一点点熄灭从而达到此效果。

今天的内容就分享到这里了~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 14:41:08

【干扰】基于恒虚警率的FMCW汽车雷达干扰抑制附Matlab复现和文献

✅作者简介:热爱科研的Matlab仿真开发者,擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室🍊个人信条:格物致知,完整Matlab代码获取及仿真…

作者头像 李华
网站建设 2026/6/8 14:58:31

实测国内支持Nano Banana pro的ai工具,解锁PPT可编辑新体验!

最近AI圈彻底被谷歌Nano Banana Pro(官方名Gemini 3 Pro Image)刷屏了——能精准渲染中文手写体笔记、8K风景插画秒速生成、逻辑严谨的产品说明书信息图,甚至连“用哪吒讲勾股定理”的科普漫画都能完美驾驭。后台被问爆的问题里,除…

作者头像 李华
网站建设 2026/6/8 4:21:44

MySQL常用内置函数详细介绍

文章目录一、字符串函数CONCAT()CONCAT_WS()SUBSTRING() / SUBSTR()LENGTH() / CHAR_LENGTH()REPLACE()TRIM() / LTRIM() / RTRIM()UPPER() / LOWER()LPAD() / RPAD()二、数值函数ROUND()CEIL() / CEILING() / FLOOR()ABS()MOD()RAND()POWER() / POW()SQRT()SIGN()三、日期和时…

作者头像 李华
网站建设 2026/6/8 19:47:50

千万不能忽视!选择口碑好的实验室净化机构有多重要

千万不能忽视!选择口碑好的实验室净化机构有多重要前言在科研、医疗和工业领域,实验室的洁净度直接关系到实验结果的准确性和可靠性。因此,选择一家口碑好、专业性强的实验室净化机构至关重要。本文将深入探讨选择口碑好的实验室净化机构的重…

作者头像 李华
网站建设 2026/6/8 19:15:32

新手前端必看:5分钟搞懂IIFE的作用与实战妙用

新手前端必看:5分钟搞懂IIFE的作用与实战妙用 新手前端必看:5分钟搞懂IIFE的作用与实战妙用JavaScript 世界里的“一次性魔法”IIFE 到底是个啥从匿名函数到立即执行语法长什么样?经典写法和现代变体全解析为什么开发者离不开 IIFE隔离作用域…

作者头像 李华
网站建设 2026/6/8 19:33:03

【golang】goland使用多版本go sdk的方法

背景 由于最近手动清理了macos的缓存,包括go缓存,导致“项目X”中go1.24 sdk 环境没有了。我本地全局环境是go1.20.14。"项目X"使用的是go1.24环境。 解决方法 https://golang.google.cn/dl/ 手动下载go1.25.5压缩包, goland 偏好设置 goroo…

作者头像 李华