目次:
ステッピングモーターとカメラのシャッターを制御するarduinoベースのコントローラーを作りましょう。ステッピングモーター駆動のターンテーブルとともに、これは自動360°製品写真撮影または写真測量のための強力で低コストのシステムです。
自動カメラシャッターは、「Sebastian Setz」の優れたライブラリーに基づいており、Nikon、Canon、Minolta、Olympus、Pentax、Sonyの赤外線トリガーカメラに対応しています。
私はコントローラの2つのバージョンを用意しました:
- 単純な押しボタンとステータスLEDで操作される基本的なバージョン。
- 16x2 LCD +キーパッドシールドを使用しているので、ソースコードだけでなく「オンザフライ」で変数を変更するためのメニューがあります。
コントローラは何をしますか?
ボタンを押して「写真撮影」を開始すると、ターンテーブルは所定のステップ数に分割されて1回転します。各回転ステップの後、コントローラーは少し休憩してからカメラを作動させます。回転速度、遅延時間、およびステップ数の変数は、ソースコード(簡易コントローラ版の場合)または表示メニュー(上級コントローラ版の場合)で変更できます。
用品:
ステップ1:部品とファイルを集める
部品:
- Arduino Uno(または同様のもの)
- ブレッドボード(ハーフサイズブレッドボードフィット)
- Easydriverステッピングモータードライバー
www.sparkfun.com/products/12779
- Easydriver用2Xヒートシンク(オプションですが強く推奨します)
www.sparkfun.com/products/11510ヒートシンクをチップに固定するには、サーマルテープが必要になります。ヒートシンクを注文する場合は、サーマルテープが付属していること、または別途注文できることを確認してください。
- 赤外線LED 950nm(IRカメラトリガー用)
- 抵抗器220オーム(赤外線LED用の予備抵抗器)
- ピエゾサウンドエレメント(フィードバックサウンドが必要な場合はオプション)
- いくつかのジャンパー線
- ステッピングモータ用外部電源
Trinamicの1A NEMA 17 Steppermotorを駆動するための12V 1A電源アダプタで良い経験をしました。私はまた24V 3A電源アダプタを使用していました。 Easydriverボードは1フェーズあたり最大30Vと750mAをサポートします。 easydriver仕様の詳細はこちら:http://www.schmalzhaus.com/EasyDriver/index.html
- ステッピングモータの外部電源用ソケット
- バイポーラNEMA17ステッピングモータおよびターンテーブル。 FluxGarageの「ステッピングモーター付き自動ターンテーブル」リンク:http://www.instructables.com/id/Automated-Turnta …
基本的な押しボタンコントローラーに追加…
- ボタンを押す
- 抵抗10kΩ(押しボタン用)
- LED(ステータスLED)
- 抵抗器220オーム(ステータスLED用の予備抵抗器)
…またはdisplay + keypadメニューで高度なコントローラを追加します。
- 16 x 2文字ディスプレイ付きAdafruit LCDシールドキット、
www.adafruit.com/product/714
ArduinoのコードとFritzing Diagramをダウンロードしてください。
http://github.com/FluxGarage/Controller-for-Stepp …
アドバンストコントローラ用のFritzingドキュメントを開きたい場合は、必ずadafruit要素をダウンロードしてインストールしてください。http://blog.adafruit.com/2012/08/27/how-to-insta …
ご注意ください:
写真では、FluxGarageの「Tinkerer's Baseplate」とFluxGarageの「16 x 2 LCD +キーパッドシールド用の前面プレート」を使用しています。これらの要素の使用はオプションです。それらも使用したい場合は、リンクをクリックして、関連する説明文を探してください。
ステップ2:回路を組み立てる
半田 ブレッドボード用イージードライバーボード
ブレッドボードでeasydriverを使用するには、ボード上のいくつかのオス型ピンヘッダを半田付けする必要があります。最善の方法は、ブレッドボードにオスのピンヘッダーを入れ、イージードライバーを上に置き、次にピンをはんだ付けすることです。
配線する:
基本コントローラまたは詳細コントローラの「Fritzing」グラフィックに示すように、部品を配線します。 githubでFirtzingの図をダウンロードして、ステップ1のリンクを見つけてください。
すべてが次のように接続されているかどうかをもう一度確認します。
- Arduinoデジタルピン02 = Easydriverのディレクトリピン
- Arduinoデジタルピン03 = Easydriverのステップピン
- Arduinoデジタルピン09 =ピエゾ用出力
- Arduinoデジタルピン12 =赤外線LED用出力(LEDの前に220オームのプレ抵抗器を配置)
基本コントローラーの場合は+
- Arduinoデジタルピン04 =プッシュボタン入力(ボタングランドの前に10kΩの抵抗を配置)
- Arduinoデジタルピン13 =ステータスLEDの出力(LEDの前に220オームのプレ抵抗を配置)
アドバンストコントローラの場合:
- ディスプレイ+キーパッドシールドをArduinoに重ねます。実際にはこれらのピンが使用されます。ArduinoアナログピンA4 + A5および5V + GND。
ステッピングモーターを接続します。
バイポーラステッピングモーター(4本のワイヤー)を配線することは、モーターの2つのコイル(AとB)をイージードライバーボードの右のピンに接続することです。
このページの中央にあるグラフィックとあなたの特定のステッピングモーターのスペックを見てください。
www.schmalzhaus.com/EasyDriver/index.html
また、ステッピングモーターとEasydriverの配線についての詳細は、http://bildr.org/2011/06/easydriver/を参照してください。
外部電源を接続する
Easydriverボードの右上に2つの別々の電源ピンがあります(M +とGround)。ボード自体がArduinoから電力を得ている間は、別の入力がステッピングモーターに電力を供給します。典型的な「すぐに使える」電源アダプタとソケットを使用する場合、「+」ワイヤをeasydriverの「M +」ピンに、「 - 」ワイヤをeasydriverの「GND」ピンに接続する必要があります。通常「+」は内側にあり、「 - 」はプラグの外側にあります。しかし、注意してください、いくつかの電源アダプタは極性を切り替えることができます!あなたがあなたのeasydriverを誤って配線するならば、それはおそらく破損する可能性があります、そしてそれを覚えておいてください。
ステップ3:Arduinoにソースコードをアップロードする
GithubでArduinoのソースコードをダウンロードしてください。
手順1でダウンロードリンクを探します。
Arduino IDEをダウンロードしてください。
www.arduino.cc/en/Main/Software
サードパーティのライブラリをダウンロードして、IDEのライブラリフォルダにコピーします。
カメラのシャッターの場合
http://github.com/dharmapurikar/Arduino/tree/mast …
…Adafruit 16x2ディスプレイ+キーパッドシールドの場合:
http://github.com/adafruit/Adafruit-RGB-LCD-Shiel …
コードはテストされ、最新のArduino IDE(Windows上の1.8.7)とArduino Uno + Easydriverステッパーモータードライバー+ Adafruit 16x2ディスプレイ+キーパッドシールド、+ TrinamicステッパーモーターとNikon D60カメラでうまく動作します。
特定のカメラで動作するようにコードを調整します。
前述のように、私はSebastian Setzによる「multiCameraIrControl.h」ライブラリを使用しました。カメラに対応するためには、カメラの製造元の名前の前のコメントスラッシュを削除し、もちろん他のすべての製造元の名前の前にスラッシュを追加する必要があります。
//カメラタイプを設定
ニコンD5000(12)。
// Canon D5(12);
//ミノルタA900(12)。
//オリンパスE5(12);
//ペンタックスK7(12);
// Sony A900(12);
スナップ機能で同様の調整を行います。
// 写真を撮る
void snap(){
D5000.shotNow();
//D5.shotNow();
//A900.shotNow();
//E5.shotNow();
//K7.shotNow();
//A900.shotNow();
}
ご注意ください:
残念ながら、私はまだ他のIRトリガーカメラをテストすることができませんでしたまだ私自身のニコンD60。カメラのシャッターライブラリは、コードに記載されている特定のカメラモデルだけでなく、製造元の異なる複数のカメラで動作するはずです。 Canon、Minolta、Olympus、Pentax、Sonyの各カメラでの経験についてコメントを投稿してください。
ステップ4:コントローラを操作する
それぞれのコントローラのコードは何をするのですか?
ボタンを押すと、「写真撮影」がトリガーされます。各写真撮影は、次のシーケンスの有限ループです。
- カメラが作動します
- 短い遅れ
- Steppermotorは事前に定義された角度だけ回転します
- 短い遅れ
写真撮影は、その正確な動作を決定する一連の変数に基づいています。これらの変数は、ソースコード(単純なコントローラーバージョンの場合)または表示メニュー(高度なコントローラーバージョン)で変更できます。
基本コントローラの操作
基本コントローラのステータスLEDは、システムの実行準備が整ったときに表示されます。撮影を開始するとLEDは消灯します。 「割り込み音」が表示されてターンテーブルが停止するまでボタンを押し続けると、写真撮影を中断できます。これを「実際の生活」の中で見るために、このInstructableのトップセクションにあるビデオを見てください。
写真撮影の変数はコードのトップセクションにあり、写真撮影を変更するために変更することができます。以下に初期値があります。
int shootingsteps = 20; // 1回転のステップ数は10、20、または40
フロートシューティングスピード= 0.01。 //回転速度:0.01から1までの任意の数 - > 1が最も速い - 遅いほど強くなります(遅い=「重い」オブジェクトに適しています)。
int shootingdelay = 1000; //各回転の前後にミリ秒で中断
アドバンストコントローラの操作
アドバンストコントローラーをオンにすると、FluxGarageのロゴスプラッシュが4秒間表示されます。その後、コントローラーは実行準備が整い、調整可能な変数セットのリストを表示します。
- ST =ステップ数、10、20、または40
- SP =回転速度。1〜5の間で1が最も遅くなります。
- DE = 10分の1秒の各ステップの前後の遅延、5、10、25、50
- LI =撮影中にディスプレイの背景ライトをオンにするかオフにするかを決定します。 1 =オンまたは0 =オフにすることができます
左右のボタンで変数の種類を移動したり、上下のボタンで値を変更したりできます。
選択ボタンを押して写真撮影を開始し、「割り込み音」が表示されるまで選択ボタンを押し続けて写真撮影を中断します。これを「実際の生活」の中で見るために、このInstructableのトップセクションにあるビデオを見てください。
ステップ5:撮影を開始する
あなたがあなた自身のコントローラ+ターンテーブルを作り、あなたのカメラが設置されているならば、あなたはすべて撮影を開始する準備ができています…ほとんど。私自身の実験から学んだことをいくつか共有しましょう。
- あなたの物を均等に照らすために光のテントを使ってください。あなたはdiyのライトボックスを作成する方法を示すあなたがここでInstructables.comでたくさんの良いチュートリアルを見つけることができます。また、多くのオンラインショップで購入できる安価なテキスタイルライトテントがあります。
- 同じ色温度の電球を使う(Kelvin)
- 手動でオブジェクトをターンテーブルにフォーカスし、カメラのオートフォーカスを無効にします
- 三脚で作業する場合は、カメラの手ぶれ補正機能をオフにしてください。
- ショットオブジェクトが表示されない背景の測定範囲を選択します。そうすることによって、あなたはあなたのイメージシーケンスのちらつきを避けるでしょう。もう1つの方法は、カメラの露出時間などを手動で設定することです。
- あなたのウェブサイトにあなたの360画像を含めたい場合は、次のようなJavaScriptプラグインを使用してください。
「Jqueryリールプラグイン」「PetrVostřelの別名「PISI」
→http://jquery.vostrel.cz/reel
「360度製品ビューア」「コーディハウス」
→http://codyhouse.co/gem/360-degrees-product-view …
これは私の撮影の1つの結果です(上記の設定で作成された):
www.fluxgarage.com/turntable_360viewer.html