Arduino RGB LED清除

时间:2011-12-02 20:18:40

标签: rgb arduino led

我有一个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);
它对我来说看起来不是棕色,更像是蓝色。 我错过了我需要做的事情吗?

3 个答案:

答案 0 :(得分:6)

布朗是一种非常难以实现的颜色。 (它实际上是深红色。布朗不在彩虹中。)

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

答案 1 :(得分:2)

Brown color example

它奇怪,但蓝色似乎与棕色完全相反,你正试图实现。而且,当我试图反转颜色(255 - x)时,我有蓝色。也许PWM配置出了问题?

答案 2 :(得分:2)

是RGB LED共阳极或共阴极,

通常RGB LED是共阳极。
这意味着:降低模拟写入值,提高亮度(发出的光线越多)

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

你还需要电阻器,注意蓝色与绿色或红色相同的抗蚀剂值发出更多的光,所以你需要设置更高的电阻值。