1

我正在玩一个 Arduino Uno 和一个 RGB LED 灯带(宜家 Dioder 4 灯带,只有一个连接)。将 255 写入一种或两种颜色时,原色和次要颜色看起来不错。问题是当我想要白光(例如所有三个 LED 上的 255)时,它不会变成全白光,而是关闭。

我有一个连接到 Arduino 的以太网屏蔽和一个单独的 12V 直流电源。当我将电源连接到 Arduino 时,它可以工作,但调节器变得异常热(已知问题)。所以我直接将 LED 连接到 12V 电源(它们的额定电压为 12V,宜家的也是 12V)。只有这会导致问题。

在下面的程序中我可以很清楚地看到它。代码应该执行以下操作: 淡入红色;褪色为黄色;褪色为白色;重复。前两个很好,但是当它变白时,它会变黑。它只是关闭。我不知道为什么。

int redPin = 3;
int greenPin = 5;
int bluePin = 6;
int color[] = {3, 5, 6};
int i = 0;
int j = 0;

void setup(){
  pinMode(redPin, OUTPUT);
  pinMode(greenPin, OUTPUT);
  pinMode(bluePin, OUTPUT);

}

void loop(){
  for(i=0;i<=2;i++)
  {
    for(j=0;j<=255;j++)
    {
       analogWrite(color[i],j);
       delay(5);
    }
  }
  delay(1000);
  analogWrite(redPin, 0);
  analogWrite(bluePin, 0);
  analogWrite(greenPin, 0);

}
4

2 回答 2

2

由于它工作正常,然后由 Arduino 供电,我想这是硬件问题,而不是软件问题。Arduino 端口提供约 40mA 的电流,而 Dioder 的每种颜色同步约 140mA。您是否使用任何放大器,例如 FET 或 ULN2003?你可以发布你的原理图吗?

于 2013-09-05T03:40:07.703 回答
0

通过将 IC 的 GND和适配器的 (-) 侧连接到 Arduino 的 GND,问题已经解决(我认为) 。

于 2013-09-05T06:44:39.950 回答