Arduinoレンズコントローラー - Wiiクラシックコントローラーとの同期ズーム/フォーカス:11ステップ(写真付き)

Arduinoレンズコントローラー - Wiiクラシックコントローラーとの同期ズーム/フォーカス:11ステップ(写真付き)

目次:

Anonim

私のLumix GH2マイクロフォーサーズカメラは幻想的な高精細ビデオを撮るだけでなく、安価なアダプターで私は安くてそしてしばしば非常に高品質である古い手動レンズでそれを使うことができます。私は私の娘のダンススタジオのためにたくさんのパフォーマンスビデオを撮影します、そしてそれがズームレンズのために良いズーム範囲と速い口径を提供するので、私はf3.5 Nikon 28-85mmズームレンズを使います。この設定の問題点は、レンズを手動でズームしてピントを合わせる必要があることです。撮影中はズーミングを最小限に抑えようとしますが、適切なフレーミングを維持したりダンサーのスキルを見せつけたりするのに不可欠な場合があります。私は(通常は)過度のカメラジッターを発生させることなく手動でズームすることを学ぶことができましたが、私も手動で焦点を合わせているので、ズームインまたはズームアウト後に素早くスムーズにフォーカスを調整するのはちょっと面倒です。この欠点を克服するために、私は自分のカメラのためにパワーズームとフォーカスコントローラを構築することを決心しました(レンズがスムーズに拡大/縮小しても自動的に適切なフォーカスを維持できるという重要な目標)。何ヵ月もの間試作を行った後、私はWii Classicコントローラからの入力を受け付けるArduinoクローンを使用し、そしてレンズを動かすために2つの趣味のサーボを使用する素晴らしい解決策にたどり着きました。最終製品の総コストは100ドル未満です。

私が最終的に実装したデザインには、いくつかの高度な機能があります。

- 2つのジョイスティックは、連続可変速度レンズ制御を提供します。右スティックを前後に動かすとズームとフォーカスが同期し、左スティックを左右に動かすとフォーカスが合います。速度制御を実装すると、サーボノイズを許容レベルまで抑えることができます。

- Wii Classicからその場でプログラムすることができ、ボタンを押すだけで望みの位置にズームとフォーカスを移動することができる6つのプログラム可能な "goto"ズーム/フォーカス設定があります。ほとんどのズームでは、任意のズーム/フォーカス位置ではa、b、x、およびyになります。

- 最大レンズ移動設定は、サーボがレンズのズームおよびフォーカス位置の限界を超えて回転しようとしないように、その場でプログラムすることもできます。

- Dパッドは、ズーム(上下のパッド)とフォーカス(左右のパッド)の1度の動きを提供して、重要なフォーカス/ズームを正確に調整します。

これは、Nikon 28 - 85mmズームレンズを使った同期ズームフォーカスが私のGH2でどのように機能するかを示すデモです。

この講義では、Arduinoのコードやサーボをレールベースのカメラリグに取り付けるための手順など、このコントローラーの独自バージョンの作成方法の基本について説明します。私はどのように私が私のリグを作ったかについて言及するつもりです、しかし、私はそれに本当に満足していないので、私はそれに関する詳細なステップに入らず、あなたに任せますそして私がそれを作った方法についてのいくつかのメモ。

私はArduinoを使って何かを構築する最初の試みでしたが、私はプログラミング経験があるのでArduinoコードの基本を学ぶのはそれほど難しくありませんでした。しかし、このプロジェクトに取り組みたいと思っていて、Arduinoの設定とプログラミングにまだ慣れていないのであれば、Arduinoサイトのチュートリアル、特にServosのチュートリアルを一通りお読みになることをお勧めします。

用品:

ステップ1:はじめに:工具と材料

いくつかのワイヤーストリッパーとはんだごてで、このプロジェクトのための電子機器を完成させることができます。しかし、サーボマウントアームを作るためには、バンドソーとドリルプレスに手が届くようにするのが助けになります(ハンドドリルで慎重に作業すると後者の必要性を否定することができますが)。また、私は自家製のカメラレールシステムのレールに合うように、プラスチックをカットするためにテーブルソーを使用し、プラスチックの溝をカットするために直径1/2のコアボックスビット付きのテーブルマウントルーターを使用しました。

