Arduino LED 的思考题

之前做了几块 LED Shield,焊接的是高亮的LED,在使用的发现实在是太亮了,排在一起很难分辨清楚,于是,重新买的普通LED焊接了一下。

image001

0-7放的是红色LED,8-13放的是蓝色LED。可以看到,他们都能工作。

led2

led3

但是如果写出来下面这样的代码,只有红色LED工作:
for (int i=0;i<14;i++) {
pinMode(i,OUTPUT);
digitalWrite(i,HIGH);
}
进一步实验发现,只要有一个红色的亮了,那么蓝色的就没有办法亮起来。

这就是我碰到的问题,有兴趣的朋友可以开始思考原因了。答案在下面。

...
...
...
...

...
...

...
...

...
...

...
...

...
...

...
...

...
...

...
...

...
...

...
...

最终,发现这个问题是因为红色LED压降低导致的,比如,亮起来一个红色之后,对GND的电阻上的电压只有3.3V了,而蓝色LED需要2.6V左右的压降才能工作,因此蓝色LED就没有办法亮起来了。
从设计上来说,这个问题是因为LED的地都接到一起导致的,如果能够独立就不会有这样的问题。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注