[キッズプロジェクト] まねっこパンダ

今回やること

スマートフォンやPCのカメラに映った笑顔や悲しい顔など、あなたの表情を真似するパンダを作ります。

用意するもの

  • obniz Board
  • モバイルバッテリーなど
  • サーボモーター x2
  • カメラ付きのスマートフォンまたはPC x1
  • 装飾用の紙や針金・モール

組み立て方

筐体

まずは紙でパンダなど動物の顔を作ります。 そして、針金とサーボモーターを2つ使い、写真のように口を作ってみましょう。

口の両端に穴を開け、それぞれ後ろからサーボモーターをさして針金でモールに取り付けます。

配線

サーボモーターのライブラリを参考に、以下の表や図のように配線します。

obniz 部品
0 サーボモーター1 signal
1 サーボモーター1 Vcc
2 サーボモーター1 GND
9 サーボモーター2 signal
10 サーボモーター2 Vcc
11 サーボモーター2 GND

obnizに電源を繋いでプログラムを開き、スマホやパソコンのカメラに顔をうつして、笑ってみたり悲しんでみたりしましょう。

プログラム

JaveScriptの顔認識ライブラリclmtrackrを使って、顔から笑顔度や悲しみ度を調べて、口を動かしています。

drawLoop 関数内で以下のように顔のパーツの位置やパラメータ、そして感情推定値を取得しています。そして、喜びや悲しみの感情が推定されたとき、口の両端につけたサーボモーターが動くようになっています。

let positions = tracker.getCurrentPosition();
let parameters = tracker.getCurrentParameters();
let emotion = classifier.meanPredict(parameters);

完成したプログラム

実行前にサーボモーターの角度を揃えておきましょう。