3-Color Traffic Light LED CN

아두위키 : Arduwiki

信号灯的形式使用Red、Yellow、Green三种颜色的LED模块。

规格

  • 工作电压 : 5V
  • 工作电流 : 每个LED 20mA


所需硬件

  • 3色信号灯LED模块
  • Arduino UNO
  • UNO连接线
  • F-M连接线(4根)


连接

RYG端子可以设置为任意输出引脚并使用。

3色LED模块 Arduino UNO
GND GND
R D3(可修改)
Y D4(可修改)
G D5(可修改)


示例代码

// 设置要使用的引脚编号
#define ledR 3
#define ledY 4
#define ledG 5

void setup()
{
    // 将要使用的引脚设置为OUTPUT模式
    pinMode(ledR, OUTPUT);
    pinMode(ledY, OUTPUT);
    pinMode(ledG, OUTPUT);
}

void loop()
{
    // 编写LED点亮循环
    // 点亮顺序(R -> off -> Y -> off -> G -> off -> 全部点亮 -> 全部熄灭)
    turnON(3);
    delay(500);
    turnOFF(3);
    delay(500);
    turnON(4);
    delay(500);
    turnOFF(4);
    delay(500);
    turnON(5);
    delay(500);
    turnOFF(5);
    delay(500);
    turnON(1);
    delay(500);
    turnOFF(1);
    delay(500);
}

// 点亮LED的函数
void turnON(int x)
{
    // 3,4,5分别对应R,Y,G;如果是1,则点亮所有LED
    if (x == 3)
    {
        digitalWrite(ledR, HIGH);
    }
    else if (x == 4)
    {
        digitalWrite(ledY, HIGH);
    }
    else if (x == 5)
    {
        digitalWrite(ledG, HIGH);
    }
    else if (x == 1)
    {
        digitalWrite(ledR, HIGH);
        digitalWrite(ledY, HIGH);
        digitalWrite(ledG, HIGH);
    }
}

// 熄灭LED的函数
void turnOFF(int x)
{
    // 3,4,5分别对应R,Y,G;如果是1,则熄灭所有LED
    if (x == 3)
    {
        digitalWrite(ledR, LOW);
    }
    else if (x == 4)
    {
        digitalWrite(ledY, LOW);
    }
    else if (x == 5)
    {
        digitalWrite(ledG, LOW);
    }
    else if (x == 1)
    {
        digitalWrite(ledR, LOW);
        digitalWrite(ledY, LOW);
        digitalWrite(ledG, LOW);
    }
}

== '''执行结果''' ==