今回は新しくなったマイクロビット(バージョン2。以後マイクロビットv2と表記)を使ってみます。

・マイクロビットv2
https://microbit.org/ja/new-microbit/

 国内ではスイッチサイエンス社などから発売されています。スイッチサイエンス社の場合、以下のページから購入する事ができます(今回使用するマイクロビットは以下のページから購入したものです。発売元によってパッケージ等が異なる可能性があります)。なお、新しいマイクロビットの発売にともなって以前のマイクロビットは終売となっています。

・マイクロビットv2(スイッチサイエンス社Web)
https://www.switch-science.com/catalog/6600/

 マイクロビットv2で新しくなった部分に関しては以下の公式ページに説明があります。

・Hardware - Details of the latest micro:bit hardware revision
https://tech.microbit.org/hardware/

 以前のマイクロビットと比較すると標準でスピーカーが搭載されたのはありがたい改良点です。スピーカーが標準で搭載されたことにより外部スピーカーがなくても音が出せるようになりました。スピーカーを接続した場合はマイクロビットv2内蔵スピーカーを同時に鳴らすかどうかをプログラムで設定できます。追加されたのはスピーカーだけでなくマイクも追加されています。これにより音で反応するプログラムを作ることもできます。他には使用できるメモリが倍増(512KB Flash, 128KB RAM)したのも大きなポイントです。メモリが倍増したので第25回の連載で扱った液晶モジュールなどを使った大きなサイズのプログラムでは、より複雑で細かいグラフィックを表示する事ができます。

・創って学ぼうプログラミング 第25回「液晶モジュールを使ってみよう(ピクセル画像とベクトル画像の表示)」 https://news.mynavi.jp/article/makeprogram-25/

他にはマイクロビットのロゴをタッチできるようになっていたり、電源が入っているかどうかを示すLEDが追加されていたり、鰐口クリップを挟みやすくするための凹みが追加されていたりと細かい改良が施されています。

マイクロビットv2を起動

 それではマイクロビットv2を起動してみましょう。マイクロビットv2を箱から取り出すと以下のような本体と説明書、使用上の注意事項を記載した紙が出てきます。

見た目にも以前のマイクロビットとは多少異なるので、それなりに区別する事ができます。

 マイクロビットv2にはマイクロビット同様にあらかじめプログラムが書き込まれています。電源を入れるだけでゲームで遊ぶ事ができます。マイクロビットv2に電源を供給すると派手な音とともにLEDがチカチカと表示されます。その後、ボタンを押したりマイクロビットを揺らしたりするように指示されるので、それに従って操作していきます。最後はスネークゲームで遊ぶ事ができます。このスネークゲームはマイクロビットv2を傾けて餌(光っているLED)を食べていきます。餌を食べると自分自身(蛇)の体が長くなります。餌でなく自分自身の体に当たってしまうとゲームオーバーとなりスコアが表示されます。

 マイクロビットv2でゲームをプレイしたら新機能を使ってプログラムを作成してみましょう。なお、マイクロビットv2とパソコンを接続する場合は必ずデータ通信ができるUSBケーブルを使用してください。充電専用のUSBケーブルではプログラムを書き込む事ができません。タブレットやスマートフォンで作成する場合はBluetoothでペアリングしてやれば大丈夫です。

マイクロビットv2で追加されたブロックを使う

 それではマイクロビットで追加されたブロックを使ってみましょう。まずは標準で追加されたスピーカーから音楽を流してみます。ブロックエディタは以下のページにアクセスするとブロックエディタを使って開発することができます。

https://makecode.microbit.org/

 ブロックエディタの画面はこれまでと変わりません。新しいプロジェクトを作成する時にブロックエディタとコードエディタ両方で作るか、それともブロックエディタで作るかのオプションが増えただけです。通常はオプションを指定せずに、そのままプロジェクト名を入れてOKボタンをクリックします。

 ブロックエディタの画面が表示されたら、音楽のカテゴリから「メロディを開始する(ダダダム)くり返し[一度だけ]」のブロックを図のクリックします。図のように配置します。鳴らす曲は好きなもので構いませんが、ここでは時期的にベートーヴェンの「歓喜の歌」にしました。

 あとはプログラムをダウンロードしてマイクロビットv2にコピーすれば動作します。この手順はこれまでと変わりません。なお、WebUSB経由でプログラムを転送することもできます。これについては後述します。

 次に大きな音がしたら音楽を流すようにしてみましょう。誰かが来たときに音楽で教えてくれるプログラムです。音に反応させるブロックは入力のカテゴリにあります。新しい機能については区切り線でv2と書かれている下のブロック(音がしたとき[大きな音])になります。

 ブロックを図のように配置します。プログラムをマイクロビットv2に転送して動作を確認してみましょう。マイクロビットv2の近くで手を叩いてみてください。音楽が演奏されます。

WebUSB経由でマイクロビットv2にプログラムを転送

 Google ChromeなどWebUSBを使えるブラウザでは直接作成したプログラムをマイクロビットに転送する事ができます。マイクロビット側にも対応したファームウェアが必要になります。現在発売されているマイクロビットv2ではWebUSBを使う事ができます。WebUSBを使えるようにするためのファームウェアの説明と書き込むデータは以下のURLにあります。

https://microbit.org/get-started/user-guide/firmware/
 それでは試しに先ほど作成したプログラムをWebUSBを使って転送してみましょう。ダウンロードボタンをクリックします。

すると図のような画面になります。ここで「デバイスを接続する」ボタンをクリックします。

図の画面になったら「デバイスを接続する」ボタンをクリックします。

図のような画面になるので接続するマイクロビットをクリックして選択します。

あとは「接続」ボタンをクリックすると作成したプログラムがマイクロビットv2に転送され実行されます。

リモートで音を検知したら音楽を鳴らす

 それでは最後にマイクロビットv2を2つ使ってリモートで音を検知したら音楽を鳴らしてみます。1台は音を検知し、検知したら離れたところにあるもう1つのマイクロビットv2にリモート(Bluetooth)通信します。もう1台は音検知情報を受け取ったら音楽を鳴らすようにします。音を検知する側はマイクロビットv2でないと駄目ですが、音を鳴らす側はマイクロビットのバージョンは問いません。新旧どちらでも使えます。

 まず、2台のマイクロビットv2を同じ無線グループ番号にします。次に音を検知し送信するマイクロビットv2のプログラムを以下のように作成します。

 次に受信側のマイクロビットでは無線データを受信したら音楽を鳴らすようにします。このプログラムは以下のようになります。

 それぞれのマイクロビットにプログラムを転送したら実際に動作するか確認してみましょう。ここでは、分かりやすくするために音を検知する方をマイクロビットv2に、音を演奏するのはピアノモジュールを接続した旧マイクロビットで動作させています。

 無線通信はBluetooth(旧マイクロビットは4.0でマイクロビットv2は5.1)なので、あまり離れてしまうと動作しません。途中に障害物がある場合もうまく動作しない可能性があります。最初は近い距離で動作を確認し、少しずつ距離を広げていくのがよいと思います。また、マイクロビットv2が複数あれば、様々な場所に設置することで、どこで音がしたのかを曲によって知らせるということもできます。

 micro:bitのサイトを見ると今後はAI・機械学習にも対応すると書かれていますので期待することにしましょう。

著者 古籏一浩
プログラミングをベースにして面白そうなものはとりあえずやってみるというスタンス。複雑なものよりシンプルで楽しめるものが好み。最近は30年前に移植したゲーム(mz-700版 SPACE HARRIER)の話などを書いたりしています。
著者サイト:http://www.openspc2.org/