柴库柴库 发表于 2025-4-24 23:06

如何使用 PWM 调整 RGB LED 的颜色?

使用 STM32L432KC 开发板 (nucleol432kc) 和热敏电阻来获取温度,然后将该温度显示在 LCD上,根据温度值打开具有不同温度范围的 RGB LED对应于不同的颜色(例如,温度低于 20 摄氏度,蓝色 LED 亮起......等)每个组件目前都运行良好,目前不明白的是如何使用 PWM将LED颜色更改为不同的 RGB 混合。

公羊子丹 发表于 2025-4-25 07:37

我之前也玩过这个板子,用PWM调RGB真的蛮有趣的,你的温控+变色思路不错!你打算用TIMx的哪个通道做PWM输出啊?

周半梅 发表于 2025-4-25 07:38

感觉这个项目很实用!RGB混色的话可以三个通道分别调占空比,模拟出各种颜色,有没有尝试用TIM1或TIM2的PWM模式?

帛灿灿 发表于 2025-4-25 07:38

是不是遇到颜色不太对的问题?我之前用共阳RGB灯的时候,反向PWM差点搞晕了

童雨竹 发表于 2025-4-25 07:39

你用的RGB是共阴还是共阳的啊?不一样的接法PWM控制会完全相反,小心这个坑!

万图 发表于 2025-4-25 07:40

有考虑过线性过渡颜色吗?比如从蓝色渐变到红色,中间过渡更丝滑,视觉效果很赞!

Wordsworth 发表于 2025-4-25 07:41

建议你写个简单的颜色映射表,比如温度从10到40度,映射成渐变色,再配合PWM输出占空比就行啦。

Bblythe 发表于 2025-4-25 07:42

用CubeMX直接配置PWM通道很方便的,调占空比也简单,HAL库的__HAL_TIM_SET_COMPARE()直接调就能改颜色了!

Pulitzer 发表于 2025-4-25 07:43

是不是你PWM频率太低了?我之前颜色闪得跟鬼片一样,后来调成1kHz以上就顺眼多了。

Uriah 发表于 2025-4-25 07:44

你的RGB接在哪三个GPIO口上?有些引脚默认不是TIM的通道,要小心选对定时器。

Clyde011 发表于 2025-4-25 07:44

我现在也在用STM32L4搞一个环境监测的小项目,感觉这个RGB温控的点子可以借鉴一下,感谢分享!

温室雏菊 发表于 2025-5-18 16:13

使用PWM(脉宽调制)控制RGB LED的颜色混合是一种常见的技术。

捧一束彼岸花 发表于 2025-5-18 16:15

RGB LED通常有四个引脚:一个公共阴极(或阳极)和三个分别对应红、绿、蓝的阳极(或阴极)。

西洲 发表于 2025-5-18 16:20

一般就是配置PWM的占空比实现对颜色的调整

白马过平川 发表于 2025-5-18 18:01

RGB LED通常由三个独立的LED(红、绿、蓝)组成,通过调节每个LED的亮度,可以混合出不同的颜色。

风凉 发表于 2025-5-18 19:48

选择一个定时器(如TIM2)。配置三个PWM通道(例如CH1、CH2、CH3),分别对应红、绿、蓝三个LED。设置PWM频率,通常选择1kHz到20kHz之间的频率。设置PWM占空比为50%以开始。

故意相遇 发表于 2025-5-18 20:30

.PWM占空比,占空比决定了LED的亮度,值越大,LED越亮。占空比的范围通常为0到ARR(自动重载寄存器)的值。

失物招領 发表于 2025-5-18 21:01

温度范围和颜色,你可以根据需要调整温度范围和对应的颜色混合。

她已醉 发表于 2025-5-18 22:00

定时器配置,确保定时器的自动重载值(ARR)和预分频器(PSC)配置正确,以满足PWM频率的要求

春日负喧 发表于 2025-5-19 01:00

STM32L432KC具有多个PWM输出引脚,你可以选择任意支持PWM的引脚。通常选择TIM2、TIM3等定时器的PWM输出引脚。
页: [1]
查看完整版本: 如何使用 PWM 调整 RGB LED 的颜色?