第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 - ”),那么它應(yīng)該工作(我沒有測試它)。
#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步:完成!
-
led
+關(guān)注
關(guān)注
242文章
23681瀏覽量
670502 -
Arduino
+關(guān)注
關(guān)注
188文章
6489瀏覽量
190027
發(fā)布評論請先 登錄
評論