LoginSignup
1

More than 1 year has passed since last update.

Raspberry Pi と Arduino で作る360度回転リモートワークカメラ(1)

Last updated at Posted at 2020-12-06

この記事は WESEEK Advent Calendar 2020 6日目の記事です。

はじめに

Raspberry Pi と Arduino 、ステッピングモーターを組み合わせて、遠隔操作できるリモートワークカメラを作りました。

弊社では高田馬場と別府の2箇所にオフィスがあり、日頃 Google Meet で繋いでいます。
今までは一般的なWebカメラを使っていました。これだと、カメラの向きを自由に変えられないため、社内のイベントなどの様子をリモート越しに共有しきれていないことがを課題と感じていました。
向きを変えられるカメラは既に市販されているのですが、もともと電子工作を趣味でやっていたことと、勉強も兼ねて、リモートワークカメラを自作することにしました。

構成

image.png

まず、Raspberry Pi は、 Xbox One コントローラーの入力から制御コマンドを組み立て、 Arduino に送る処理と、 Webカメラの映像を Google Meet へ流す処理をしています。

Arduino は、 Raspberry Pi から送られてきたコマンドを処理し、モータードライバ L6470 へSPI経由でコマンドを送り、モーターを駆動しています。モータードライバは、物理的な限界に関わらず有効なコマンドを受け付けてしまい、脱調する恐れがあるので、 Arduino 側で回転速度の制限を入れています。また、現時点では実装されていませんが、原点復帰など、機械原点の管理なども担う予定です。今はまだ機能が少ないので、Arduino を入れているメリットはあまりありません。

材料

主要な部品のみ列挙します。
部品は、秋月電子通商、千石電商、モノタロウで購入しました。
材料費は約5万円です。
市販の完成品のカメラを買ったほうが安いです。

設計

駆動部分の設計は Fusion 360 で行いました。
設計やこの後の製作過程の詳細についてはまた別の記事で書こうと思います。

_2020-Nov-07_03-57-38AM-000_CustomizedView11083196361.png
_2020-Dec-05_07-51-18AM-000_CustomizedView24887701842.png

製作

部品加工

フレーム部分は、Fusion 360 で設計したデータを書き出し、MDFをレーザーカッターで切り抜きました。

image.png

組み立て

駆動部分を組み立てると、このようになりました。
Fusion 360 で設計したとおりに各部品がはまりました。

EmntFKMU8AA2hta.jpg

実際に回転させてみた動画はこちらです。

Arduino 、 Raspberry Pi などの基板を取り付け、配線しました。

image.png
image.png
image.png

ソフトウェア実装

コードの説明などは、別の記事で詳しく書きたいと思います。

Arduino と Raspberry Pi はUSB接続し、シリアル通信しています。
Raspberry Pi からCSV形式で Arduino に回転方向と速度を送っています。

0,45000 # 右に定速回転
1,10000 # 左に定速回転
2,6400 # 現在位置から右に指定したステップ数移動
3,3200 # 現在位置から左に指定したステップ数移動

Xbox One のコントローラーを Raspberry Pi と Bluetooth で接続しています。右スティックを左右に倒すと、倒し込み量を先程のCSV形式に変換して Arduino に制御を行っています。コントローラーの操作を処理する部分は、 Pygame を使いました。

結果

今はまだ左右に回転するだけの機能しかないのですが、下記の動画のように首振りできるリモートワークカメラができました。

最後に

※この記事は WESEEK Tips wiki に 2020/12/06 に投稿された記事の転載です。
Tips wiki では、IT企業の技術的な情報やプロジェクトの情報を公開可能な範囲で公開してます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1