このプロジェクトを完成させるのに必要な主な物資のリストを次に示しますが、自分のニーズに合うように購入するものを理解できるように、何かを購入する前に説明書全体をご覧ください。

- ArduinoまたはArduinoクローン(私はSeeeduinoを使用しましたが、Arduiinoよりも少し安価で、同じ機能を提供しています)。

- Wiiクラシックコントローラー。私はeBayから出荷されたおよそ10ドルで私のものを買いました。

- Wiichuckアダプタ(Wii Classicに差し込む小さな回路基板なので、ケーブルを切る必要はありません)。私は4ドルでFunGizmosからこれを得ました:http://store.fungizmos.com/items/212

- ナイロンギアとボールベアリングを備えた2つの標準サイズの趣味用サーボ。ナイロンギアはより静かで、より堅いズームレンズの負荷を扱うとき、ボールベアリングはシャフトのためによりよい支持を提供します。私は地元のRCストアからそれぞれ5ドルで余分なサーボを購入しましたが、それらをさらに静かで正確な360度のデジタルサーボに交換します。それらはeBayからそれぞれ20ドルの費用がかかります。

- あなたのレンズのズームとフォーカスリングにマウントするための2つのレンズギア。私はeBayで見つけた柔軟なものをそれぞれ10ドルで使い、自分のスペーサーリングを作ってより良い解像度とサーボ用のもう少し機械的な利点を提供しました。また、約2倍の費用をかけて、内蔵のスペーサーを持つレンズギアリングを入手することもできます。これらはeBayでも利用できます。 「レンズギアがフォーカスに従う」を検索するだけです。

- 2ギアを駆動してサーボに取り付け、レンズギアを駆動します。これらは、32pまたはmod。8のギアピッチ(レンズギアの標準ピッチ)である必要があります。私はオリジナルのサーボコントロールアームにいくつかの4ドルのRC平歯車を取り付けることによって私自身のドライブギアを作りました、しかしそれは皆が持っているというわけではないミニ旋盤でいくらかの仕事を必要としました。もっと良い選択肢は、サーボシティからサーボマウント可能なギアをほんの数ドルで購入することでしょう。http://www.servocity.com/html/32_pitch_hitec_servo_gears.htmlあなたがそれらを注文している間、あなた自身をあなたのArduinoにあなたのサーボを接続することを必要とするなら、そしてあなたが必要ならサーボを交換することを容易にするため

- 1/2インチ厚のシートプラスチックまたは3/4 "厚のアルミニウムでサーボマウントを作成します。古いプラスチックのまな板を使用しましたが、使用する場合は、もっと硬い種類のものであることを確認してください。あなたのサムネイルで表面はまったく)より柔らかい種類はUHMWであり、この目的のために十分に機械加工することはできません。

- サーボマウントをレールに固定するためのノブとそれに対応するキャリッジボルト。

ステップ2:レンズ用のギアとサーボの選択

あなたがあなたのサーボまたはギアを購入する前に、あなたはサーボについてのいくつかのことを理解する必要があります。サーボの動きは限られているので(通常180)、ズームとフォーカスの範囲全体にわたってレンズを制御できるようにしたい場合は、レンズのリングの動きとレンズの直径に基づいて少し計算を行う必要があります。サーボが駆動するギア。私が行ったプロセスを実行するのが最善だと思うので、あなたはあなた自身のシステムのニーズに対して同じアプローチに従うことができます。

