如何制作渐变RGBLed

电子说

1.3w人已加入

描述

第1步:零件

- 一个Arduino(我使用的是Arduino UNO R3,但其他人也可以工作)

- 一个RGB Led(我使用的是共阳极,常见的)阴极也会工作)

- 面包板

- 一些电线

- 2电阻180欧姆(棕色,灰色,棕色,金色)

- 1电阻330欧姆(橙色,橙色,棕色,金色) 

第2步:原理图

led

原理图非常简单。

如果你有一个普通的阳极led(就像我一样)只需将它连接到+ 5v,如果你有一个共用的阴极引线将它连接到0v。

将另外3个引线连接到你的arduino上的3个PWM引脚之间用一个电阻器(值)取决于led)。

第3步:代码

代码有点困难但仍然公平这个代码仅适用于普通的阳极LED。

如果你想将它用于普通阴极LED,你将不得不改变所有的“analogWrite(COLOR,255 - colorVal);”行到“analogWrite(COLOR,colorVal);” (没有“255 - ”),那么它应该工作(我没有测试它)。

#define GREEN 3

#define BLUE 5

#define RED 6

#define delayTime 20

void setup(){

pinMode(GREEN,OUTPUT);

pinMode(BLUE,OUTPUT);

pinMode(RED,OUTPUT);

digitalWrite(GREEN,HIGH);

digitalWrite(BLUE,HIGH);

digitalWrite(RED,HIGH);

}

int redVal;

int blueVal;

int greenVal;

void loop() {

int redVal = 255;

int blueVal = 0;

int greenVal = 0;

for(int i = 0; i 《255; i + = 1){

greenVal + = 1;

redVal - = 1;

analogWrite(GREEN,255 - greenVal);

analogWrite(RED,255 - redVal);

delay(delayTime);

}

redVal = 0;

blueVal = 0;

greenVal = 255;

(int i = 0; i 《255; i + = 1){br》 blueVal + = 1;

greenVal - = 1;

analogWrite(BLUE,255 - blueVal);

analogWrite(GREEN,255 - greenVal);

delay(delayTime);

}

redVal = 0;

blueVal = 255;

greenVal = 0;

for(int i = 0; i 《255; i + = 1){

redVal + = 1;

blueVal - = 1;

analogWrite(RED,255 - redVal);

analogWrite(BLUE,255 - blueVal);

延迟(delayTime) ;

}}}

第4步:完成!

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分