どれ使う?プログラミング教育ツール
カードリーダー風のおもちゃをmicro:bitと外部センサーで作ろう ~拡張モジュールを使ったプログラミングで電子工作
2021年1月14日 12:11
micro:bitは手軽で安価なプログラミング学習用マイクロコンピューター。本体自体にも複数のセンサーが搭載されていますが、拡張性が高いのも特徴です。今回は、追加モジュールのフォトインタラプターを使ってカードリーダー風の工作をしてみます。フォトインタラプターは、凹の部分に何か物体があるかどうかを判定できるセンサーで、凹部分に何かが差し込まれたことや、凹部分を何かが通り過ぎことを検知するのに使えます。
micro:bitの拡張モジュールとセンサーを使おう!
micro:bit用の各種追加モジュールや製作キットはいろいろ販売されていますが、今回は製作キット「bitPak:おみくじ貯金箱」に入っていた拡張パーツの一部を使って今回工作をします。おみくじ貯金箱は、コインが貯金箱内部を通過したことをフォトインタラプターで検知し、サーボモーターで矢印パーツを動かしておみくじの結果を指し示すという仕組み。こういうキットはマニュアル通り作って仕組みがわかったらバラして別のものを作るのがおすすめです。
今回使うのは、フォトインタラプターと、micro:bitの拡張に便利なワークショップモジュールです。それぞれ単体で購入することもできます。
ワークショップモジュールは、micro:bitを差すだけで、電源と、センサーやアクチュエーターを接続するためのコネクタが使えるようになります。
フォトインタラプターで検知するシンプルな仕組みをプログラミング
フォトインタラプター部分にカードをスライドさせて検知させ、カードが通ったら、LED画面部分と音で演出をするという仕組みを作ります。
micro:bitのプログラミングツール「MakeCode」を開いたら、次の図の通りプログラムを作成してください。[ずっと]ブロックで、フォトインタラプターの値をチェックし続け、反応があったら[アイコンを表示]でチェックマークを表示し、反応がなければ[表示を消す]でアイコンを消します。
フォトインタラプターの値は、何も検知していない状態は“1”で物体を検知すると“0”になります。プログラムでは、[デジタルで読み取る 端子 P1]ブロックを使います。端子が“P1”なのは、ワークショップジュールのP1端子側にフォトインタラプターを差したからです。
これでフォトインタラプターにカードを通したら、LED部分にチェックのアイコンが表示されるプログラムができました。
効果を追加して少し楽しい演出に
これだけではちょっとつまらないので、効果を追加しましょう。反応した際に音が鳴る効果と、値段が数字でLED部分に表示される効果です。新型のmicro:bit v2を使えば、スピーカーが搭載されているので音声も使えます。
音は[メロディを開始する]ブロックで“ピコーン!”を選び、繰り返しを“一度だけ”に設定。値段は、その時の運次第で決まることにして、ランダムな数字を入れます。ここでは“0から100”にします。
これで、カードが通ったら、ピコーンと音がしてチェックのアイコンと運試しの値段が表示されるプログラムが完成しました。
工作の工夫次第でカードリーダーっぽく見える
あとは、この“材料”っぽいmicro:bitたちを簡単な工作でカードリーダー風にしてあげるだけ。
例えばフォトインタラプターを四角い窓を切りぬいた厚紙に裏から貼り付けるだけでも、ちょっとカードリーダー風になります。
さらに、適当な空き箱に穴をあけて、LEDとフォトインタラプターだけが外に見えるようにすると、もっと装置っぽくなります。もっとていねいに工作して、カードを通す場所を工夫するとさらにそれらしくなりますね。
動かした動画はこちら。
家電などをバラしてみると、中身が意外とスカスカで、素敵な筐体の向こう側には基板につながった武骨なスイッチやLEDなどがあることに気付かされます。micro:bitで工作するときは、逆に必要なところだけが見えるようにして工作のデザインにこだわると、シンプルなプログラムでも見え方が変わります。小さなお子さんに工作部分をまかせて、親がプログラミング担当、という共同制作をしてもいいですね。
2020年度から小学校でプログラミング教育が実施されています。これに伴い家庭でも手軽にプログラミングを学習できるツールが多数登場していますが、どんなツールを使えばいいのか迷ってしまう方も多いのではないでしょうか? そこで本連載では家庭でのプログラミング教育にピッタリなお勧めツールを紹介していきたいと思います。