Skip to content

三基色(RGB)LED

更新: 4/10/2025 字数: 0 字 时长: 0 分钟

在前一节中,我们了解了如何点亮和控制单色的 LED。在本节中,我们将学习如何用 RGB LED 产生任意颜色。

准备

硬件说明图片
创意盒平台My Image
三基色LED淘宝购买链接
三基色LED淘宝购买链接
电源信号模块可选,根据您所购买的三基色LED的电压要求而定是否需要该模块

视频讲解

三基色LED

【画面】LOGO 【旁白】赛灵森创意盒,一站式电子DIY创意平台。

【画面】文字:三基色LED灯 【旁白】接下来,我们将为您介绍如何利用创意盒控制三基色LED灯。

【画面】三基色LED灯 【旁白】三基色LED灯里集成了三个单色LED,分别是红色,绿色和蓝色,通过这三种颜色的亮度组合,您可以创造出更多的颜色。

操作步骤 【画面】硬件连接视频 【旁白】R代表红色,G代表绿色,B代表蓝色,GND代表地 【旁白】使用杜邦线将创意盒的排针的第一个信号引脚和红色引脚连接,第二个信号引脚和绿色引脚连接,第三个信号引脚和蓝色引脚连接,连接创意盒和三基色LED的地。

【画面】使用三基色LED应用 【旁白】打开创意盒控制台,选择加载应用,选择灯光类应用并加载三基色LED应用。打开该应用,选择红色,绿色和蓝色和创意盒的连接引脚,输入。

【画面】控制LED画面 【显示文字】以该应用为例,您可以开发出单色LED的专属应用,助您快速实现电子创意。

连接

引脚

RGB LED 有四根引脚。其中短的三根引脚,分别控制三种颜色;而最长的那根引脚,则是公用的。如果是共阳(Common Anode)型,最长的引脚就是公共正极,需要连接到+5V 电源上。如果是共阴(Common Cathode)型,最长的引脚就是公共负极,需要接地。

My Image

但是哪个引脚代表哪个颜色?拿起 RGB LED,使最长的引脚靠左边。从左到右,引脚分别为:红色、公共负极或正极、绿色、蓝色。

使用

如何改变颜色

接下来我们来看下如何通过开发板,来改变 LED 的颜色。

以下的测试代码将循环显示红色、绿色、蓝色、黄色、紫色和青色。Arduino 有一个 analogWrite 函数,你可以将其用于带有~标记的引脚,输出可变的功率到相应的 LED。

原理

不同颜色的由来

乍一看,RGB LED 和普通的 LED 没啥区别。但其实,它的内部集成了三种不同颜色的发光元素:红色(Red)、绿色(Green)和蓝色(Blue),就好像把三个不同颜色的 LED 封装在了一起。通过控制每个单独 LED 的亮度,就可以混合出几乎任何颜色。

My Image

从红绿蓝到任意颜色

红、绿和蓝可以混合出任意颜色,是因为人眼对光的感知方式与光的三原色(红、绿、蓝)有关。

人眼中有三种视锥细胞,它们对光的感知分别对应红、绿和蓝色。当这三种光同时存在时,它们被混合在一起,我们的大脑会对这些光的强度进行加权组合,从而产生我们看到的颜色。

通过调整红、绿和蓝三种光的强度,我们可以控制它们在视锥细胞中的刺激,从而产生不同的视觉效果。例如,当红、绿、蓝三种光的强度均匀相等时,我们看到的是白光。如果我们只点亮红光和绿光,而关闭蓝光,我们就会看到黄色。通过适当地调整三种光的强度,我们可以创造出各种颜色,从而实现颜色的混合和变化。

My Image

调整每种颜色的亮度

要想得到某种特定的颜色,就需要调整红绿蓝三种原色的亮度。

在前一节中,我们了解到,调节电阻的大小,可以改变 LED 的亮度。所以控制颜色的传统方法,是在三个 LED 引脚上接上不同阻值的电阻,以此来控制电流大小,从而改变每种颜色的亮度。

但这种方法操作比较繁琐。我们可以直接利用开发板中的 PWM 功能,实现这个效果。

PWM

脉宽调制(Pulse Width Modulation,简称 PWM)是一种功率控制技术,广泛应用于各种电子设备和系统中,包括 LED 调光、电机速度控制、音频信号发生器等。

PWM 是通过在一个周期内改变信号的高电平时间来实现的。周期是指从一个脉冲的开始到下一个脉冲的开始所经历的时间。

My Image

通过改变脉冲的高电平时间,我们可以控制输出信号的平均功率。如果高电平时间占整个周期的很小一部分,那么输出信号的平均功率就会很低,设备会接收到较低的电力,从而降低亮度或速度。如果高电平时间占整个周期的很大一部分,那么输出信号的平均功率就会很高,设备会接收到更多的电力,从而增加亮度或速度。

在我们的开发板上,也可以运用 PWM 来控制每个 LED 的亮度。下图表显示了开发板上一个 PWM 引脚的信号:

My Image

每隔一个周期,PWM 引脚将产生一个脉冲。这个脉冲的长度由'analogWrite'函数控制。所以'analogWrite(0)'将不会产生任何脉冲,而'analogWrite(255)'将在整个周期内持续保持高电位,就好像直接连接了 5V 电源。

我们可以通过改变输入'analogWrite'函数的值,来控制输出脉冲的长度。比如,如果输出脉冲仅占 5%的周期,那么 LED 只能接收到全功率的 5%;如果输出脉冲占 90%的周期,那么 LED 可以接收到 90%的功率。

由于 PWM 的周期很短(大致 1/500 秒),肉眼无法观测到 LED 的开关状态,所以对我们来说,脉冲越短,LED 看起来越暗。我们就是通过这种方式来控制三个 LED 的亮度的。