Hi,欢迎来到中国嵌入式培训高端品牌 - 华清远见嵌入式学院<北京总部官网>,专注嵌入式工程师培养13年!
当前位置: > 嵌入式学院 > 嵌入式学习 > 讲师博文 > 智能wifi小车-RGB三色LED灯驱动
智能wifi小车-RGB三色LED灯驱动
时间:2015-12-09作者:华清远见

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);

}


发表评论

全国咨询电话:400-611-6270,双休日及节假日请致电值班手机:15010390966

在线咨询: 曹老师QQ(3337544669), 徐老师QQ(1462495461), 刘老师 QQ(3108687497)

企业培训洽谈专线:010-82600901,院校合作洽谈专线:010-82600350,在线咨询:QQ(248856300)

Copyright 2004-2017 华清远见教育集团 版权所有 ,沪ICP备10038863号,京公海网安备110108001117号