

2020年度からプログラミング教育が小学校でスタートし、プログラミングに縁遠かったママやパパも、プログラミングを見聞きする機会が増えていきます。お子さんと一緒に何かそれっぽいものを作れたら、きっと素敵な時間が過ごせそう……。そこで、「micro:bit(マイクロビット)」を使った、ちょっとした日曜工作をみなさんにご提案! 開けるとカウントダウンが始まり、「×」印が表示される不思議なお菓子箱を作りましょう。
micro:bitで開けてはいけないお菓子箱を作る
作りたいのは「開けるとカウントダウン後、×印が表示される箱」
「micro:bit(マイクロビット)」とは、イギリスのBBC(英国放送協会)が中心となって情報教育向けに開発された小型のコンピューターです。micro:bitは、Microsoft提供の「MakeCodeエディター」を使うことで、ブロックを用いた簡単な操作でプログラムを開発できるメリットがあります。
一方で、本当の初心者となると、それでも「うっ」とためらう場面が出てくるかもしれません。そこで今回は、プログラムを書くことには集中せず、楽しみながら開発できる内容にしました。「まずは完成品を動かしつつ、ちょっとプログラムを変えていく」ことが体験できるので、気軽に試してみてほしいです。
では、完成イメージを先にお見せしましょう。
フタのあるお菓子箱を開けてしまうと……、開けた隙間に箱に光が差し込むと、実は中でmicro:bitがカウントダウンを開始。
完全にフタを開けてしまいましょう。
中の状態です。フタを開いてmicro:bitが光を感知してから10秒が経過すると、micro:bitにバツ印が表示。「あっ、誰かがお菓子箱を開けて、お菓子を取ろうとしたな!」とわかる仕組みとなっています。
用意するもの
今回の仕組み作りで用意する内容が以下です。
1 フタつきの箱
2 USBケーブル
3 モバイルバッテリー
4 micro:bit
後は、作業用に必要な任意のパソコンがあれば準備完了です。
1つずつ見ていくと、まずはお菓子箱になるフタつきの箱。
次にUSBケーブル。長さが短いものだと箱の中に収まりやすくおすすめです。
モバイルバッテリーについてです。micro:bitがあまり電力を使わないため、モバイルバッテリーによって「省電力OFF機能」が働いてしまい、ずっと起動し続けられない場合があります。用意する際は省電力OFF機能がないバッテリーで、スイッチのON/OFFで電源が管理できるタイプにしましょう。
※「省電力OFF機能」がないバッテリーを使わない場合、電源が自動でOFFとなるため常時起動ができず、今回のタイマーを使った動きができない可能性があります。ご注意ください。
そしてmicro:bitです。
micro:bitをPCにつなげる
準備が整ったら、ここではWindows 10をベースに進めていきます。microUSBケーブルでmicro:bitをPCのUSBポートをつないでください。
すると、お使いのmicro:bitは、コンピューター上では「MICROBIT」という名前のドライブとして表示されます。
micro:bitのプログラムを作る
micro:bitは、ブラウザだけで簡単にプログラムを作ることができます。micro:bitのWebサイトには、ブラウザ上で操作できるエディター「MakeCodeエディター」が用意されています。Webサイトにアクセスしてみましょう。
“ Microsoft MakeCode for micro:bit”.Microsoft.
https://makecode.microbit.org/
Webサイト「micro:bit」にアクセスしたら、「マイプロジェクト」→「新しいプロジェクト」をクリックし、新規プロジェクトを作ってmicro:bitを動かすプログラムファイルを作ることができます。
このように環境を整えたら、ゼロの状態からプログラムを作っていきます。micro:bitは実行したいことを「ずっと」「もし」などのブロックを使って動作を指定し作っていけるので、難しいプログラミング言語が出てこず、初めての人でも直感的、視覚的に取り組めます。
ただ、完全に予備知識のない初めての人だと、ブロックエディターにも少々慣れる時間があると、より抵抗感が出ないとも思っています。今回は、まったく慣れていない初めての人たちが負担なく楽しめるように、いきなりプログラムを作らない進め方でやってみましょう。あらかじめ私が作っておいたプログラムを取り込んで、動かしてみます。
今回用意したプログラムサンプルページにアクセスします。
“okashi-sample”
https://makecode.microbit.org/64945-24161-89772-83576
アクセスしたら、「編集」ボタンを押してください。
すると、自分のMakeCodeエディターにプログラム「okashi-sample」が読み込まれます。このように、世界中の人たちが作ったプログラムを手軽にシェアして使えるのもmicro:bitの魅力です。もしプログラムを読み込まない場合は、自分でポチポチとブロックを使ってプログラムを作っていくことになります。
今回用意した「okashi-sample」は、このまま何も変更しなくても動かせる状態です。早速ダウンロードしてみます。左ペイン下にある「ダウンロード」ボタンを押します。
MICROBITのドライブに保存して、micro:bitにプログラムを反映させます。
micro:bitを動かしてみる
それでは、micro:bitをモバイルバッテリーにつなげて、お菓子箱へ仕掛けましょう。
上記のようにつなげてみます。写真の通り、つなげた場所が明るかったのでカウントが進んでしまい、すでにバツ印が出てしまいました。
先ほどの写真から裏返した状態が下の写真です。ここで見えている3つの突起のうち、真ん中にある黒いボタンがリセットボタンになるので、このボタンを押してください。再度スタートできます。
micro:bitを表側に向けると、中央部分(下写真の赤囲み部分)がLEDのランプ部分で、ここが光センサーの役割を果たしています。
再スタート前に手をかざしてセンサー部分を影にしておけば、カウントを止めることができます。センサーを隠した状態にしておいて、改めてテスト検証。バツ印が出るまでの動きを確認します。
お菓子箱にmicro:bitを仕掛ける
いよいよセッティングしたmicro:bitをお菓子箱に仕掛けます。
この仕掛けの肝は、フタがあることです。上のように開けたときに、うまく光が入る位置に仕掛けましょう。カウントダウンが始まってしまうので、セッティングできたらすぐにフタを閉じます。
こうして、モバイルバッテリーのパワーが続く限り、このお菓子箱は開けるとカウントダウンの後に×印が出現。「誰かが勝手に開けたな!」とバレてしまう「開いてはならないお菓子箱」のできあがりです。
ブロックエディターでプログラムを調整する
中身の条件を変えてみる
せっかくですので、プログラムの中身も変えてみましょう。今回のプログラム全体が以下です。
ブロックで組めるようになっていて、青色の「最初だけ」(一番上の水色部分)、「ずっと」(上から2番目の水色部分)といったブロックをご覧になると、実際の動きが少しずつ想像できると思います。
今回のカウントを始める「明るさ」の判定をしている箇所です。
「明るさ」は「255~0」の値を判定しますが、ちょっとした明るさでも反応できるように 元のプログラムでは20で設定しています。みなさんの部屋の明るさによっては、反応がうまくいかないかもしれません。その時は、「>50」といったように値を変えて調整してみましょう。
カウントは下のブロック箇所、緑の「もし」ブロックで行っています。
この「もし」ブロックは、「count(カウント)が9より大きい(>9)」なら、を意味しています。その状態になると、すぐ下にある青の「アイコンを表示」ブロックで「×」という表示を指定、ということになります。
変更に際してカウントを減らし、判定をキツくしてみましょう。
明るさとカウントについて、それぞれ好みの値に変更できたら、エディタ左ペインの下にある「ダウンロード」ボタンを押して、改めて試してみましょう。
変更条件をおさらいする
変更後の状態を詳しく見ていきます。
上の「最初だけ」ブロックは変更なし。暗いまま(LEDに光が感知しない)なら「0」が表示されたまま(カウントが動かない)です。
下の「ずっと」ブロックでは、
1 「もし」ブロックで「明るさ」が50より大きくなったら(>50)
2 「変数」ブロックでカウントが1増えていく
3 「数を表示」ブロックでカウントが開始される
4 「もし」ブロックでカウントが5より大きくなったら(>5)
5 「アイコンを表示」ブロックで「×」を指定
ということになります。
元々は「明るさ20を超えたら、(9を超えて)10(秒)となったら×を表示」だったのを、「明るさ50を超えたら、(5を超えて)6(秒)となったら×を表示」へと変えたことになります。
このようにmicro:bitはブロックエディターなので、実行したいことをブロックでわかりやすく簡単に組んでいけます。条件も簡単に変えることができます。今回はあらかじめ用意していましたが、だんだん慣れてくれば、ゼロから独力でブロックを使った仕掛け作りができるでしょう。
まずは一度作ってみて、プログラミングを楽しんでください!

屋号:ワンフットシーバス
2004年よりフリーランス。最近ではWebフロントエンドをベースに、情報とインターフェイスが合わさる視点で、IoTやVRといった技術も取り入れ活動中。