マイクロビット (micro:bit) とは?

 マイクロビットはイギリスのBBCが開発した教育用の小型コンピューターです。コンピューターと言ってもWindowsやMac、UNIXのようなものではありません。手のひらに乗るほどの小さなコンピューターです。また、ジャイロセンサーや加速度センサーなどいくつかのセンサーが基板に取り付けられており、Bluetooh (BLE) も使用することができます。小型ですが、結構使い手があるコンピューターです。2000円程度で入手できます。

 マイクロビットのプログラミング言語はJavaScriptかPythonになります。開発しながらメジャーな言語を学習できるのは大きなメリットでしょう。また、開発環境を新たにインストールする必要もありません。Webブラウザさえあれば開発環境を構築せずにすぐに使えるのも大きなメリットです。

・マイクロビット (micro:bit)
http://microbit.org/ja/
  • マイクロビット(表裏)
  • マイクロビット(表裏)
  • マイクロビット(表裏)

マイクロビットは基板剥き出しのシングルボードコンピューターというカテゴリに入ります。ラズベリーパイも同様のカテゴリに入ります。子供が使うのに基板むき出しでは危ないと思うのであればマイクロビット用のケースもあります。

  • マイクロビットにケースを装着

    マイクロビットにケースを装着

 マイクロビット単体ではプログラムの開発を行うことはできません。開発にはWebブラウザが必要になります。Webブラウザのバージョンは以下のページに記載されています。

・ブラウザなどの動作環境(英文)
https://makecode.microbit.org/browsers

そこそこ古いマシンでも開発することができます。手持ちの古いマシンを使ってマイクロビットのプログラムを作るのもよいかもしれません。開発環境はネットワークに常に接続されている必要はなくオフラインでも開発することができます。ちなみに約10年前のMac OS X 10.6.8+Google Chromeでも作れました。

マイクロビットの開発はJavaScriptかPythonのいずれかになります。JavaScriptブロックエディタの場合は、スクラッチのようにブロックを組み合わせてプログラミングを行います。

・スクラッチ (Scratch)
https://scratch.mit.edu/

Pythonエディタの場合は、プログラマにおなじみのプログラムを文字で入力していきます。JavaScriptもブロックで表示するか通常のJavaScriptの命令で表示するかを切り替えることができます。

  • JavaScriptブロックエディタと通常のエディタ
  • JavaScriptブロックエディタと通常のエディタ
  • JavaScriptブロックエディタと通常のエディタ(左側がブロック、右側がJavaScript)

  • Pythonエディタ

    Pythonエディタ

ブロックエディタで組み立てよう

今回はJavaScriptブロックエディタを使って開発します。

・JavaScript用のブロックエディタ
https://makecode.microbit.org/

ちなみにPythonの場合は以下のURLになります。

・Python用のブロックエディタ
http://python.microbit.org/v/1

JavaScriptブロックエディタを起動すると下図のような画面になります。

  • JavaScriptブロックエディタを起動

    JavaScriptブロックエディタを起動

左側にはマイクロビットの画像があり、ここでプログラムのシミュレートを行うことができます。マイクロビットの図の右側にはカテゴリがあります。基本や入力、音楽などカテゴリに分かれており、クリックすることでブロックが表示されます。「…さらに表示」のボタンをクリックすると、さらに該当するカテゴリのブロックが表示されます。

  • 基本ブロックの例

    基本ブロックの例

揺らした時に処理させる

まず、手始めにマイクロビットを揺らしたらLEDに×を表示するプログラムを作成してみましょう。車に搭載すれば悪路などを走行した時に×印を表示させることができます(実際に運転して試したところ、かなりの悪路でないと駄目でした)。

新規プロジェクトを作成した場合、以下のような画面になります。

カテゴリから「入力」をクリックします。「ゆさぶられたとき」のブロックをクリックします。

すると画面にブロックが追加されます。

次にLEDに×を表示するためにアイコンのブロックを追加します。カテゴリから「基本」をクリックします。「アイコンを表示」のブロックをクリックします。

ブロックが追加されますが、このままでは機能しません。グレーっぽくなっているブロックは機能しないことを示しています。「アイコンを表示」ブロックを「ゆさぶられたとき」のブロックの中にドラッグします。すると、ぴたっとくっつきます。これでブロックが機能するようになります。

次に表示するアイコンを変更します。「アイコンを表示」の右側にある画像が表示されている部分をクリックします。するとあらかじめ用意されているアイコンが表示されるので×を選択します。

×を表示したら1秒後に消すことにします。消さないといつまで経っても×の表示が消えないためです。 カテゴリから「基本」をクリックし「一時停止(ミリ秒)」ブロックをクリックします。

ブロックが追加されたら「一時停止(ミリ秒)」のブロックを「アイコンを表示」ブロックの下につなげます。一時停止(ミリ秒)の値を1000にします。

次にカテゴリから「基本」をクリックし「LEDに表示」をクリックします。

ブロックが追加されたら「LEDに表示」ブロックを「一時停止(ミリ秒)」のブロックの下につなげます。

プログラムを転送しよう

これでプログラムは完成です。次にできあがったプログラムをマイクロビットに転送します。転送するには画面左下に表示されている「ダウンロード」ボタンをクリックします。

すると自動的に転送するファイルが生成されます。Windows, Macともダウンロードフォルダにmicrobit●●●.hexファイルが生成されます。

  • ダウンロードがはじまり(左Mac画面)、ファイルが生成されます(右Windows画面)

次にマイクロビットをパソコン(Windows、Macなど)に接続しましょう。接続するとUSBドライブとして認識されます。なお、認識されない場合はUSBケーブルを変えてみてください。

  • USBドライブとして認識(Mac画面)

あとはmicrobit●●●.hexファイルをマイクロビット、つまりUSBドライブにコピーすれば完了です。

  • 認識されたマイクロビット(USBドライブ)にコピーする(Mac画面)

転送するとアンマウントされた後、再度マウントされます。Macの場合、警告のダイアログが表示されることがありますが無視して構いません。 これでプログラムは動いているので、マイクロビットを左右に振ってみましょう。振るとLEDに×が表示され1秒経過すると消えるはずです。もし、うまくいかない場合は再度プログラムを確認してください。

動作を確認できたらモバイルバッテリーと接続して持ち運んでみましょう。マイクロビットを手に持って揺らすとLEDに×が表示されるはずです。

  • マイクロビットを揺らすと×が表示される

うまく動作したらプログラムを改良してみましょう。「ゆさぶられた」ときだけでなく傾けたり、落とした場合などにも反応できるようにしてみると勉強になるでしょう。

マイクロビットは小型ながらアイデア次第で様々なことに利用できるコンピューターです。また、他のシングルボードコンピューターと連携させることで、複雑なことにも対応できます。

著者 古籏一浩
プログラミングをベースにして面白そうなものはとりあえずやってみるというスタンス。複雑なものよりシンプルで楽しめるものが好み。
著者サイト:http://www.openspc2.org/