电子说
第1步:零件
- 一个Arduino(我使用的是Arduino UNO R3,但其他人也可以工作)
- 一个RGB Led(我使用的是共阳极,常见的)阴极也会工作)
- 面包板
- 一些电线
- 2电阻180欧姆(棕色,灰色,棕色,金色)
- 1电阻330欧姆(橙色,橙色,棕色,金色)
第2步:原理图
原理图非常简单。
如果你有一个普通的阳极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步:完成!
全部0条评论
快来发表一下你的评论吧 !