micro:bitとキットで始める計測・制御:赤色LEDを蛍のように光らせてみよう。

【 当サイトには広告リンクが含まれています。 】

「赤色LEDを蛍のように光らせてみよう。」では、シールド経由でmicro:bitに接続した赤色LEDモジュールを「Microsoft MakeCode for micro:bit」(以下 MakeCode)で蛍のように、徐々に明るくなったり暗くなったりするプログラムを作成します。



はじめに

「micro:bitとキットで始める計測・制御」では、micro:bit V2(以下 micro:bit)と市販のセンサーキットの「KEYESTUDIO 37センサースターターキット micro:bit V2付」(以下 キット)を使って計測・制御の基本を実習します。


microbitプログラミングを10代から大人まで簡単に学習することができ、子供たちのSTEM学習にも適した製品です。


実習はkeyestudio.comが投稿しているwiki(KS0361(KS0365) keyestudio 37 in 1 Starter Kit for BBC micro:bit)を二次利用して行います。


ライセンス

図やソースコード(ブロック)等、すべての内容はCC BY-SA 4.0ライセンスに従います。

実習準備

実習に必要な機器とキットの部品を準備します。

機器

「micro:bitとキットで始める計測・制御:micro:bitをMakeCodeで使ってみよう。」記事で書きましたmicro:bitと、MakeCodeをインストールしたWindows11搭載のパソコンを準備します。


部品

赤色に発光する赤色LEDモジュールを、Micro bit Sensor Shield V2(以下 シールド)にワイヤーで接続して使います。

▶️赤色LEDモジュール

赤色LEDモジュールには3本のピンが用意されており、「Gまたは-」ピンはシールドのグランド(GND)に、「Vまたは+」ピンはシールドの電源(VCC 3.3-5V)に、Sピンにはシールドの信号を接続します。

SピンをHighレベルまたはLowレベルに設定することで、LEDの点灯、消灯を制御することができます。



▶️ジャンパーワイヤー(メスーメス) 20cm

40本が一束になっていますので、接続する本数だけ分けて使います。


配線

配線のためのジャンパーワイヤーは、必要な本数を分けてください。

配線するときは、micro;bitのUSBケーブルを取り外して行ってください。

配線図

赤色LEDモジュールとシールドをジャンパーワイヤーで接続します。


配線リスト


白色LEDモジュールシールド備 考
Gまたは-ピンG-2ピン
Vまたは+ピンV1-1ピン
SピンS-0ピン



プロジェクト

「赤色LEDを蛍のように光らせてみよう。」はシールドに接続した赤色LEDモジュールを徐々に明るくしたり、暗くしたりするプロジェクトです。

LEDの明るさは、加えているアナログ電圧を変えることで、供給される電流が変化し制御できますが、micro:bitの出力ピンはアナログ電圧を変えることができません。

代わりに、入力信号のHighとLowの時間を変化させる、PWM(Pulse Width Modulation:パルス幅変調)という機能を使って、供給する電流を変化させ、明るさを制御します。

一定周期内のHigh(5V)とLow(0V)の時間が同じ(50%)であれば、電流が半分になるためLEDの明るさは通常の明るさの半分になります。

一定周期内のHigh(5V)とLow(0V)の時間を時間配分を変えることで、徐々に明るくしたり、暗くしたりすることができます。

PWM(Pulse Width Modulation:パルス幅変調)の簡単な説明はこちらを参考にしてください。

「赤色LEDを蛍のように光らせてみよう。」では、LEDを徐々に明るくしていく場合、0~512に間で、1ミリ秒ごとに0から1ずつ増加させた値をHighの時間として、LEDのS端子に出力します。

反対にLEDを徐々に暗くしていく場合は、512~0に間で、1ミリ秒ごとに512から1ずつ減少せた値をHighの時間として、LEDのS端子に出力します。

言葉によるの流れの説明

作成したプログラムの流れを言葉で示します。

手 順説 明
1micro:bitのLEDディスプレイを非表示にします。
2明るさを制御する変数(val)を0に設定します。
3LEDが最も明るくない(val<512)場合、手順4を実行します。そうでなければ、徐々に暗くする処理を行うため、手順8を実行します。
4徐々に明るくしていくため、valの現在値に1を加えます。
5val値に応じたアナログ値を、P0端子に出力します。
6徐々に明るくしていく時間を調整するため、1ミリ秒待ちます。
7手順3~7を繰り返し実行します。
8LEDが最も暗くない(val>0)場合、手順9を実行します。そうでなければ、徐々に明るくする処理を行うため手順3を実行します。
9徐々に暗くしていくため、valの現在値から1を引きます。
10val値に応じたアナログ値を、P0端子に出力します。
11徐々に暗くしていく時間を調整するため、1ミリ秒待ちます。
12手順8~12を繰り返し実行します。


図(フローチャート)による流れの説明

流れを図(フローチャート)で示します。


プロジェクトの作成

配線したmicro:bitにUSBケーブルを取り付け、MakeCodeを起動します。

「新しいプロジェクト」をクリックして、プロジェクト(mb003-LED-Hotaru)を作成します。

keyestudioより「microbit-Project-14_Breath.hex」として、完成版が公開されていますので参考にしてください。(mb003-LED-Hotaruとは設定値が異なります。)

プロジェクトの作成手順やブロックの配置方法については、こちらを参考にしてください。


プロジェクトをmicro:bitへ転送

作成したプロジェクトをmicro:bitに転送して、実行できるようにします。

転送方法はこちらを参考にしてください。


コピーが完了すると、プログラムが起動し、赤色LEDモジュールが蛍のように、徐々に明るくなったり暗くなったりします。



まとめ

シールドに接続した赤色LEDモジュールを蛍のように、徐々に明るくなったり暗くなったりするプロジェクトをMakeCodeで作成し、実際に蛍のような点滅をすることができました。

PWM(Pulse Width Modulation:パルス幅変調)という機能を使って、LEDに供給する電流を変化させることで、明るさを制御できることを学びました。