熊おふし五郎が行く

主にマイコンボードを動かした記録を書いています

Micro:bit、Micropythonで信号機の3つのLEDを次々に点灯する

信号機

信号機は、赤色LED、黄色LED、緑色LEDで構成されています。

信号機モジュール

ここでは、KEYESTUDIO製BBC Micro: bitのスターターキットにある信号機モジュールを使用します。

f:id:bear_9973:20201110204438j:plain:w200
信号機モジュール

他メーカーの信号機モジュールを購入するときは、 周辺回路にご留意してください。

インターフェース

Micro: bitから本モジュールへ信号をデジタル入力します。

MicropythonとMicro:bit

3つのLEDを次々に点灯するサンプルソフトを以下に説明します。

フロー

サンプルプログラムのフローを以下に示します。

  1. 3つのLEDを消灯
  2. 赤色LEDを1秒間点灯
  3. 3つのLEDを消灯
  4. 黄色LEDを1秒間点灯
  5. 3つのLEDを消灯
  6. 緑色LEDを1秒間点灯

接続

接続表と接続図(写真)を示します。

Micro:bit モジュール
P0 R
P1 Y
P2 G
GND -

f:id:bear_9973:20201110204855p:plain:w400
構成図

コード

from microbit import *

# Micro:bitを初期化
display.clear()  # LEDディスプレイを初期化
led_data = [0, 0, 0]

while True:
    for i in range(3):
        
        if i == 0:
            led_data = [1, 0, 0]
        elif i == 1:
            led_data = [0, 1, 0]
        elif i == 2:
            led_data = [0, 0, 1]
        else:
            led_data = [0, 0, 0]
        
        pin0.write_digital(led_data[0])
        pin1.write_digital(led_data[1])
        pin2.write_digital(led_data[2])
        sleep(1000)

結果

3つのLEDが次々に1秒毎に点灯しました。

他メーカーの信号機モジュールを購入するときは、 周辺回路にご留意してください。