3つのサーボモータをmbedでコントロール

June 11, 2016

見えにくいですが、右下のが作成中のロボットです。ガムが入っていた容器を胴体に、ゼリーの入っていた容器を頭に使用しました。モーターを取り付けたり、線を引き出すための穴を開けるのは、ユニバーサルソーとかハサミとかありものを使いました。プラスチック製の容器だと加工しやすくて、特殊な道具を使わなくて済むのが良いですね。

肩の関節と首の関節を動かすために、SG90というサーボモータ(アマゾンで5個入りが2000円)を使用しました。HRM1017はPwmOutを3つまでしか使用できないようで、これが限界みたいです。一応、3つ動きましたが、結構動きがギクシャクしているというか、停止せずにブルブル震えることがよくあります。ソフトウエアでのPWMの限界ですかね。

頭の中に見えているのがスピーカー(不要なポケットラジオに使われていたものを流用)で、AquiesTalkの音声出力を簡易アンプで増幅させて出力させます。

大して部品数は多くないのですが、手頃な大きさのブレッドボードがなくて基板は外付けにせざるをえませんでした。本当は本体内に全部収めたかったんですが。

BLEによる遠隔操作はiPod Touchから行うことにしました。こちらに公開されていたBLEのサンプルアプリを参考に、iPodからキャラクタリスティックを送れるアプリを作成して、動作することを確認しました。

このアプリとmbedとのデータのやり取りはざっくりとは下記のように行っています。iPodアプリはCore Bluetooth Framework, mbedのソフトはBLE_APIを使用しています。BLE関係の処理はほとんどライブラリ側が勝手にやってくれるので楽です。

ble_sequence