0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Arduino控制RGB LED

科技观察员 来源:electroschematics 作者:electroschematics 2024-02-11 10:28 次阅读

在本指南中,您将学习如何使用Arduino控制RGBLED。RGB(红-绿-蓝)LED可以通过混合不同强度的红、绿、蓝光来产生多种颜色。您将学习创建一个基本Arduino RGB LED电路,并以一些基本颜色为例循环。

使用提供的原理图和试验板图像,以及下面的示例代码,您应该拥有轻松设置和控制RGBLED颜色输出所需的一切。

所需零件

ArduinoUno的

面包板(和一些面包板电线)

3x电阻(220Ω)

RGB发光二极管

RGBLED有两种类型:共阳极和共阴极。我们将在下面提供两种类型的示例原理图和代码。

如何将RGBLED连接到Arduino

这是电路原理图。该图使用三个电阻器和一个共阳极RGBLED(您将在下面找到共阴极的原理图)。

1.png

如果您使用的是共阳极LED,则需要将共阳极引脚连接到5V,如下所示:

2.png

在试验板上连接电路的步骤

如果您使用的是共阴极RGBLED,请将阴极连接到Arduino上的GND引脚。如果您的RGBLED是公共阳极,请将阳极连接到Arduino上的5V引脚。

将LED的红色、绿色和蓝色支腿分别连接到Arduino的引脚11、10和9,每个引脚都通过一个220欧姆电阻器。

确保您的Arduino通过USB电缆连接到计算机。

使用下面的面包板图像之一作为设置连接的视觉指南:

3.png

连接到Arduino的共阴极RGBLED

4.png

连接到Arduino的共阳极RGBLED

上传ArduinoRGBLED代码

使用ArduinoIDE将下面的代码上传到您的Arduino,您应该会看到LED循环使用不同的颜色,每种颜色停止一秒钟。

RGBLED(共阴极)的完整Arduino代码:

int redPin= 11;
int greenPin = 10;
int bluePin = 9;

void setup() {
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}

void loop() {
  setColor(255, 0, 0); // Red Color
  delay(1000);
  
  setColor(0, 255, 0); // Green Color
  delay(1000);
  
  setColor(0, 0, 255); // Blue Color
  delay(1000);
  
  setColor(255, 255, 0); // Yellow Color
  delay(1000);

  setColor(0, 255, 255); // Cyan Color
  delay(1000);
  
  setColor(255, 0, 255); // Magenta Color
  delay(1000);
  
  setColor(255, 165, 0); // Orange Color
  delay(1000);
  
  setColor(128, 0, 128); // Purple Color
  delay(1000);
  
  setColor(255, 255, 255); // White Color
  delay(1000);
}

void setColor(int redValue, int greenValue, int blueValue) {
  analogWrite(redPin, redValue);
  analogWrite(greenPin, greenValue);
  analogWrite(bluePin, blueValue);
}

如果您使用的是共阳极RGBLED,则与共阴极RGBLED相比,逻辑是相反的。在共阴极RGBLED中,您为特定引脚提供电源(HIGH)以打开颜色。对于共阳极RGBLED,将特定引脚接地(LOW)以打开颜色。

因此,对于普通阳极RGBLED,要设置颜色,您需要在应用之前从最大值(即255)中减去每个颜色值。此反转可确保特定颜色的值为255(全强度)会导致该颜色被关闭,而值为0(无强度)会导致该颜色完全打开。

RGBLED(共阳极)的完整Arduino代码:

int redPin= 11;
int greenPin = 10;
int bluePin = 9;

void setup() {
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);
}

void loop() {
  setColor(255, 0, 0); // Red Color
  delay(1000);
  
  setColor(0, 255, 0); // Green Color
  delay(1000);
  
  setColor(0, 0, 255); // Blue Color
  delay(1000);
  
  setColor(255, 255, 0); // Yellow Color
  delay(1000);

  setColor(0, 255, 255); // Cyan Color
  delay(1000);
  
  setColor(255, 0, 255); // Magenta Color
  delay(1000);
  
  setColor(255, 165, 0); // Orange Color
  delay(1000);
  
  setColor(128, 0, 128); // Purple Color
  delay(1000);
  
  setColor(255, 255, 255); // White Color
  delay(1000);
}

void setColor(int redValue, int greenValue, int blueValue) {
  analogWrite(redPin, 255 - redValue);
  analogWrite(greenPin, 255 - greenValue);
  analogWrite(bluePin, 255 - blueValue);
}

代码的工作原理

此代码首先通过变量redPin、greenPin和bluePin设置RGBLED引脚。如果您使用的引脚与示例电路中的引脚不同,请更改这些引脚。

然后,代码以红色、绿色、蓝色、黄色、青色、品红色、橙色、紫色和白色点亮RGBLED,并在每种颜色上暂停一秒钟。

结论

通过更改函数中的值来尝试不同的颜色组合!请记住,RGBLED结合了红光、绿光和蓝光来产生多种颜色。您现在可以使用Arduino和RGBLED创建彩色显示器!
审核编辑:陈陈

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22449

    浏览量

    645877
  • RGB
    RGB
    +关注

    关注

    4

    文章

    763

    浏览量

    57407
  • Arduino
    +关注

    关注

    184

    文章

    6427

    浏览量

    184834
