Micro:bit、Micropythonで信号機の3つのLEDを次々に点灯する
信号機
信号機は、赤色LED、黄色LED、緑色LEDで構成されています。
信号機モジュール
ここでは、KEYESTUDIO製のBBC Micro: bitのスターターキットにある信号機モジュールを使用します。
他メーカーの信号機モジュールを購入するときは、 周辺回路にご留意してください。
インターフェース
Micro: bitから本モジュールへ信号をデジタル入力します。
MicropythonとMicro:bit
3つのLEDを次々に点灯するサンプルソフトを以下に説明します。
フロー
サンプルプログラムのフローを以下に示します。
- 3つのLEDを消灯
- 赤色LEDを1秒間点灯
- 3つのLEDを消灯
- 黄色LEDを1秒間点灯
- 3つのLEDを消灯
- 緑色LEDを1秒間点灯
接続
接続表と接続図(写真)を示します。
Micro:bit | モジュール |
P0 | R |
P1 | Y |
P2 | G |
GND | - |
コード
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秒毎に点灯しました。
他メーカーの信号機モジュールを購入するときは、 周辺回路にご留意してください。