拡張機能の追加とプログラミング
MakeCode for micro:bitを使って、HUSKYLENS(AI Vision Sensor)のプログラミングを行うには「HUSKYLENSの拡張機能」の追加が必要です。本記事では「HUSKYLENSの拡張機能」を追加する手順と学習済みの顔を認識する簡単なプログラムを紹介します。
13-5-1.拡張ボードを使った接続
micro:Maqueen V4.0との組み合わせ
HUSKYLENSは、外部と接続するためのインタフェースとしてUART/I2Cポートを備えているので、micro:bitと接続することができます。しかしながら、micro:bitの周辺装置としては、比較的消費電力が大きく、電力不足になると、HUSKYLENSが再起動を繰り返すなど不安定な動作となります。
そこで、安定した電力を供給する方法として、micro:bitに取り付ける「拡張ボード」を使用します。「13-4.micro:Maqueen V4.0への取り付け」では、拡張ボードとして、micro:Maqueen V4.0(電源管理モジュール搭載版)を紹介しました。micro:Maqueen V4.0は、拡張ボードとしてだけではなく、独立した二つの駆動輪を搭載したプログラミングロボットカーです。micro:Maqueen V4.0に、HUSKYLENSを搭載することで、自律走行するAIカーの開発が楽しめます。図13-5-1-1は、完成したAIカーです。
HUSKYLENSをmicro:Maqueen V4.0に取り付けただけでは、AIカーにはなりません。AIカーとして動作させるには、プログラミングが必要です。本記事では、MakeCode for micro:bitによるプログラミングと学習済みの顔を認識する簡単なプログラムを紹介します。
13-5-2.HUSKYLENSの拡張機能を追加する手順
MakeCode for micro:bitによるプログラミング
HUSKYLENSを搭載したmicro:Maqueen V4.0を、AIカーとして動作させるには、プログラミングが必要です。プログラムの主な動作は次の2点です。
- HUSKYLENSで認識した対象物の座標や大きさなどを取得する。
- 取得した値を元にmicro:Maqueen V4.0を制御する。
MakeCode for micro:bitを使って「(1)HUSKYLENSで認識した対象物の座標や大きさなどを取得する」には、まず「HUSKYLENSの拡張機能」を追加します。
HUSKYLENSの拡張機能を追加する手順
MakeCode for micro:bitで「新しいプロジェクト」を作成します。
「高度なブロック」>「拡張機能」の順にクリックします。
検索欄に「https://github.com/tangjie133/pxt-huskylens」と入力して、虫メガネのアイコンをクリックします。
「Huskylens」をクリックします。
「Huskylens」が表示されることを確認します。これで、HUSKYLENSの拡張機能が追加されました。
HUSKYLENSの拡張機能で使えるブロック
HUSKYLENSの拡張機能で使えるブロックです。2020年3月18日現在、バージョンはv0.0.4ですが、更新が続いているので、今後も変更になる可能性があります。
13-5-3.学習済みの顔を認識するプログラム
HUSKYLENSの拡張機能を追加したら、簡単なプログラムで動作確認をしましょう。ここで紹介するのは、学習済みの顔(ID1)を認識して、micro:bitのLED画面にチェックマークを表示するだけのプログラムです。認識できないときは、バツマークを表示します。あらかじめ「13-3.顔認識(Face Recognition)」を参考にして、顔の学習を行ってください。
学習済みの顔を認識するプログラム(ブロック)
「最初だけ」ブロックの中で、I2C接続によるHUSKYLENSの初期化を行い、顔認識アルゴリズムを選択しています。
「ずっと」ブロックの中で、HUSKYLENSへ問い合わせを行い、結果を取得した後、IDが「1」のBOX(この場合、ID1の顔)があればチェックマーク、なければバツマークを表示します。この動作を、500ミリ秒毎に繰り返します。