我已经编写了这段简单的代码来测试我的arduino和RGB led。
int redled=11;
int blueled=10;
int greenled=9;
void setup()
{
pinMode(redled, OUTPUT);
pinMode(blueled, OUTPUT);
pinMode(greenled, OUTPUT);
}
void loop()
{
digitalWrite(greenled, HIGH);
digitalWrite(blueled, HIGH);
delay(1000);
digitalWrite(greenled, LOW);
digitalWrite(blueled, LOW);
delay(1000);
}
这是一张图片:
(220Ω电阻,如果你想知道的话。)
正如你所看到的,我已将绿色和蓝色编码为闪烁,但在我将其上传到我的arduino后,红色LED实际上闪烁了。为什么会这样?我该如何解决?
任何帮助将不胜感激!
更新:
当我完全拔掉红线时,程序按预期工作,但现在,当我重新插入时,它会闪烁如下:
WHITE 红色 白色 红色
现在有什么问题?
答案 0 :(得分:2)
您的问题是您没有关闭红色LED。关闭意味着由于您具有共阳极配置,因此引脚上需要HIGH
,因此当电压为LOW
(而不是HIGH
)时,LED元件会亮起。
您正在闪烁蓝色和绿色输出,但红色引脚始终为低电平。这意味着它已打开(因为共阳极处于+ 5V)。这是因为蓝色+绿色+红色=白色(当蓝色和绿色输出为LOW
时),而单独的红色显然是红色(当蓝色和绿色输出为HIGH
时)。
添加setup()
:
digitalWrite(redled, HIGH);