マイクロビットを使ってみる 〜色が変わるLEDランタン

電子工作の作例

昨年、大阪・関西万博にいったのですが、そのパビリオンの中に、ランタンを手に持って会場内を巡る体験型施設がありました。
目標物に近づくと、ランタンが振動したり光の色が変わったりするというものです。

これに似たランタンを、マイクロビットとフルカラーLEDを使ってつくってみます。


マイクロビットとフルカラーLEDをランタンの中に仕込んでおきます。普段はこのランタンは青色でゆっくりと明滅しています。
このランタンを別のマイクロビットに近づけると、LEDの点灯色が変わり、明滅のスピードが早くなります。

使用したフルカラーLEDは、こちらの「7灯LEDリング」です。


ランタン本体は、セリアで販売されていた「LEDランタン」を使います。

このランタンは単四電池を3本使い、スイッチを押すたびにLEDが点灯・消灯するというものです。
このランタンからLEDと抵抗素子を取り外します。電池ボックスとスイッチはそのまま流用することとし、マイクロビットとフルカラーLEDに直接つなぎます。

ちなみに、マイクロビットの電源電圧上限は3.6Vです。公称電圧1.5Vのアルカリ乾電池×3本だと4.5Vになってしまい、上限電圧を超えてしまいます。そのため今回は公称電圧1.2Vのニッケル水素電池を使うこととします(ただし、ニッケル水素電池であっても満充電状態では1.2Vを大きく超えてしまい、マイクロビットの上限電圧を超えてしまうので注意が必要です)。

このような感じで、マイクロビットとフルカラーLEDをランタンの中に詰め込みました。そのままの状態では微妙に入らず、周囲のプラスチックを削ったりしてなんとか押し込みました。

プログラムはこちらです。

もう1台のマイクロビットから定期的に発信される無線を受信し、その信号強度によってLEDの点灯色と明るさを変更します。

LEDの点灯色は「色相」を使って設定します。
初期状態の設定値は「220(青)」です。無線の信号強度が大きくなると(もう1台のマイクロビットとの距離が近くなると)、この「220」が「〜370(〜紫〜赤〜橙)」まで変化します。
また、実際にこの値を7個のLEDに設定する際には、「設定値」〜「設定値+20」の範囲でランダムにばらついた値を設定しています。これにより各LEDの点灯色が微妙に異なる状態になり、光り方がより自然になります。

LEDの明るさはサイン波をつかって制御します。
初期状態では「1.2秒」かけて「明〜暗〜明」の明滅を行います。無線の信号強度が大きくなると、この「1.2秒」が「〜0.4秒」まで短くなります。これにより明滅のピッチが早くなります。

もう1台のマイクロビットに入れておくプログラムはこちらです。

0.5秒毎に無線で送信しているだけのものです。

動かしてみました。

青〜紫の部分の色の変化がなめらかではありませんが、その他は概ねいい感じにできているのでは?と思います。

 

なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。


初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。