私のレンズのフォーカスとズームリングは端から端まで約90度動きます、そしてスペーサーとレンズギアでサーボによって動かされるギアの全直径は4.25インチです。私は13.35インチの円周を得るためにこのウェブサイト(http://math.about.com/library/blcirclecalculator.htm)から円周計算機を使いました。 90度は360の1/4なので、私のサーボは約3.4インチの移動量(13.35 / 4)を提供する必要があると計算できます。私は標準的な180度のサーボを使用しました、それで私のサーボドライブギアの円周は少なくとも6.8インチでなければならなかったことを知っています(180度は360の半分です、従って私のサーボは半分の全円周の動きを提供できるだけです)サーボドライブギヤ)再び円周計算機を使用して、私は私が少なくとも直径2.2インチであるギアを必要とすることを知っています。私は実際にはわずかに小さいレンズギアを使用することになりました。なぜなら私は全範囲のフォーカス動作を必要とせず、ズームよりももっと重要なので、フォーカスを少し細かく制御したいと思ったからです。これは念頭に置いておくべきもう一つの考慮事項です - あなたがドライブギアとレンズギアの間で1:1に近いほど、あなたはより少ない解像度を持っています。たとえば、私の設定では1度のサーボステップ= 1/2度のレンズステップですが、私のドライブギアの直径がレンズのギアと等しい場合、レンズは各サーボ度に対して1度移動します。 1:2のドライブ:レンズ比の場合と同じように、1:1のドライブ:レンズ比の場合、より多くのサーボトルクが必要です。

あなたが導入することができる別の変数があることも知っているべきです - サーボ回転。私のサーボ制御コードは180度回転する標準的なサーボ用に書かれていますが、360度回転する一対のデジタルサーボを注文しました。あなたは、最大3回転まで回転するサーボを得ることができます。もちろん、増加した学位範囲を処理するには、コードに若干の変更を加える必要がありますが、それはかなり簡単なはずです。フルターンまたはマルチターンのサーボが必要な場合は、eBayで「ウインチサーボ」を検索してください。

ステップ3:Arduino(またはクローン)を準備する

Arduino(または同等品)、Wiichuckコネクター、サーボとリード、そしてWii Classicコントローラーを入手すれば、準備が整い、Arduinoにコードをロードする準備が整います。概要は次のとおりです。Wiichuckコネクタとサーボリードを配線して、すべてをまとめてテストできるようにします(この手順にははんだ付けが必要です)。接続したら、コンピュータにArduino IDEをセットアップし、Arduinoを接続して、必要なライブラリとサンプルのロードを開始します。それから楽しみが始まります。

WiiChuckアダプタの配線:

この部分は、私がしたことをしないでそれに付属している小さな4ピンヘッダをなくしてしまうなら、とても簡単です。ヘッダーを所定の位置にハンダ付けしてから、FunGizmos Webサイトの画像に示すようにArduinoに差し込みます。 Classicコントローラを接続するには、コントローラプラグのくぼみがWiichuckアダプタの「nc」とぴったり合っていることを確認してください。

サーボの配線:

私が最初にこのプロジェクトをサーボではなくステッピングモーターで構築しようとしたので、私はもともとモーターコントローラボードを購入しました(なぜなら彼らはもっと静かだと思っていたからです。ボードには2つの趣味のサーボコネクタがあるので、サーボを接続するためにはんだ付けをする必要はありませんでした。しかし、プロセスはそれらを簡単に配線することです:あなたは単にあなたのボードのグラウンドとVCCに両方のサーボ(黒が負、赤が正)の電源リードを接続するだけです。いくつかの場所から選択できます。次に、1本のサーボの信号線(黄色)をピン9に接続し、もう片方をピン10に接続します。これらは、サーボにどの程度回転させるかを指示するために必要なデフォルトのパルス幅変調出力を提供するデフォルトPWMピンです。

配線が完了したら、すべてをまとめて接続し、USBケーブルでArduinoをコンピューターに接続して、コードの読み込みを開始できます。

ステップ4:ボードをプログラムする:ライブラリと私のコードを入手してプレイを開始

レンズコントローラー用に書いたコードを読み込む前に、Arduino IDEをコンピューターにセットアップし、必要なライブラリーを読み込む必要があります。サーボ制御ライブラリはArduino IDEに含まれているので、そのために何もする必要はありません。しかし、私のコードはArduinoの遊び場で利用可能なユーザー提供のWii Classic Controllerライブラリも使用しています。

あなたはあなたのライブラリにこれを追加するためにページのステップに従うことができるか、あるいは私が添付したzipファイルをダウンロードしてあなたのArduinoライブラリフォルダにそれを解凍することができます。私のものはこの道にあります:

.. Documents Arduino arduino-1.0 libraries

libarariesフォルダにMiconoWiiClassicというフォルダを作成し、そのフォルダに "WiiClassic.h"ファイルを保存しました。ここに含まれているMiconoWiiClassic.zipファイルをArduino-1.9 librariesフォルダに解凍するだけです。

アップデート:

1)このInstructableを最初に投稿してから、サーボの解像度を2倍にする方法を考え出しました。これにより、サーボがより滑らかで正確になります。私はArduinoによってインストールされたServosライブラリを微調整することによってこれを行いました。ライブラリを自分で調整するか、Servo.zipファイルをダウンロードしてServo.cppファイルを.. Arduino arduino-1.0 libraries Servoフォルダに抽出し、そこにあるServo.cppファイルを上書きすることができます。自分でファイルを微調整したい場合は、メモ帳でライブラリからファイルを開き、「180」のすべてのインスタンスを「360」に置き換えるだけです。このアップデートを行う前にスケッチをダウンロードした場合は、FocusController_gp.zipを再ダウンロードしてそれをスケッチフォルダーに抽出する必要があります。そのフォルダにfocus_zoom_controller_servo_final_2xresolution.inoが追加されます。

2)ファイルを解凍した後、WiiClassic.hファイルの中の1つを私のコードで期待通りに動作させるために変更する必要があります。WiiClassic.hライブラリにはDEFINE_ON_HOLD機能が含まれています。ボタンが押されたことは一度だけ報告されます。これをコメント解除するには、メモ帳で.. arduino-1.0 libraries MiconoWiiClassic WiiClassic.hファイルを開き、次の行を変更する必要があります。

