熊おふし五郎が行く

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

Micro:bit、MicropythonでRGBフルカラーLEDに虹色を表示する

RGBフルカラーLED

RGBフルカラーLEDは、赤色、緑色、青色の発光を掛け合わせてフルカラーを表示します。

RGB LEDモジュール

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

f:id:bear_9973:20201110211544j:plain:w300
RGB LEDモジュール

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

インターフェース

Micro: bitから本モジュールへアナログ信号(PWM)を入力します。

MicropythonとMicro:bit

RGB LEDモジュールに虹色を表示するサンプルソフトを以下に説明します。

フロー

サンプルプログラムは赤、橙、黄、緑、青、紺、紫の順に1秒毎に発光します。

接続

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

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

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

コード

from microbit import *

# Micro:bitを初期化
display.clear()  # LEDディスプレイを初期化
# 虹色のRGB 赤、橙、黄、緑、青、紺、紫
rgb_data = [[0, 1023, 1023],
            [0, 662, 1023],
            [0, 60, 1023],
            [1023, 481, 1023],
            [1023, 441, 0],
            [1023, 1023, 421],
            [441, 1023, 501]]

while True:
    for i in range(7):
        pin0.write_analog(rgb_data[i][0])
        pin1.write_analog(rgb_data[i][1])
        pin2.write_analog(rgb_data[i][2])
        sleep(1000)

結果

赤、橙、黄、緑、青、紺、紫の順に1秒毎に発光しました。

f:id:bear_9973:20201110212329j:plain:w500
動作状況

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