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

[复制链接]
856|18
 楼主| 柴库柴库 发表于 2025-4-24 23:06 | 显示全部楼层 |阅读模式
使用 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输出引脚。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

80

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部