//#REPORT_ON_HOLDを定義する

#define REPORT_ON_HOLD

そうしないと、ボタンを押している間、方向パッドのボタンを押してもサーボが動き続けますが、サーボを押すごとに1ステップだけ動くはずです。このエラーは、他のボタンを押したときの奇妙な動作も引き起こす可能性があります。

3)WiiChuckアダプタをアナログピン2,3,4,5に差し込む場合は、コードの設定セクションに以下を追加して2と3をグランドと電源として設定する必要があります(Phillip Jamesに感謝)この見逃しを捕まえて

"pinMode(16、OUTPUT);"デジタル16ピン(別名アナログ2)をグランドピンとして設定

"digitalWrite(16、LOW);"

"pinMode(17、OUTPUT);"デジタル17ピン(別名アナログ3)を+ 5Vピンに設定

"digitalWrite(17、HIGH);"

ライブラリを作成したら、私のプロジェクトコードをダウンロードしてメインのArduinoフォルダに解凍することもできます。次回Arduino IDEを起動すると、私のプロジェクトがSketchbookフォルダに表示されます。私のArduinoフォルダは私のdocumentsフォルダにあります。

.. Documents Arduino

ステップ5:テストの結果:Wii Classic Controller

電子部品を接続してコードを配置したら、必要に応じてテストを開始してコードを調整します。スケッチブックからWiiClassicTestValuesスケッチを読み込むことから始めます(ファイル>スケッチブック> WiiClassicTestValues)。ボードにロードする前に、WiiClassic.hライブラリが正しくインストールされていることを確認するためにコンパイルします(ライブラリリストにも表示されるはずです(Sketch> Import Library)。正しくコンパイルされたら、ロードします)。あなたのボードに。

プログラムはWii Classicの各スティックの値をシリアルモニタに出力するので、シリアルモニタを開く必要があります(ツール>シリアルモニタ)。スティックを静止させた状態でコントローラーを動かして値が中心位置にあることを確認します。その後、2つのスティックを系統的に数秒間前方に、次に完全に下に、次に完全に左に、最後に全方向に押します。右。それが終わったら、モニターウィンドウで自動スクロールをオフにして、結果をメモ帳にコピーしてさらに確認するためにファイルを保存することができます。これで、コントローラコードがWii Classicコントローラに合わせて調整されていることを確認する準備が整いました。

ステップ6:レンズコントローラーコードをロードしてWiiコントローラー用に調整する

これで、コントローラコードをロードして、予想されるコントローラ値がWii Classicコントローラと一致することを確認できます。 ファイル> スケッチブック> focus_zoom_controller_finalからコントローラスケッチを読み込むことから始めます。

ロードしたら、コードの101行目までスクロールして、以下に示すコントローラスティック値の設定を確認します。

