Arduino使ってタイムラプス撮影
先日開始した逆さ栽培の様子をタイムラプス撮影(微速度撮影)しようかなと思い、昔JapaninoというArduino互換ボードで作った一眼レフ用タイムラプスタイマを久しぶりに使ってみました。
ただ、Japaninoが今のパソコンの環境で書き込めなくなってしまっていたので、仕方なく家に転がっていたArduino Unoを使いました。昔の記事も結構適当だったので、メモ代わりにちょっと補足しておきます。
タイムラプスタイマ写真
全体の接続
Arduinoとブレッドボード
カメラにArduinoとブレッドボードを固定
撮影の様子
使用しているカメラはPENTAX K10DとTAMRON A16。アナログ的なリモートシャッタが使えるカメラならなんでもOKです。最近のカメラだったら、わざわざこんな工作しなくてもソフトウェア的なタイムラプス機能がついていたりするんですけどね…
使用機材
TAMRON 大口径ズームレンズ SP AF17-50mm F2.8 XR DiII ペンタックス用 APS-C専用 A16P
- 発売日: 2008/03/02
- メディア: エレクトロニクス
タイムラプス動画
ほとんど変化無しでした。やっぱ植物の成長は日単位とか数時間単位で撮影しないとあんま意味なさそうですね。もう少し工夫してみよう。
プログラムは見たい方は続きを読むをクリックください。
プログラム
基本は、以下の記事のまんまです。
変更したのは、今回付属していないLCDの箇所を削除したのと、オリジナルのコードだとシャッタ間隔を長い時間(33秒以上)にすると、正しく動かなくなるので少し修正しました。
#define HALF_RELEASE_PIN (2) #define FULL_RELEASE_PIN (3) #define INTERVAL_TIME (50000) unsigned long shoot_time; void setup(){ // for debug Serial.begin(9600); // Port Setting pinMode(HALF_RELEASE_PIN, OUTPUT); digitalWrite(HALF_RELEASE_PIN, LOW); pinMode(FULL_RELEASE_PIN, OUTPUT); digitalWrite(FULL_RELEASE_PIN, LOW); // Time Setting shoot_time = millis() + INTERVAL_TIME; } void loop(){ unsigned long diff = shoot_time - millis(); // for debug Serial.println(diff); if(diff > 0){ delay(200); } else{ // Auto Focus //digitalWrite(HALF_RELEASE_PIN, HIGH); delay(800); // Shutter digitalWrite(FULL_RELEASE_PIN, HIGH); delay(200); // Switch off digitalWrite(HALF_RELEASE_PIN, LOW); digitalWrite(FULL_RELEASE_PIN, LOW); // Setting next shutter chance shoot_time = millis() + INTERVAL_TIME; } }
まとめ
とりあえず毎日同じ場所で定点観測を開始することにしました。また動画ができたら公開しようかと思います。また、もっと細かく監視できるようなシステムをRaspberry Piとか使って構築しようかなと考えています。
あとはマクロ撮影とかも楽しいです。