micro:bit用人感センサー

人感センサー

6年理科の「私たちの生活と電気」(大日本図書)の単元で身の回りにある電気の性質や働きを利用した道具の利用について、プログラミング機器を利用して,プログラミングを体験するという内容があります。
これについて、どんな例が取り扱えるのか考えると、各種センサーを利用した自動ドア、人感センサーを利用した照明や電気器具のオンオフ、光センサーを利用した自動点灯の照明などが思い浮かびます。
そこで、まず人感センサーの利用例を試してみました。家庭で利用される人感センサーは赤外線を使ったものが主流です。PIR(Passive InfraRed)モーションセンサーと呼ばれることもあります。
スイッチサイエンス社からmicro:bit用人感センサーが2種類販売されていますので、ここではそれを使ってみました。

人感センサー
人感センサーまずは人感センサーモジュールキットです。人感センサーとブザー(スピーカ)が搭載されているので、人を感知したら音で知らせることも出来ます。一体型なのでこれだけで使用できるのお手軽です。検出範囲を狭めるための人感センサー用ケースもおまけでついています。
ブザーはP0ピンに、人感センサーはP1ピンに接続されています。
人感センサーは人を検知すると値はLOW(0)に、検知していない状態ではHIGH(1)になりますので、次のようにプログラミングすると人を感知したら音楽とLEDの点滅で知らせることが出来ます。曲やLEDの表示は自由に変えられるので、子どものレベルによっては曲やLED表示だけ変えさせるというやり方もできますね。

人感センサー

もう1種類は、micro:bit用コネクターベースに接続して使用するmicro:bit用人感センサーモジュール(コネクタータイプ)です。

コネクターベース人感センサー
こちらはコネクターベースをmicro:bitに取り付けるとP0ピン、P1ピン、P2ピンに専用モジュールを取り付けることができます。ただ、残念なことに専用コネクターに対応しているのはセンサーやボタン類しかないので、音を出したいとなるとブザーをつなぐのに別途ワニ口クリップなどを利用しないといけないことになりそうです。

コネクターベース人感センサー

ということで、授業での利用は一体型の人感センサーモジュールキットの方が簡単ですね。人感センサー以外のセンサーも使いたい場合は人感センサーモジュール(コネクタータイプ)になりますね。

Yahboom Micro:bit RGB LEDハロー拡張ボード

LEDハロー拡張ボード

Yahboom社のMicro:bit RGB LEDハロー拡張ボードです。
24個のLEDが円形に配置されています。子どもは光り物が好きなので試してみました。

LEDハロー拡張ボード
チュートリアルはこちらのページにありますが、プログラミングの説明は少なく、サンプルプログラムをダウンロードしてとにかく動かしてみる感じです。
電池ボックスがセットになっているのですが、組み立て方がチュートリアルに載っていません。

RGB LEDハロー拡張ボード

いろいろ試してみた結果、
1 電池ボックスをA(ネジ位置の穴が丸いもの)のアクリル板に短い白色のネジで固定する。
2 AをB(ネジ①の穴が六角形の物)に重ねる。
3 micro:bitの両側にCを並べ、D→micro:bit+c→電池ボックス+A+Bの順で重ねて長い白色のネジで固定する
4 拡張ボードの裏側から金属のネジでできあがった物を固定する
が正解のようです。

RGB LEDハロー拡張ボード

チュートリアルはMakeCodeエディター使い方から順を追って説明してありますが、その中の2.5音声起動ローテーションを試してみました。
hexファイルをダウンロードしてMakeCodeエディターで読み込みます。サンプルファイルの場合NeoPixelドライバーは自動的に読み込まれていますが、自分で最初からプログラミングする場合は、拡張機能から読み込む必要があります。

音声起動ローテーション
LEDはP2に接続されていますので、最初にLEDの数を指定して、最初のLEDを青色に点灯させています。
また、Bボタンを押すとリセットされるようにしていますね。

音声起動ローテーション
次に。マイクがP2に接続されていますので、変数micがP2の値を読むように設定し、一定の値を越えたらLEDがランダムな色で点灯する様にしています。

音声起動ローテーション
こちらは点灯するLEDの位置を1個ずつずらしていくプログラム部分です。

音声起動ローテーション
これはmicro:bit本体のLEDに音量を棒グラフで表示するプログラム部分ですね。無ければ無くてもかまいませんね。

音声起動ローテーション

micro:bitにプログラムを書き込んで走らせると、設定した大きさを超える音をマイクが拾うとLEDが点灯してぐるっと一回りします。音を拾い続けるとやがて色を変えながら全部点灯することになります。

チュートリアルではマイク入力をトリガーとしたプログラムがほとんどですが、他のセンサーを利用することも出来るので、いろいろ出来そうですね。