「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。

micro:bit Lab.【マイクロビット】

micro:bit Lab.では、micro:bit【マイクロビット】に関する情報を紹介しています。

電子工作のファーストステップ(3)【micro:bit編】
3-3

LEDをぼわっと点滅させる【電子蛍】

2018-01-042018-01-04

micro:bitを使った電子工作のファーストステップ第三弾としてLEDをぼわっと点滅させる、通称電子蛍(電子ホタル)を紹介します。PWM(パルス幅変調/Pulse width modulation)を使った作品例です。

3-3-1.できること

「3-2.LEDを点滅させる【Lチカ】」と同じく、「3-1.LEDを点灯させる【Lピカ】」で作成した電子回路をそのまま使って、LEDをぼわっと点滅させます。その光るようすがホタルの発光に似ていることから通称電子蛍(電子ホタル)といいます。

図3-3-1-1.micro:bitで電子ホタル
図3-3-1-1.micro:bitで電子ホタル

3-3-2.用意するもの~作り方

「3-1.LEDを点灯させる【Lピカ】」と同じ電子回路を使います。はじめての人は、先に「3-1.LEDを点灯させる【Lピカ】」を作りましょう。

図3-3-2-1.micro:bitで電子ホタル(回路)
図3-3-2-1.micro:bitで電子ホタル(回路)

3-3-3.プログラミング(ブロック)

LEDをぼわっと点滅させる、通称電子蛍(電子ホタル)のサンプルプログラムです。

最初だけ実行されるプログラム

変数「sleep_time」に50をセットします。

図3-3-3-1.最初だけ実行されるプログラム
図3-3-3-1.最初だけ実行されるプログラム

ずっと実行されるプログラム

端子P0にアナログ信号を変化させながら出力します。

図3-3-3-2.ずっと実行されるプログラム
図3-3-3-2.ずっと実行されるプログラム

3-3-4.プログラミング(Javascript)

Javascript(テキスト)のサンプルプログラムです。

3-3-5.動かしてみよう

プログラムが完成したら動かしてみましょう。LEDがぼわっと点滅すれば成功です。

3-3-6.解説【PWM(パルス幅変調)】

LEDが光る原理は「3-1.LEDを点灯させる【Lピカ】」で述べた解説の通りです。ここでは、端子P0にアナログ信号を変化させながら出力することで、LEDがゆっくり点滅して見えます。

PWM(パルス幅変調/Pulse width modulation)

micro:bitでは、その端子の状態を「0Vに接地(プルダウン)」または「3.3Vの電圧を出力」することはできますが、電圧そのものを、連続的(0V~3.3Vの間)に変化させて出力することはできません。では、どうやってLEDを弱い光から強い光へ変化させたり、逆に強い光から弱い光へ変化させているのでしょうか。それが、電圧の出力を高速にオンオフしながら、そのオンオフ時間の比率(オン時の時間幅)を制御する「PWM(パルス幅変調/Pulse width modulation)」という技術です。

図3-3-6-1は、PWM(パルス幅変調)の出力のようすを表したもので、一定の周期でオン状態(3.3V)とオフ状態(0V)がスイッチングされる矩形波となります。micro:bitの周期は、初期状態で20ミリ秒(周波数50Hz)です。

PWM(パルス幅変調)では、オレンジ色で示された1周期の内、赤色で示されたオン状態の時間幅の割合をデューティー比といい、図3-3-6-1では50%となります。LEDは、このデューティー比で示された割合で点滅します。

図3-3-6-1.PWM(パルス幅変調)デューティー比50%
図3-3-6-1.PWM(パルス幅変調)デューティー比50%

図3-3-6-2は、同じ周期でデューティー比が25%のPWM(パルス幅変調)の波形です。

図3-3-6-2.PWM(パルス幅変調)デューティー比25%
図3-3-6-2.PWM(パルス幅変調)デューティー比25%

図3-3-6-3は、同様に75%の波形です。

図3-3-6-3.PWM(パルス幅変調)デューティー比75%
図3-3-6-3.PWM(パルス幅変調)デューティー比75%

デューティー比に応じて、LEDは点滅を繰り返しますが、その比率が高いほどLEDの光る時間幅が長くなります。そのため、比率が高くなるとLEDが明るく感じられます。上記の例では、75%が最も明るく、25%が最も暗くなります。なお、LEDのオンとオフが繰り返される周期は、初期状態で20ミリ秒(50Hz)となり、これは人にとって高速なため、ちらつきはほとんど判別できません。

「アナログで出力する」ブロック

プログラムでは、「アナログで出力する」ブロックを使い、出力先となる端子とデューティー比の元になる値を指定します。設定できる値は0~1023で、0がデューティー比0%、1023が100%となります。電子蛍(電子ホタル)のプログラムでは、この値を0→1→3→7→15→31→63→127→255→511→1023と変化させることで徐々に明るくし、逆に値を小さくすることで徐々に暗くしています。

3-3-7.バージョンアップ

作ったプログラムに次のブロックを追加してみよう。Aボタンを押すと点滅の速度が速くなり、Bボタンを押すと遅くなります。

図3-2-7-1.バージョンアップ
図3-2-7-1.バージョンアップ

バージョンアップしたJavascript(テキスト)のサンプルプログラムです。

スポンサーリンク
TOPへ移動
目次へ移動