全彩RGB灯

全彩LED灯控制原理

全彩 LED 灯, 实质上是一种把红、绿、 蓝单色发光体集成到小面积区域中的 LED 灯,控制时对这三种颜色的灯管输出不同的光照强度,即可混合得到不同的颜色,其混色原理与光的三原色混合原理一致。

例如,若红绿蓝灯都能控制输出光照强度为[0:255]种等级,那么该灯可混合得到使用RGB888 表示的所有颜色(包括以 RGB 三个灯管都全灭所表示的纯黑色)。

RGB 灯就是一种全彩 LED 灯,前面介绍 LED 基本控制原理的时候,只能控制 RGB 三色灯的亮灭, 即 RGB 每盏灯有[0:1]两种等级, 因此只能组合出 8种颜色。

要使用 STM32 控制 LED 灯输出多种亮度等级,可以通过控制输出脉冲的占空比来实现。
这里写图片描述
示例图中列出了周期相同而占空比分别为 100%、 80%、 50 和 20%的脉冲波形, 假如利用这样的脉冲控制 LED 灯, 即可控制 LED 灯亮灭时间长度的比例。若提高脉冲的频率,LED 灯将会高频率进行开关切换, 由于视觉暂留效应,人眼看不到 LED 灯的开关导致的闪烁现象,而是感觉到使用不同占空比的脉冲控制 LED 灯时的亮度差别。即单个控制周期内,LED 灯亮的平均时间越长,亮度就越高,反之越暗。把脉冲信号占空比分成 256 个等级, 即可用于控制 LED 灯输出 256 种亮度, 使用三种这样的信号控制 RGB 灯即可得到 256256256 种颜色混合的效果。 而要控制占空比,直接使用 STM32 定时器的 PWM 功能即可。

软件设计

控制 RGB 灯的颜色实质就是控制各个 PWM 通道输出脉冲的占空比, 而占空比可以通过设置定时器相应通道的输出比较寄存器值修改,又因为定时器已经把单个控制脉冲周期分成[0:255]份,然后控制时只要把 RGB888 各通道的颜色值直接赋予给输出比较寄存器即可。
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南山二毛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值