3-Color Traffic Light LED JP

아두위키 : Arduwiki

信号機の形態でRed、Yellow、Greenの3色LEDを使用するモジュールです。

仕様

  • 動作電圧 : 5V
  • 動作電流 : LED各20mA


必要なハードウェア

  • 3色信号LEDモジュール
  • Arduino UNO
  • UNOケーブル
  • F-Mケーブル(4本)


接続

RYG端子は任意のピン番号をOUTPUTに設定して使用できます。

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 -> All on -> All 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);
    }
}


実行結果