「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。

micro:bit Lab.【マイクロビット】

micro:bit Lab.では、micro:bit【マイクロビット】に関する情報を紹介しています。

学習済みの顔を認識するプログラム
13-5

拡張機能の追加とプログラミング

2020-03-182020-03-18

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カーです。

図13-5-1-1.HUSKYLENSを搭載したmicro:Maqueen V4.0(AIカー)
図13-5-1-1.HUSKYLENSを搭載したmicro:Maqueen V4.0(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点です。

  1. HUSKYLENSで認識した対象物の座標や大きさなどを取得する。
  2. 取得した値を元にmicro:Maqueen V4.0を制御する。

MakeCode for micro:bitを使って「(1)HUSKYLENSで認識した対象物の座標や大きさなどを取得する」には、まず「HUSKYLENSの拡張機能」を追加します。

HUSKYLENSの拡張機能を追加する手順

MakeCode for micro:bitで「新しいプロジェクト」を作成します。

図13-5-2-1.新しいプロジェクトの作成
図13-5-2-1.新しいプロジェクトの作成

「高度なブロック」>「拡張機能」の順にクリックします。

図13-5-2-2.「高度なブロック」>「拡張機能」
図13-5-2-2.「高度なブロック」>「拡張機能」

検索欄に「https://github.com/tangjie133/pxt-huskylens」と入力して、虫メガネのアイコンをクリックします。

図13-5-2-3.検索欄の入力
図13-5-2-3.検索欄の入力

「Huskylens」をクリックします。

図13-5-2-4.Huskylensの選択
図13-5-2-4.Huskylensの選択

「Huskylens」が表示されることを確認します。これで、HUSKYLENSの拡張機能が追加されました。

図13-5-2-5.Huskylensの確認
図13-5-2-5.Huskylensの確認

HUSKYLENSの拡張機能で使えるブロック

HUSKYLENSの拡張機能で使えるブロックです。2020年3月18日現在、バージョンはv0.0.4ですが、更新が続いているので、今後も変更になる可能性があります。

図13-5-2-6.HUSKYLENSの拡張機能で使えるブロック(1)
図13-5-2-6.HUSKYLENSの拡張機能で使えるブロック(1)
図13-5-2-7.HUSKYLENSの拡張機能で使えるブロック(2)
図13-5-2-7.HUSKYLENSの拡張機能で使えるブロック(2)

13-5-3.学習済みの顔を認識するプログラム

HUSKYLENSの拡張機能を追加したら、簡単なプログラムで動作確認をしましょう。ここで紹介するのは、学習済みの顔(ID1)を認識して、micro:bitのLED画面にチェックマークを表示するだけのプログラムです。認識できないときは、バツマークを表示します。あらかじめ「13-3.顔認識(Face Recognition)」を参考にして、顔の学習を行ってください。

学習済みの顔を認識するプログラム(ブロック)

図13-5-3-1.学習済みの顔を認識するプログラム
図13-5-3-1.学習済みの顔を認識するプログラム

「最初だけ」ブロックの中で、I2C接続によるHUSKYLENSの初期化を行い、顔認識アルゴリズムを選択しています。

「ずっと」ブロックの中で、HUSKYLENSへ問い合わせを行い、結果を取得した後、IDが「1」のBOX(この場合、ID1の顔)があればチェックマーク、なければバツマークを表示します。この動作を、500ミリ秒毎に繰り返します。

おすすめ品

micro:Maqueen

独立した二つの駆動輪を持つSTEM教育用のグラフィカルプログラミングロボットです。

電源管理モジュール(リチウムイオン電池ホルダー)

micro:Maqueenに取り付けることでリチウム電池や充電式リチウムイオン電池が使えます。

充電式リチウムイオン電池(3.7V 750mAh)

充電式リチウムイオン電池(3.7V 750mAh)です。

この記事を読んだ人は、こんな記事にも興味があります。
スポンサーリンク
TOPへ移動
目次へ移動