なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

Arduinoで遊ぼう - 一眼レフカメラのシャッターを制御する

Posted by arms22 on 2010年04月19日 5  1

IMGP5904.jpg

Arduinoを使って一眼レフカメラのシャッターを制御してみたよ。

ハイエンド(?)なカメラには離れたところからシャッターを切るリモートレリーズと言うアクセサリがある。ボタンを押すと「にょ」ってワイヤが飛び出すあれだ。パイプの中にワイヤが通っていて、ワイヤでシャッターを物理的に押すことできる。最近のカメラはこのワイヤが電気式になっていて簡単なスイッチで電気的にシャッターを切る。このスイッチを押す動作をArduinoにやらせればシャッターが切れるというわけだ。


端子と配線



penta_k100d_release_jack.jpg

PENTAX K100Dのリモートレリーズ用の端子には2.5φのステレオフォンジャックが使われている。ほとんどのカメラがこの端子を使用していると思う。エントリーモデルはコスト削減の影響でない場合もある。

release_plug_connect.jpg

真ん中(Right)と根元(Gnd)をショートさせると半押し(オートフォーカス)、先端(Left)と根元(Gnd)をショートさせると全押し(シャッターを切る)となる。


回路図


リモートレリーズ回路図

フォトカプラを使って端子をショートさせる。トランジスタやリレーを使ってもいいだろう。LCDは表示用なので省略しても良い。


スケッチ


5秒間隔でシャッターを切るスケッチを書いた。シャッターを切るだけのスケッチならだれでも簡単に書けるので、ここから如何に機能を作りこんでいけるかが腕の見せどころだ。光や音に反応するように改造すればハイスピードカメラ並のすごい映像が撮れるだろう。

#include <LiquidCrystal.h>

#define HALF_RELEASE_PIN (2)
#define FULL_RELEASE_PIN (3)
#define INTERVAL_TIME    (5000)

// LCD(RS=14, E=15, DB4=16, DB5=17, DB6=18, DB7=19)
// Analog 0, 1, 2, 3, 4, 5
LiquidCrystal lcd(14, 15, 16, 17, 18, 19);

unsigned long shoot_time;

void setup()
{
  // ポート初期化
  pinMode(HALF_RELEASE_PIN, OUTPUT);
  digitalWrite(HALF_RELEASE_PIN, LOW);

  pinMode(FULL_RELEASE_PIN, OUTPUT);
  digitalWrite(FULL_RELEASE_PIN, LOW);

  // LCD初期化(16文字、2行)
  lcd.begin(16,2);

  // 1段目のメッセージ表示
  lcd.print("Interval Trigger");

  // 最初の撮影までの時間を設定
  shoot_time =  millis() + INTERVAL_TIME;
}


void loop()
{
  int diff = shoot_time - millis();

  if(diff > 0){
    int remain = map(diff, 0, INTERVAL_TIME, 0, 9);
    int pos;

    // 残り時間インジケータ表示
    lcd.setCursor(0, 1);
    for(pos=0; pos<remain; pos++)
      lcd.print(".");
    lcd.print(" ");

    delay(200);
  }
  else{
    lcd.setCursor(0, 1);
    lcd.print(" ");

    // 半押し(フォーカスを合わせる)
    digitalWrite(HALF_RELEASE_PIN, HIGH);
    delay(800);

    // 全押し(写真撮影)
    digitalWrite(FULL_RELEASE_PIN, HIGH);
    delay(200);

    // スイッチオフ
    digitalWrite(HALF_RELEASE_PIN, LOW);
    digitalWrite(FULL_RELEASE_PIN, LOW);

    // 次の撮影時間を設定
    shoot_time =  millis() + INTERVAL_TIME;
  }
}






■[電波][動画]大人の科学の付録8bitマイコン「Japanino」とデジタル一眼レフを使って微速度撮影に挑戦してみよう(前編)
SmaTrig 2 - The improved smart 15-in-1 trigger for SLRs
Arduino/PENTAXケーブルスイッチCS-205
spacewalker - Lumix DMC-GF1で微速度撮影(Time Lapse)動画を撮ってみるテスト。
Arduinoを使ってRICOHのデジカメ、GR Digital、CX3のシャッターを切る



大人の科学マガジン Vol.27(8ビットマイコン) (Gakken Mook)
大人の科学マガジン編集部
学習研究社
売り上げランキング: 147



該当の記事は見つかりませんでした。