//右のスティックは左の1/2の解像度を持ちます - これらの値は1とは異なる可能性があります

//別のものに制御するので、テストプログラムを実行しての値を識別する必要があります。

//各スティック位置

int yCenterRight = 15。

int yMinRight = 2。

int yMaxRight = 28。

int xCenterRight = 15。

int xMinRight = 3;

int xMaxRight = 28。

int centerOffsetRight = 3;

int endOffsetRight = 0;

int yCenterLeft = 32;

int yMinLeft = 6;

int yMaxLeft = 55;

int xCenterLeft = 31;

int xMinLeft = 6;

int xMaxLeft = 55;

int centerOffsetLeft = 6;

int endOffsetLeft = 0;

これらの値をコントローラからの読み出し値と照らし合わせて確認し、必要に応じて値を変更してください。必ず変更を保存してください。

ステップ7:

サーボでコードをテストする時が来ました。私のコードでは、Arduinoの9番ピンにズームサーボを接続し、10番ピンにフォーカスサーボを接続しています。番号を変更することで、コード内で簡単に変更できます。

void setup(){

Serial.begin(9600); //シリアルライブラリを9600 bpsに設定

//サーボを取り付けてサーボにレンズを取り付けるための初期位置に設定する

zoomServo.attach(9);

focusServo.attach(10);

それが完了してサーボが接続されたら、ボードをコンピュータのUSBポートに差し込み、コードをボードにダウンロードします。ダウンロードと起動が完了すると、Zoomサーボは180度に移動し、Focusサーボは0に移動します。これでスティックとボタンを使って再生を開始し、さまざまなサーボ位置とフォーカスをプログラミングすることができます。比率。いくつかのボタンはデフォルト値を持っています、しかし、あなたが押すことによってどんなボタンでもプログラムすることができます、そして、ボタンとプログラムはボードがリセットされるか電源が切られるまで設定を記憶します。

サーボを動かすためにコントローラーが正しく機能していることを確認したら、カメラとレンズをつかみ、スティックの動きに対するサーボの方向が正しいかどうかを評価できます。右スティックを前方に押すとサーボが正しい方向に回転してレンズがズームされ、後方に引くと反対になります。同時に、ズームを移動したときにカメラの焦点を合わせるのに必要な方向にフォーカスを移動する必要があります。ズームインしたとき(右のスティックを前方に押したとき)、フォーカスを修正するためにフォーカススティックを右に動かしたり、ズームアウトしたとき(右のスティックを後ろに引いたとき)、フォーカスを補正するには、フォーカススティックを左に動かします。これは最も直感的な配置のように見えました。

カメラリグに取り付ける予定の方法で、カメラとレンズの横にサーボを設定すると、レンズの動きを考慮して、サーボが正しい方向に動いているかどうかを判断できます。そうでない場合は、各スティックの動きに対するサーボの動きの方向を変更する方法についてのコード内の指示があります。私はこれを容易にするためにServoライブラリをハックする将来の計画を持っています、しかし今のところそれはスイッチをひっくり返すことほど容易ではありませんが、それはそれほど過度に複雑でもありません。

ステップ8:実際のテストのためにまとめる

これが本当に楽しいところです。サーボがカメラに適した方向に動いていることに満足したら、すべてをマウントしないでカメラやレンズでどのように機能するかを確かめる理由はまったくありません。すべてが満足できるようになったら、エンクロージャを作ってスイッチ、電源コネクタ、そしてかわいいライトを追加することができますが、あなたのセットアップがあなたの望み通りにあなたのレンズを動かすことができるかどうかを確かめるまでそうすることには意味がありません。私はこれを私のプロジェクトの何度かの繰り返しで行いました。それには、完全な惨事であり、コースを変更してサーボに切り替えることになったステッパーベースのバージョンが含まれます。まだ微調整が必​​要な最終製品にあまりにも多くの作業をコミットする前に、アイデアは早く失敗することです。

サーボドライブギアとレンズギアを取り付けることから始めます。これはすべて非常に簡単ですが、あなたがあなたのレンズギアが(私のように)すべって滑っているのを見つけたなら、それはあなたが簡単に安い裏側から剥がされるゴム裏地で何かのグリップを増やすことができることを知るのを助けるかもしれません、薄いマウスパッド。サーボからノイズを除去するために同じものを使用することもできます。これらの方針に沿って、サーボギアボックスにプラスチックで安全なグリースを追加すると、サーボノイズを減らすことができます。私はプラスチック金庫として指定されている釣りリールグリースを使いました、そしてそれは本当に私のズームサーボを静かにしました。

あなたが鉄道システムを持っていないなら、あなたは私がしたことに従うことによってそれを作る必要があるでしょう(私は絵があなたを導きます)またはウェブ上でさらに良いデザインを見つけるでしょう。私のリグはテスト目的のために素早くまとめられました、そして私は石畳のデザインをもっと魅力的で、堅く、そして調整しやすいものに取り替えることを計画しています。私のレールは、私が4ドルでGoodwillから入手した直径1/2のカーボンスキーポールです(Goodeブランドはテーパーが付いていないので、彼らはこれのためによく働きました)。レールホルダーは厚さ1/2インチの硬質プラスチックのまな板で作られていて、幅2-1 / 2インチ、長さ6インチのストリップになっています。レールの「穴」を作るために、ルーターのテーブルに取り付けられた小さな箱でコアボックスのビットが付いた2つの1/4インチの深さ×1/2インチの直径の溝を引きました。私は今、この物をもっと広くしたほうがいいのですが、カメラをレールから外さずにバッテリードアにたどり着けるように、それを狭くしたかったのです。私はそれから2片を縦に切って、いくつかの木ねじで一端にバルトバーチ合板のスペーサーブロックを取り付けて、それからそれをカメラとManfrottoクイックリリースプレートに取り付けるためにそれに1.4 "の穴を2つあけました。

レールリグを手に入れたら、レールに合うようにサーボマウントブロックを作成できます。私はまた私が私のルーターのテーブルで回したある堅いプラスチックまな板のスクラップから私のものを作った。私は一端をいくつかの小さい乾式壁ねじと一緒にねじ込み、そしてキャリッジボルトを保持するためにレール穴の反対側に全体を1.4インチ開けた。小さいノブは私がレールにかなりぴったり合うように私がブロックを締めるのを許す。すべてが問題なく収まったことを確認したら、サーボに付属しているサーボ取り付けネジに合うように小さなパイロット穴を開け、サーボを所定の位置に固定しました。サーボおよびブロックアセンブリをレールに取り付けるときに力を加える場所。

ステップ9:テストを実行する

カメラを所定の位置に取り付け(頑丈な三脚に取り付け)、サーボをレールに取り付けたら、試運転のためにすべてを接続します。怒っているギアでArduinoを動かしてはいけません。代わりに、レンズを動かさずにサーボが回転できるように、まずレンズギアから離してください。その後、ボードの電源を入れることができます。あなたがこれをしないならば、あなたはあなたのサーボがその限界を超えてレンズを回そうと試みるのを見つけるかもしれない、そしてそれは良くない。

あなたのレンズのためにあなたのコントローラーをプログラムしなさい(これらの指示はArduinoコードにもある)

ボードが起動してサーボが動かなくなったら、レンズズームリングを動かしてサーボ位置に対応する最大設定にします。コントローラが起動すると、ズームサーボが最も広いズーム位置に移動するので、そこでズームサーボをかける前にレンズを動かします。レンズを動かした後、ドライブギアがレンズのギアに噛み合うようにサーボを動かします(レンズに力をかけすぎると固着する可能性があり、動きがスムーズになりません)。 。私はそれからWii Classic Controllerの「Home」を押し、次に「Left Shoulder」を押すことによってこれを最も広いズーム設定としてプログラムする。それから私は右のスティックを使ってカメラがズーム限界に達するまでズームインし、パッドを使って1度か2度下げます。それからレンズの最大ズーム設定をプログラムするために "Home"、次に "Right Shoulder"を押してこの最大ズーム位置をプログラムします。

フォーカスサーボについても同じ手順を繰り返しますが、右Zボタンと左Zボタンを使用して、一番右と一番左のフォーカスサーボ設定をプログラムします。

これらの制限を設定したら、今度はカメラの電源を入れ、被写体を選び、最も広くて最も近いズーム設定にフォーカスを設定します。どこから始めても問題ありませんが、通常は最大ズームに行きます(右の肩ボタンを押すと自動的にそこに移動します)。次に、左スティックと左右の方向パッドを使用してフォーカスを右に移動し、次にHome、次に+を押してMax Zoomのフォーカスを設定します。次に、レンズを一番広いズームまでいっぱいにズームし、もう一度左スティックと方向パッドを使って被写体に焦点を合わせます。問題がなければ、「Home」を押してから「 - 」を押して、フォーカスを最小ズーム(最も広いズーム)位置に設定します。 「 - 」または「+」ボタンをプログラムするたびに、ズーム中に被写体の焦点を合わせるために、ズーム中にフォーカスを移動するための正しい比率が計算されます。左スティックまたは方向パッドを使用していつでもフォーカスを微調整することができます。 "+"または " - "キーを再プログラムするまで、右を使用するとフォーカスがズームの動きと同期して移動します。あなたのレンズをズームするために固執する。これが私の「虚偽」(私の妻がそれを呼んでいるように)の魔法があるところです。

専用のズーム/フォーカス位置で4つの(x、y、a、b)ボタンをプログラムすることもできます。ズームを動かして希望の位置にフォーカスを合わせ、次に「Home」を押し、次にボタンの1つを押してその位置に合わせてプログラムします。これらの各ボタンのプログラミング中にフォーカスサーボだけを動かすと、ズームレンズをまったく動かさない4つのプリセットフォーカス位置で、コントローラをフォローフォーカスのように機能させることができます。

これは私のGH2カメラにマウントされたコントローラーでこのプロセスを実演するビデオです:

ステップ10:まとめ

あなたが私のコントローラのあなた自身のバージョンがあなたのために働くことをプレーしていて、そしてティーチングし、そして満足したら、それはそれをすべて永久的で、きれいで、そしてマウントとマウント解除を簡単にする時です。私はあなたにその部分をあなた自身で理解させます(しかしうまくいけばあなたは私とあなたの結果を共有するでしょう)。コントローラを完成させる前に、コントローラにいくつかの調整を加える必要があるので、同じ方針に沿って考えさせるために、ここで計画を共有したいと思います。

エンクロージャーと優れたサーボマウント

私はまだ正しい囲いをまだ見ていないので、ここで提案を歓迎します。私は物事を小さく保つことができるように私はおそらくミニのような小さなArduinoを買うでしょう、そしてそれは私の選択肢を開くでしょう。私はこのことがどれほどうまく機能するかを知っているので、私はまた機械加工されたアルミニウムマウントでプラスチックサーボマウントを交換するつもりです。私もサーボ自体をアップグレードするつもりです。

電源

今、私のコントローラは、私のUSBコードをiPod充電器に差し込むことによって、USB電源を切っています。しかし、私はそれがコントローラから電力を供給している間に充電することができる予備の外付け9ボルトDVDバッテリーを持っています、そして私はバッテリー専用オプションを持つという考えが好きです。私のボードの外部poerピンに接続します。

LEDインジケータ

それ (そして「プログラムモード」のためのインディケータを追加することは非常に簡単であるので、私はコントローラがプログラムまたはランモードにあるとき点灯するいくつかのLEDがあります)。

簡単なサーボ反転

先に示したように、スティックの動きに対してサーボの方向を変更するのは少し面倒なので、Arduinoのサーボライブラリをハッキングしてサーボの方向フラ​​グを受け入れる作業を始めました。

レンズ設定用メモリー

また、コントローラの電源が切れるたびにレンズ制限設定を再プログラムする必要がないのもいいでしょう。そこで、各レンズ設定にSDカードベースのストレージを追加する予定です。

ステップ11:フィードバックとフォローアップ

他のメンバーSteve Drayは、このリグの独自バージョンをいくつか作成して素晴らしい仕事をし、配線図と写真を惜しみなく共有しました。私はこれが私が質問に答える時間が限られていたので特にこのプロジェクトを築くことを試みることを促しそして助けることを望む。スティーブはいくつかの問題を抱えていたので、彼は自分の調整された電源を作り、そのための回路図も含めました。私は自分の小さな立方体のipod充電器でうまくいくことができた。

ありがとうスティーブ!