Menu
CoddyTech

信号機のサイクル

CoddyのArduinoジャーニー「プロジェクト」セクションの一部。レッスン 1/24。

このプロジェクトでは、車用の信号、より適切なタイミング、歩行者用のボタン、ブザー付きの歩行者用信号の4つの手順で、横断歩道を作ります。横断歩道の回路はすでに配線されているため、どの手順でも回路は変わりません。今日は車用の3つの信号だけを使います。

信号機は同じ手順を繰り返し続けます。青、黄、赤、そして再び青です。それぞれの手順では、1つの信号が点灯し、ほかの2つが消灯した状態がしばらく続きます。

同じ数行のコードが何度も現れる場合は、それらを関数にまとめます。この関数は、渡された信号を点灯させ、ほかの信号を消灯させます。

void showLight(int pin) {
  digitalWrite(redPin, LOW);
  digitalWrite(yellowPin, LOW);
  digitalWrite(greenPin, LOW);
  digitalWrite(pin, HIGH);
}

すると、loop()の各手順は2行になります。showLight(greenPin);と、その信号を点灯させておく時間分のdelay()です。

challenge icon

チャレンジ

簡単

車のライトはピン12(赤)、11(黄)、10(緑)に接続されています。次のように切り替えてください:

  • 3つのピンを出力に設定する
  • 緑を3000 ms点灯する
  • 黄を1000 ms点灯する
  • 赤を3000 ms点灯してから、再び最初に戻る

一度に点灯できる車のライトは1つだけです。Runを押して交差点の動作を確認し、次にCheckを押してください。

自分で試してみよう

// 車用の信号機
const int redPin = 12;
const int yellowPin = 11;
const int greenPin = 10;

void setup() {
  // 3つのライト用ピンを出力に設定する

}

void loop() {
  // 緑を3 s、黄を1 s、赤を3 s点灯させる

}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

プロジェクトのすべてのレッスン

自分で練習してみよう: Arduinoプレイグラウンド