RGB三色LED灯简介
RGB指的就是三基色光,R=红色,G=绿色,B=蓝色。LED芯片所发出的光一般都是蓝光,都是要通过红 绿 蓝这三种颜色的荧光粉去调颜色的。RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用广的颜色系统之一。
STM32CubeMX配置
PWM Dimming (脉宽调制)是LED佳的灰度调节方式。PWM说的容易理解些,就是控制LED开和关的时间比例,将开和关的时间比例划分为若干等级,LED就会显示出相应数量的灰阶。
PWM频率:刚才说了PWM就是打开和关闭LED的时间比例实现的,但是开关次数不能使太低,起码要欺骗过眼睛,借鉴电视机的经验一般大于100Hz,有条件的建议设计在300-500Hz较为合理。在三基色设计应用中通常是通过调节LED电流来达到白平衡和大的期望亮度,通过控制PWM来实现灰阶等级。
根据上图LED接线原理图,我们配置PB6~PB8为PWM输出。
设置PWM频率为500HZ
生成代码
工程配置完成后,点击图中所示菜单按钮,进行工程名称、路径、开发工具等的选择后,点击ok。
生成成功后弹出提示,点击打开工程
如果您的电脑中已安装所需开发工具,则会自动打开此工程。
源码
#include "rgb.h"
void RGB_Init(void)
{
HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_2);
HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_3);
}
void Change_RGB_Color(uint16_t red,uint16_t green,uint16_t blue)
{
__HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_1, blue);
__HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_2, green);
__HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_3, red);
}
嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!
无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。(点击找小助理领取)