shineblink控制全彩RGB LED
全彩RGB Led
- 一、实现功能
- 二、关于RGB Led控制的一些较深入的理论知识
- 三、接线图
- 四、完整代码
- 五、代码运行结果
一、实现功能
Core直接外接一个共阴极三色全彩RGB Led模块,并动态调整RGB Led的三色值。
二、关于RGB Led控制的一些较深入的理论知识
Core关于RGB Led提供的驱动库接口很简单,如果用户只是想简单的想通过调整RGB灯珠的三色比例进而显示自己想要的比较接近的色彩,则下面的内容完全不需要了解。
(1)如何用PWM线性的控制Led亮度
这个问题看起来简单,但实际上人眼对Led灯珠亮度的感知和PWM占空比并不是呈线性的关系,这里面有一套相关的理论计算公式,感兴趣的同学可以了解下Core网站的中的另一篇文章《基于CIE1931公式实现PWM对LED亮度的线性控制》。
Core已在RGB的驱动库中对PWM的输出根据CIE1931公式进行了相关矫正,所以用户可以不用考虑。
(2)白平衡问题
色彩学上当红绿蓝三原色的比例为3:6:1时才会显示出纯正的白色,所以当选者全彩色LED进行配色前,为了达到最佳亮度和最低地成本,应尽量选择三原色发光强度成大致为3:6:1比例地LED灯珠。但实际中由于各个LED灯珠厂家工艺的差别,会有些不同,所以这里需要调整RGB灯珠的三色比例。LED灯珠的三原色白平衡调节是一个比较复杂的工程,感兴趣的同学可以网上了解一下相关资料,这里仅提供两种比较粗略的仅适用于单颗RGB灯珠白平衡的调节方法以供参考
方法一:通过调整串联在R,G,B灯珠上的电阻阻值来达到三原色在相同色阶下亮度为3:6:1的比例
方法二:在用LIB_RGBledConfig(p1,p2,p3)函数初始化时,调整p1,p2,p3这三个百分比参数来达到白平衡目的。
三、接线图
四、完整代码
--配置共阴极RGB模块开始工作,模块的R,G,B引脚分别固定占用Core的D0,D1,D2引脚
--R,G,B系数都保持100%,即不考虑白平衡问题
LIB_RGBledConfig(100,100,100)
--设定初始RGB颜色,(255,0,255)为紫色
R = 255
G = 0
B = 255
--开始大循环
while(GC(1) == true)
do--每20毫秒更新一次颜色值(R和B不变,G逐渐增大到255后再次返回0)LIB_DelayMs(20)LIB_RGBledUpdate(R,G,B)G = G + 1if G >= 255 thenG = 0end
end
五、代码运行结果
可以看到最开始RGB灯珠是紫色,随着绿色的成分逐渐增加,灯珠逐渐变成白色,当白色带到最亮状态后又会回到最初的紫色状态。
下图为RGB灯最初的紫色状态:
更多详情请参看 shineblink.com官网链接
shineblink控制全彩RGB LED相关推荐
- 01. 全彩RGB LED灯模块使用教程
全彩RGB LED灯模块使用教程 (适用于Arduino,micro:bit等常见单片机) 文章目录 全彩RGB LED灯模块使用教程 RGB灯模块简介 一.参数介绍 二.使用步骤 1.引脚说明 2. ...
- 基于STM32单片机三色全彩RGB LED灯控制系统 原理图PCB程序设计
硬件电路的设计 (末尾附文件) 系统硬件系统分析设计 系统功能设计 本系统由STM32F103C8T6单片机核心板.RGB灯驱动.按键组成. 1.系统实时驱动RGB灯进行显示不同颜色,颜色调整可以通过 ...
- 距离传感器控制灯泡代码_生迪全彩智能 LED 灯泡体验评测
市面上大多数智能灯具无外乎智能控制,冷暖标准区间的简单调光,仅仅满足我们日常照明之外,似乎用处不多.如果有一款能在自己房间制造多彩氛围的灯泡就好了. 这次有幸体验到了华为智能家居生态链产品生迪全彩智能 ...
- 智能灯控制页面用HTML编写,3分钟教你创建手机APP控制全彩智能灯泡应用,图形化编程!...
本帖最后由 bigfanofloT 于 2016-9-22 22:33 编辑 对,你没有看错!!!3分钟教你创建手机APP控制全彩智能灯泡应用,图形化编程,自动代码生成,麻麻再也不用担心我不会编程了, ...
- Arduino使用SK6812(WS2812) 全彩RGB模块/ArduinoC、Mixly/Scartch
目录 编辑 1.概述 2.规格参数 3.实验器材 4.连接图 5.测试程序 (1)在Arduino IDE上使用 (2)在Mixly上使用 (3)在Scartch上使用程序 相关资料下载链接 1.概 ...
- 【基于 STM32CubeMX + PWM + DMA驱动SW2812b全彩RGB灯】
基于 STM32CubeMX + PWM + DMA驱动SW2812b全彩RGB灯 STM32CubeMX配置: 工程源码: END 以上就是相关配置,最需要注意的就是时钟以及pre数值以及芯片时钟频 ...
- 本周大新闻|传微软解散工业元宇宙团队,MIT研发垂直堆叠全彩Micro LED
本周大新闻,AR方面,消息称微软解散工业元宇宙团队:德国AR公司Gixel GmbH亮相:Brilliant推出单片式附加形态AR眼镜:MIT研发垂直堆叠全彩Micro LED:谷歌XR串流正式上线. ...
- STM32F427库函数配置DMA驱动TIM5 PWM驱动WS2812B单总线全彩RGB
STM32F427库函数配置DMA驱动TIM5 PWM驱动WS2812B单总线全彩RGB 系列文章传送门: STM32F4多路PWM DMA控制千颗WS2812/SK6812配置过程全解析 STM32 ...
- 【小项目关键技术五】控制全彩 WS2812 灯环/灯带
Ref: Arduino控制WS2812灯带(灯环) #include <FastLED.h>#define LED_PIN 13// Information about the LED ...
最新文章
- struts2之二(输入校验)
- 设计模式:选择排序(select sorting)
- Thymeleaf th:include、th:replace使用
- play 拦截器_编写Play 2的模块,第2部分:拦截器
- ROS中常见坐标系定义及基本单位
- 【云栖计算之旅】线下沙龙第2期精彩预告:Docker在云平台上的最佳实践
- ZZULIOJ 1127: 矩阵乘积
- CVE-2015-1642 POC
- PATH和CLASSPATH
- C++串行编程步骤介绍
- TextBox多行输入时,屏蔽回车键
- Ubuntu 14.04 java环境安装配置(不是openJAVA)
- 场编码MBAFF相关
- 【Xamarin】使用TLS 1.2保护Web请求
- 全新Java高级工程师学习路线图(附学习资料)
- 2021年“泰迪杯”数据分析技能B题-肥料登记数据分析赛题
- windows 8.1安装VS2005出现安装失败:未能安装.NET framework 3.5解决方案
- FC网络光纤通信 c语言实现,[2018年最新整理]光纤通信实验指导书(含原理).doc
- PowerVR性能建议-黄金法则
- LED点阵屏中“鬼影”现象的分析与解决
热门文章
- 面向对象程序设计(Java)chapter01
- 阿里云盘又搞事,最新福利码来了!限时!
- Southern and Volga Russia Qualifier 2019-2020 gym102348
- 2022年IEEE Fellow名单正式公布,清华教授、阿里云李飞飞等73位华人上榜
- Python中*args和**kwargs的使用方法
- [msdn] WritePrivateProfileString 写入配置文件
- 第八次qianduan
- String boot 整合rabbitMQ
- itextpdf通过pdf模板生成pdf文件
- 之前用着好好的,最近突然pandas不能用了