教育現場の視点で見る「HaloCode」レビュー
LEDリングのグラデーションからAIまで「Makeblock HaloCode」の目玉機能を実際に試してみた
丸い基板に12のLEDがリング上に並ぶデザインが特徴的な、Makeblockのプログラミング学習用シングルボードコンピューター「Makeblock HaloCode」が2019年5月に発売されました。2020年プログラミング教育必修化を目前に、教育現場の視点からHaloCodeを紹介するこの企画。概要をお伝えした前回に続き、今回は他のシングルボードコンピューターにはない、HaloCodeならではの機能を使ったレビューです。
まずはLチカに挑戦
実際にHaloCodeの特徴的機能をいろいろ試してみました。まずはシングルボードコンピューターの登竜門ともいうべきLチカに挑戦しました。Lチカに挑戦とは言ったものの、HaloCodeの場合はすべてのLEDを点灯させるより1つのLEDを点灯させることの方が、プログラミングのハードルが少しだけ高いので、最初に試してみたのは、LEDリングをグラデーションで光らせる「Lグラ」(勝手に命名)です。
HaloCodeでは、なんとLグラをたった2つのブロックだけで完成させてしまえるのです。その上プルダウンメニューから光らせ方を変更すれば、虹色のグラデーション、波しぶき、流れ星、ホタルの4つの光らせ方をすぐに楽しむことができてしまいます。
micro:bitで同じようなLグラをやるのは結構手間がかかります。まず別途購入したLEDリングにワニ口クリップを付けたケーブルをはんだ付けしてmicro:bitに接続します。プログラミングは標準仕様のブロックだけで光らせるのは困難で、拡張パッケージをダウンロードして専用のブロックを追加した後、LEDの個数の設定や、光らせ方をブロックでプログラミングする必要があります。そうしてようやくLグラが完成します。
こうやって苦労して光らせるLグラだからこそ感動もひとしおなのですが、HaloCodeの場合はハードルが低すぎて物足りないと感じるユーザーもいるかもしれません。しかし、これは用途をよく考える必要があります。HaloCodeをSTEM教育学習用教材として捉えた場合、このハードルの低さは学習する生徒たちにとって大きなアドバンテージです。IoTのアイデアを形にすることに集中させたい場合に、ソフトウェアのセッティングやパッケージのダウンロードなどは気にせず、すぐに学びに集中できるという点で、優れていると思います。
音声認識を試してみた
次に注目のマイクを使ってみました。マイクそのものは単純に「音」を拾う機能なので、それだけなら期待も大きくありませんが、HaloCodeではMicrosoftの音声認識サービスを使って「音声」を利用した制御も可能になっています。HaloCodeを入手して一番試してみたかったのはこの機能です。
HaloCodeに向かって「Red」と言うと、その音声をインターネット経由でMicrosoftの音声認識AIに照合し、「Red」という音声だと判断されれば、それを条件として、HaloCodeにLEDを赤色に点灯させるようプログラミングしました。実際に試すと、音声を認識させるとLEDを赤色に点灯させることができました。音声の認識という点での精度は比較的高いと感じましたが、サーバーとのやりとりに時間がかかったようで(筆者は中国深セン在住)、音声認識をさせてから9秒程度待つ必要がありました。これはインターネットの通信速度にも依存するので、再度検証が必要と感じました。
ロボットカーやドローンを音声認識で制御するのは、反応速度が通信速度に依存するという点で難しいと思いますが、「OPEN」と言って、ドアを開けるようなスマートホーム、IoT的な用途の作品であれば、多少のタイムラグも許容できると思うので、IoTを体験し、学ぶ教材としては楽しめそうです。
※音声認識で利用可能な言語は英語と中国語で、日本語には対応していません。
クラウドメッセージ
次に試したのはWi-Fi機能を利用した、クラウドメッセージによる2台のHaloCodeの制御プログラムです。今回はパソコンからインターネット経由でHalo Code-1にメッセージを送ってLEDを点灯させたのち、HaloCode-1からインターネット経由でHaloCode-2へメッセージを送信して点灯させるようにしてみました。これはほとんど時間差がなくパソコンと2台のHaloCodeの動作が確認されました。
この機能と前述の音声認識機能を利用して、「ただいま通知装置」を作ってみました。イメージとしては、子どもが帰宅して「I’m home(ただいまー)」と言った音声を送信側のHalo Code-1が拾い、クラウドメッセージを受信側のHaloCode-2に送って、それを持っている親が子どもの帰宅を知るといったシステムです。これも音声を認識させてから受信側のHaloCode-2が光るまでに約9秒かかりましたが、この時間差は特に問題にならないので、実生活で使ってみるのも良いかと思います。
メッシュネットワーク機能
メッシュネットワーク機能は、複数のHaloCodeを制御するという意味ではクラウドメッセージを使うのと変わりはありませんが、メッシュネットワークならインターネットを経由せずに複数のHaloCodeを制御できます。今回は4台のHaloCodeを使ってメッシュネットワーク機能を試しました。ルートになるHaloCodeを手前、左、向こう側に傾けたとき、メッシュネットワークで接続したそれぞれのHaloCodeが反応して光るようにしました。反応は非常によく、ほとんどタイムラグがなく動作することが確認できました。メッシュネットワーク構築は、学校教育の場面を想定した場合、インターネット環境に左右されないという点で作品作りに利用しやすい機能といえます。
AI体験、音声認識、画像認識、機械学習
最後に注目の機能とも言える「mBlock5」 のAI機能を試してみました。HaloCodeを制御するアプリであるmBlock5の機能を使って、パソコンが拾った音声から感情を判断することや、パソコンのカメラに映った人物の年齢を推定することができ、その結果をHaloCodeで出力させました。これは現状ではHaloCode単体では動作させることはできませんが、パソコンを併用することでアイデア次第で面白い作品を作ることができそうです。
また画像データを機械学習させる機能もあり、3種類の画像にそれぞれ複数のサンプルを学習させ、その画像とパソコンのカメラに映っている画像をマッチングさせた結果を使ってHaloCodeに何らかの指示を出すことが可能です。今回は自分の顔、リンゴ、計算機を学習させ、自分の顔が検出されたらLEDを青色に、リンゴなら赤、計算機なら黄色を点灯させるようにブロックを組んだところ、丸顔の筆者の顔がたまにリンゴに認識されることはあったにせよ、基本的にはうまく認識されました。これを使ったIoT作品というのも非常に期待できそうです。
今回、HaloCodeの他のシングルボードコンピューターにはない機能を中心にレビューしてみましたが、やはりWi-Fiをすぐに使えることや音声認識、画像認識もできるという点が使い方の裾野を格段に広げている楽しみな製品だと言えます。また、発売予定となっている拡張ボードが使えるようになれば、使い方もさらに広がり、学校の教育シーンでも、ホビイストにとっても、IoTのプロトタイプ製品作りなど、さまざまなシーンでの活用が期待できそうです。