これは確かに LEDフェードの誤動作(ランダムフラッシュ)からのクロスポストですが、Arduinoフォーラムで回答を得ることができません。
私はいじくり回していましたいくつかの非常に基本的なコードで、LEDを0の明るさで1秒間繰り返し保持してから完全な明るさにフェードインすると、各フェードの開始時に小さなフラッシュが発生することがあります(一見ランダムに見えます)。
int led = 11; int bright = 0; void setup(){pinMode(led、OUTPUT);} void loop(){if(brightness > = 256)//明るさをチェックします255を通過し、0にリセットされます{analogWrite(led、255);明るさ= 0; } analogWrite(led、brightness); if(brightness == 0){delay(1000); // LEDが1秒間オフ} brightness + = 1; //輝度遅延をインクリメント(20);}
つまり、私が完全に困惑しているのは、別のコード(以下)を使用でき、フラッシュが消えることです!
int i = 0; int led = 11; void setup(){pinMode(led、OUTPUT);} void loop(){analogWrite(led、i); delay(6); if (i%256 == 0){i = 0; delay(1000);} i ++;}
これが発生する理由について誰かが手がかりを得ましたか?どちらのプログラムも基本的に同じコードですが、最初のプログラムではiが0にリセットされ、2番目のプログラムでは、analogWrite 'がオーバーフローするように255を超えてインクリメントし続けます。ファームウェア(またはソフトウェア?)の問題だと思います。
YouTubeに Arduino-LEDのフェージングの問題というビデオがあります。 p>