2013-06-27 114 views
0

不應該我會發布波紋管的代碼讓我褪色的RGB LED從0到255,然後回到0等無限循環?Arduino衰落細節

在它只是消失的那一刻增長大,但隨後它不牛逼淡出,它閃爍了一下,但隨後再次完全在255

void setup() 
{ 
Serial.begin(9600); 

pinMode(greenPin, OUTPUT); 
pinMode(redPin, OUTPUT); 
pinMode(bluePin, OUTPUT); 

fade = 0; 

} 

void loop() 
{ 

    while(fade < 256) 
    { 
    analogWrite(redPin, fade); 
    delay(30); 
    analogWrite(greenPin, fade); 
    delay(30); 
    analogWrite(bluePin, fade); 
    delay(30); 
    fade++; 
    } 
    while(fade > 0) 
    { 
     analogWrite(redPin, fade); 
    delay(30); 
    analogWrite(greenPin, fade); 
    delay(30); 
    analogWrite(bluePin, fade); 
    delay(30); 
    fade--; 
    } 
} 

回答

1

供電如果褪色是一個字節:

淡入到256 - > 00! 所以第二環路將是「非常短的」 :-)

我僅在第一循環使用建議:

while(fade < 255) 

然後它停止在255例如0xff

第二次應該正常運行。

0

怎麼樣一個死循環:

fade = 0; 
step = 1; 
while(1) 
    { 
    step = fade == 0 ? 1 : (fade == 255 ? -1 : step); 
    fade += step; 
    analogWrite(redPin, fade); 
    delay(30); 
    analogWrite(greenPin, fade); 
    delay(30); 
    analogWrite(bluePin, fade); 
    delay(30); 
    }