[No.17]あなたのかわりにしゃべるケロ!
夏休みももう終わり! 公共の場でのマスク生活が続いていますが、会話をするときに口元の表情がわからないのが、ちょっと残念。みなさんの代わりにおしゃべりに合わせてパクパク口を動かしてくれて、楽しく明るい気分にさせてくれる装置を作りましょう!! ギリギリセーフで夏休みの工作にできるお子さんもいるかも!?
必要なもの&準備
- SPACEBLOCK通常パッケージ[SPACEBLOCK本体、USBケーブル、電池ボックス]
- マイクセンサモジュール(マイクセンサ)
- 180°マイクロサーボモーター(サーボモーター)
- ジャンパーワイヤ[ピンヘッダ-ピンソケット3本×延長したい数]
- プログラミングをするパソコン
SPACEBLOCKに拡張パーツを接続する
まずは、今回使用するマイクセンサ、サーボモーターをSPACEBLOCKに接続してみましょう。
接続の細かい部分は次の図で確認してください。
サーボモーターで動くカエルの工作
先に、カエルの工作分を作っていきましょう。サーボモーターは0°〜180°の範囲で回転させられます。今回は、0°〜90°の範囲で回転させることを想定して、サーボの動きで口を開かせるしくみを考えました。
カエルの工作部分を仮組みする
装飾なしでまず、仮組みをした完成イメージを見てみましょう。下あごのパーツをサーボモーターで動かします。
順に説明していきましょう。
口の部分は、次の画像の通り段ボールでパーツを作ります。サーボモーターのサーボホーンにストローなどを接着して長さを出します。サーボモーター本体部分、サーボホーン部分をそれぞれのパーツに固定します。なお、仮組みするときは、はがしやすいテープなど簡易的に貼り合わせるのがおすすめです。
各パーツを次の画像の通り組み合わせて固定して口部分を作ります。顔型パーツを別に用意します。
顔型パーツに、口の部分を垂直に取り付けます。サーボモーターの角度が0°のときに口が閉じた状態。90°で口が最も開いた状態になります。
これで仮組みの完成です。サーボで動かす下あごが、どこかにひっかかることなくスムーズに動くか確認しておきましょう。仮組みの状態でプログラミングをしてテストすると、さらに工作の微調整ができます。
ここでは、このまま続けて工作部分を仕上げます。
装飾をして工作部分を仕上げる
仮組みをしたパーツをいったんバラして装飾し、本格的に組み立てましょう。各パーツにふさわしい色の色画用紙を貼りつけました。
口の部分を順に固定して、さらに顔パーツに接着します。
さて、肝心のプログラムに取りかかりましょう!
マイクセンサの使い方と値チェック
プログラムでは、まずマイクセンサで音の大きさの測定をします。マイクセンサは以前「[11]音楽に連動するパーティーライト」で詳しく使い方を紹介しているので、ここでは簡単に復習します。
マイクセンサの値は、音が大きければ値も大きくなり、音が小さければ値も小さくなります。マイクの感度はセンサについているポテンショメータをドライバなどで回すと調整できます。
マイクセンサの値は、「入力」カテゴリーの[《A0》の電圧をアナログ読取]ブロックで値をチェックできます。どのくらいの大きさの音がどのくらいの数値になるのかをチェックしてみましょう。
音量をもとにサーボの角度を指定するプログラム
プログラムを上から順に説明していきます。
まず、サーボモーターの最初の角度を0°にします。0°の状態が口が閉じた状態です。このプログラムだけを実行して、0°の状態にしてから、口が閉じた状態になるようにサーボモーターに下あごのパーツをはめましょう。
これでプログラムが完成です! マイクセンサの値を取得してはサーボモーターの角度を変更するという手順をひたすら繰り返すので、電源を入れている間は常に音に反応して口が動きます。
なお、マイクセンサの値をテストしてチェックしたときに、値の範囲が0〜180には調整できなかった方も多いでしょう。そんなときは、次の「チャレンジ!」をみてくださいね。ちょっと計算方法を変えるだけで大丈夫です!
今回、マイクセンサ0〜180の値をサーボの角度0°〜90°に計算して変換しましたが、これを図にすると次のようになります。
人が喋っているのにカエルの動きがシンクロしているみたい!