📜  使用阵列闪烁各种LED

📅  最后修改于: 2020-12-27 09:45:04             🧑  作者: Mango

使用阵列闪烁各种LED

在前面的主题中,我们已经讨论了如何使单个LED,两个LED以及使用循环的LED闪烁。

在这里,我们将讨论一个使用阵列使五个LED闪烁的项目。所有五个LED都将一个接一个点亮。

所需硬件

该项目所需的组件如下:

  • 5个红色LED
  • 5 x 220欧姆电阻
  • Arduino UNO R3开发板
  • 跳线

我们可以根据自己的选择使用任何彩色LED。

原理

我们将五个LED连接到Arduino板的针脚13、12、8、4和2。电阻器所需的电阻足以点亮LED,而不会损坏电路板和其他组件。

接连排列的LED将点亮。我们还可以更改或重新排列连接到板上指定引脚号的LED。

项目结构

该结构清楚地显示了UNO板的引脚排列,并且五个串联的电阻LED均连接到该板上。

如下图所示:

连接

上面的项目的连接在下面讨论:

  • 将220欧姆的电阻器与五个LED串联。现在将其连接到Arduino板的插针编号13、12、8、4和2。
  • 将五个LED的负极端子连接到GND(接地)。

草图

下面是点亮五个LED的代码:

int timer = 500;           
int LEDPins[] = {13, 12, 8, 4, 2};       // an array of declared pin numbers on the board
int countOFpin = 6;           // the number of arrays
void setup() 
{
  // we have declared an array to intialize the LED pins as OUTPUT
  for (int PIN = 0; PIN < countOFpin; PIN= PIN + 1) 
{
    pinMode(LEDPins[PIN], OUTPUT);
  }
}
void loop()
 {
  // loop starting from the lowest pin in the array to the highest:
  for (int PIN = 0; PIN < countOFpin; PIN++) {
    // turns the pin ON:
    digitalWrite(LEDPins[PIN], HIGH);
    delay(timer);
    // turnS the pin OFF:
    digitalWrite(LEDPins[PIN], LOW);
  }
  // loop from the highest pin in the array to the lowest: 
  // It means the LEDs will light in the reverse direction as used above
  for (int PIN = countOFpin - 1; PIN >= 0; PIN- -)
 { 
    digitalWrite(LEDPins[PIN], HIGH);
    delay(timer);
    digitalWrite(LEDPins[PIN], LOW);
    // We can also specify the time inside the delay( ) instead of the delcaring the timer
  }
}

连接图

我们将使用模拟器来显示连接,因为连接变得更加清晰和精确。

我们可以使用硬件设备进行相同的连接。