elecdeerのアイコン画像
elecdeer 2021年02月28日作成
製作品 製作品 閲覧数 1490
elecdeer 2021年02月28日作成 製作品 製作品 閲覧数 1490

M5Cameraで作るネットワーク首振りカメラ

M5Cameraで作るネットワーク首振りカメラ

大学の課題的なもので必要になったので、M5Cameraを用いたネットワークカメラを作りました。サーボモータを2つ使い、上下左右に首を振ることができます。

始めはSparkFun製のPan/Tilt 機構作成キットにM5Cameraを取り付けていたのですが、向きが定まらずぷるぷる震え続けてしまうことがありました。そこで、よりトルクがありメタルギアなGWSMICRO/2BBMGを使い、1から作ることにしました。

ハードウェア

フレーム

元のPan/Tilt 機構作成キットで使われているSG90サーボとはサイズが違うため、3Dプリンタで新しく作りました。モデルはFusion360で作成しました。4つのパーツに分かれています。

全面の穴にはLEGOのペグがはまるようになっていて、M5Cameraを直接固定できます。

モデルは以下のページで公開しています。f3dファイルと各パーツのstlファイルが入っています。なお、一部ネジで固定する箇所があります。
モデルダウンロード(GoogleDrive)

fusion360

配線

M5CameraのGrove端子に繋いだ線を分岐させ、2つのサーボに配線します。配線を整えるために、M5Stack用ミニプロトユニットで分岐用のアダプタを作りました。5VとGNDは共通にし、白と黄をそれぞれのサーボへと配線するだけです。GROVE - サーボ用2分岐ケーブルを用いてもいいと思います。

ソフトウェア

動くことを優先した結果、とっちらかったコードになってしまったのでここには載せません。(ライセンスとか考えるのも面倒くさいので...)

M5Camera

ESP32のサンプルである、CameraWebServerにサーボ駆動関係のコードを付け足して使用しています。

サーボ用のライブラリはServoESP32を使いました。app_httpd.cppのcmd_handler関数にサーボへwriteする処理を追加すれば、httpからサーボを動かせるようになります。GPIOピンは4ピン(Grove内側)と13ピン(Grove外側)です。

ビューワ側

カメラ映像はhttp://<IP>:3001/streamで配信されているので、htmlのimgタグのsrcにこのURLを指定すれば表示できます。サーボの操作はformタグを使えば簡単に作れます。

キャプションを入力できます

終わりに

M5Cameraは簡単にネットワークカメラが作れて便利ですね。少し前に新しく出たTimer Camera Xも気になるところです。

それはそれとして、今よくよく考えると、動かした後にデタッチするようにすれば、ハードウェア新しく作らなくて良かった気がしますね...

ログインしてコメントを投稿する