3

我有一个 RGB LED 并且有 9、10、11 的引脚和接地的引脚。已为 R、G 和 B 提供电阻器。

当我做:

  analogWrite(r, 255); // I see a red color
  analogWrite(g, 0);
  analogWrite(b, 0);

  analogWrite(r, 0);
  analogWrite(g, 255); // I see a green color
  analogWrite(b, 0);

  analogWrite(r, 0);
  analogWrite(g, 0); // I see a blue color
  analogWrite(b, 255);

当我做:

  analogWrite(r, 153);
  analogWrite(g, 102);
  analogWrite(b, 51);

对我来说它看起来不像棕色,更像是蓝色。我错过了我需要做的事情吗?

4

3 回答 3

6

棕色是一种很难实现的颜色。(它实际上是深红色。棕色不在彩虹中。)

确保你的颜色是平衡的:写一个暗白色/灰色,128、128、128,并确保它看起来是白色的。然后写一个 255, 255,255 并确保它看起来是白色的。如果这些看起来不是白色的,请调整电阻以减少通过太亮组件的电流(注意不要允许太多电流并烧坏 LED。

于 2011-12-02T20:24:22.287 回答
2

棕色示例

它很奇怪,但蓝色似乎与您试图实现的棕色完全相反。此外,当我尝试反转颜色 (255 - x) 时,我得到了蓝色。也许PWM配置有问题?

于 2011-12-02T20:36:40.807 回答
2

是RGB LED共阳极或共阴极,

通常RGB LED是共阳极。
这意味着:analogWrite 值越低,亮度越高(发出的光越多)

http://www.hertaville.com/wp-content/uploads/2011/07/rgb.jpg

您还需要电阻器,请注意,在具有相同电阻值的情况下,蓝色比绿色或红色发出更多的光,因此您需要设置更高的电阻值。

于 2011-12-05T18:37:38.793 回答