收藏 人收藏

    评论

    相关推荐

    arduino + wiscam 基于Windows控制RGB

    串口与Arduino串口连接,上位机软件发送控制指令到Wiscam,Wiscam通过透传串口将数据传到ArduinoArduino通过PWM控制
    发表于 06-29 17:49

    如何通过MQTT控制RGB LED

    灯条驱动板。如果我将一个简单的草图上传到控制 PWM 的 WeMos,我的 RGB LED 灯带会在颜色之间淡化。所以所有硬件都在工作。我已将 OpenHAB 设置为使用 ColorPicker 来选择颜色,但我不确定要在 W
    发表于 05-23 06:44

    ArduinoLED RGB模块HC-06开源

    电子发烧友网站提供《ArduinoLED RGB模块HC-06开源.zip》资料免费下载
    发表于 07-07 15:17 2次下载
    <b class='flag-5'>Arduino</b>条<b class='flag-5'>LED</b> <b class='flag-5'>RGB</b>模块HC-06开源

    RGB LED褪色Arduino库开源分享

    电子发烧友网站提供《RGB LED褪色Arduino库开源分享.zip》资料免费下载
    发表于 10-27 14:25 0次下载
    <b class='flag-5'>RGB</b> <b class='flag-5'>LED</b>褪色<b class='flag-5'>Arduino</b>库开源分享

    Ameba Arduino:使用WS2812B 4x4 RGB LED

    电子发烧友网站提供《Ameba Arduino:使用WS2812B 4x4 RGB LED.zip》资料免费下载
    发表于 10-28 09:17 0次下载
    Ameba <b class='flag-5'>Arduino</b>:使用WS2812B 4x4 <b class='flag-5'>RGB</b> <b class='flag-5'>LED</b>

    Arduino Uno与RGB LED连接

    电子发烧友网站提供《将Arduino Uno与RGB LED连接.zip》资料免费下载
    发表于 11-14 11:35 1次下载
    将<b class='flag-5'>Arduino</b> Uno与<b class='flag-5'>RGB</b> <b class='flag-5'>LED</b>连接

    使用Arduino和Python Tkinter进行RGB Led控制

    电子发烧友网站提供《使用Arduino和Python Tkinter进行RGB Led控制.zip》资料免费下载
    发表于 11-30 12:00 0次下载
    使用<b class='flag-5'>Arduino</b>和Python Tkinter进行<b class='flag-5'>RGB</b> <b class='flag-5'>Led</b><b class='flag-5'>控制</b>

    Arduino上使用共阴极和共阳极RGB LED

    电子发烧友网站提供《在Arduino上使用共阴极和共阳极RGB LED.zip》资料免费下载
    发表于 12-12 14:33 0次下载
    在<b class='flag-5'>Arduino</b>上使用共阴极和共阳极<b class='flag-5'>RGB</b> <b class='flag-5'>LED</b>

    使用Arduino Uno的多个RGB Led Chaser

    电子发烧友网站提供《使用Arduino Uno的多个RGB Led Chaser.zip》资料免费下载
    发表于 12-15 10:00 0次下载
    使用<b class='flag-5'>Arduino</b> Uno的多个<b class='flag-5'>RGB</b> <b class='flag-5'>Led</b> Chaser

    基于Arduino UNO的带遥控器环境灯

    本方案是基于 Arduino UNO 的带遥控器环境灯,在本方案中,我们将学习如何使用 433MHz 射频遥控器和 Arduino 控制 RGB L
    发表于 12-22 11:33 0次下载

    Arduino控制RGB LED灯条

    电子发烧友网站提供《Arduino控制RGB LED灯条.zip》资料免费下载
    发表于 12-29 11:39 3次下载
    <b class='flag-5'>Arduino</b><b class='flag-5'>控制</b>的<b class='flag-5'>RGB</b> <b class='flag-5'>LED</b>灯条

    Arduino RGB Led控制通过PC

    电子发烧友网站提供《Arduino RGB Led控制通过PC.zip》资料免费下载
    发表于 02-09 11:30 0次下载
    <b class='flag-5'>Arduino</b> <b class='flag-5'>RGB</b> <b class='flag-5'>Led</b><b class='flag-5'>控制</b>通过PC

    带有Arduino Uno的RGB LED雪花

    电子发烧友网站提供《带有Arduino Uno的RGB LED雪花.zip》资料免费下载
    发表于 06-16 10:19 2次下载
    带有<b class='flag-5'>Arduino</b> Uno的<b class='flag-5'>RGB</b> <b class='flag-5'>LED</b>雪花

    如何使用ArduinoRGB Led产生16M色

    电子发烧友网站提供《如何使用ArduinoRGB Led产生16M色.zip》资料免费下载
    发表于 06-28 14:44 0次下载
    如何使用<b class='flag-5'>Arduino</b>的<b class='flag-5'>RGB</b> <b class='flag-5'>Led</b>产生16M色

    使用Arduino的Android控制RGB LED灯条

    电子发烧友网站提供《使用Arduino的Android控制RGB LED灯条.zip》资料免费下载
    发表于 07-05 09:45 2次下载
    使用<b class='flag-5'>Arduino</b>的Android<b class='flag-5'>控制</b><b class='flag-5'>RGB</b> <b class='flag-5'>LED</b>灯条