在本指南中,您将学习如何使用arduino控制rgbled。rgb(红-绿-蓝)led可以通过混合不同强度的红、绿、蓝光来产生多种颜色。您将学习创建一个基本arduino rgb led电路,并以一些基本颜色为例循环。
使用提供的原理图和试验板图像,以及下面的示例代码,您应该拥有轻松设置和控制rgbled颜色输出所需的一切。
所需零件
arduinouno的
面包板(和一些面包板电线)
3x电阻(220ω)
rgb发光二极管
rgbled有两种类型:共阳极和共阴极。我们将在下面提供两种类型的示例原理图和代码。
如何将rgbled连接到arduino
这是电路原理图。该图使用三个电阻器和一个共阳极rgbled(您将在下面找到共阴极的原理图)。
如果您使用的是共阳极led,则需要将共阳极引脚连接到5v,如下所示:
在试验板上连接电路的步骤
如果您使用的是共阴极rgbled,请将阴极连接到arduino上的gnd引脚。如果您的rgbled是公共阳极,请将阳极连接到arduino上的5v引脚。
将led的红色、绿色和蓝色支腿分别连接到arduino的引脚11、10和9,每个引脚都通过一个220欧姆电阻器。
确保您的arduino通过usb电缆连接到计算机。
使用下面的面包板图像之一作为设置连接的视觉指南:
连接到arduino的共阴极rgbled
连接到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创建彩色显示器!
应用材料公司荣获英特尔公司首选优质供应商奖
USB Type-C开始一统接口标准,连接器的数量会越来越少
华为nova2主打颜值和拍照,为什么一直不火呢?
安全重于泰山 人工智能助力动车段创新管理
GPIO的八种工作模式
如何使用Arduino控制RGB LED
数据是因为区块链技术变成资产的吗
PowerLab 设计具体都包含了些什么?
鉴释宣布加入RISC-V基金会、Linux基金会、seL4基金会与ioXt联盟,旨在实现静态代码分析服务的全方位赋能
音箱分频器的作用_音箱分频器电容的性能要求
进度加快!台积电2019年上半年试产5nm制程
什么是嵌入式工控主板,嵌入式工控主板的分类和应用有哪些?
别再用锤子砸了,这才是轴承拆卸的正确方法!
人工智能在新时代具备怎样的潜力
自耦减压起动器的常见故障
简单介绍下LDO分类
UBS to RS232 转接线(PL-2303HX)的特性
英特尔与百度覆盖端-边-云的全面合作,推动5G+AI能力落地与商用
物联网咖啡机制作图解
防雨淋性测试仪简介