Release 2017.12.24

(日本語) リモートレリーズをArduino制御

Sorry, this entry is only available in 日本語. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

以前、赤外線でカメラシャッターを切るのを試しましたが、これだと受信するためにその都度、カメラ側の設定を変更しないといけませんでした。まあ、使えるは使えるんですけど、ちょっと一手間なのが何ともです。

で、カメラには有線のリモートレリーズ端子もあり、「そっちはどうなんだろう?」と思ったので入手して試してみました。

リモートレリーズ

銀塩カメラの時代のレリーズは自転車のブレーキと同じで、ケーブルの中にワイヤーが張っていて、押せば物理的に先が飛び出てシャッターを押す仕組みでした。単純です。

wikipedia : リモートレリーズより

ただ、接続すれば簡単に「シャッターボタンを延長」出来るわけで、非常に機能的で確実です。

一方、デジタル一眼では、それを電気信号で行っているようです。本体にそのコネクタがあります。

“GPS”の下にマウスのようなアイコンが。これが有線レリーズコネクタ。

ここへ接続するニコン純正品があります。

ただ、バリバリに使い倒したいわけでもなく、様子見したいだけなので、少々価格に躊躇します。幸い、安価な類似品が多数あるので、とりあえずそちらを入手してみました。

Amazon – Nikon シャッタレリーズ

コピー品の検証

純正の1/4程度の値段で、どれほど差があるか分かりませんが、期待通りの挙動はしました。浅く押せばAFが作動し、深く押せばシャッターを切ります。いわゆる、「半押し」が出来ます。

赤外線レリーズの時と違い、カメラのシャッターボタンと同じ挙動で、まさしく「シャッターボタンの延長」という使い勝手が可能です。“bulb”に設定すれば、押している間シャッターが開いている「バルブ撮影」も出来ます。

ちなみにボタン周りのスライドでボタンがロックされるので、シャッター押しっぱなしにも出来ます。

リモートレリーズの中身

で、中身はどうなっているのか気になってみたので開けてみました(開封して10分もしないで分解という…)。

開けるには裏面のネジ2本を外すだけ

シャッターの半押しってどういう仕組みなのかな?と思っていましたが、開けてみて納得。基板とか電子パーツ的なものは一切なく、単純に金属板が並んでいるだけです。

上がAF作動用、真ん中がGND、下がシャッター用かと。

バネ的な役目もしている金属板が、ボタンを押す事でくっつき、短絡(ショート)すると信号になるっぽいです。これによって、「半押し」「シャッター」の2段階が出来るようになってました。

ちなみに、この記事はNikon用で、こういったレリーズ周りの勝手はカメラメーカーによって違います。

ということは、単純にショートさせれば、同等の動作をしてくれるんじゃないかと。

そこで、絶縁しつつワニクリップでそれぞれピンに取り出し、その先でショートさせたりしてみると、予想通り、シャッターを切ることが出来ました。

抵抗さえなく、カメラ内部でプルアップ/プルダウンされているのか知る由もないので、純正品も同じような構造なのか?っていうところが気になりますが…。

Arduinoで操作

この仕組みが分かれば、この金属板の役割をArduinoに置き換えて操作できるような改造が出来そうです。そこで、まず、中を通っている電気がどんなもんか知ろうと、テスターを使って測ってみました。が、瞬間過ぎて、自分の安いテスターでは具体的な数値が判別できません…。

どうしようかなと思ってたら、フォトカプラを思い出しました。

フォトカプラ

フォトカプラはリレーと同じです。制御用の電気を送ると、ゲートになっている別回路のON/OFFを制御できる代物です。電圧が違う別回路を扱いたい時なんかに使います。

ただし、フォトカプラがリレーと違うのは制御にLEDを使うところです。パーツ内部のLEDをつけると、これまた中に入っている光を感知する素子が反応して、別回路を通電させるようになっています。

電磁石で物理的に動くリレーよりも遥かに高速で反応するために、主に電源ではなく微細な信号回路で用いられるようです。ちなみに、以前やったMIDIの規格では、受信側の回路でこのフォトカプラを使う仕様になってました。フォトカプラを使う事で受信/送信機器は別回路になるため、電気の過大入力を防止し機器の故障を防げるという仕組みです。

ともあれ、この金属板の短絡をフォトカプラに置き換えれば、Arduinoで簡単に制御できるようになります。

以前、別用途で入手したTLP222Aを使って実験してみる事にしました。

端子を通る電気量が分かっていませんが、データシートの定格から、おそらくカバーできるんじゃないかな、と。というか、ダメだとしても、構造的に壊れるのはフォトカプラの方なので、まあ大丈夫だろうという感じです。(コピーレリーズ自体がカメラを壊すような粗悪品構造でない限り…)。

回路図

必要なものは、

  • Arduino
  • タクトスイッチ × 2
  • フォトカプラ × 2
  • 抵抗 (2.2kΩ) × 2

フォトカプラLEDへの抵抗はもう少し小さくてもいいかと思いましたが、手っ取り早く手元にあったものを挿しています。

スケッチ

「スイッチを押したらLEDをつける」という単純なプログラムです。ただし、両方が通電した時、初めてシャッターが切れるという点には注意です。

タクトスイッチAを押すと、フォトカプラ1が通電し、AFが作動します。タクトスイッチBでフォトカプラ2が通電し、シャッターを切ります。

#define LED_A 12
#define LED_B 13
#define SW_A  2
#define SW_B  3
#define PUSH_SHORT 100

byte remote_pin [2] = {LED_A, LED_B};  // for photocoupler led pins
byte sw_pin     [2] = {SW_A, SW_B};    // for tact switch pins
byte sw_gauge   [2] = {0, 0};          // for switch's gauge


void setup() {
  for (byte i = 0 ; i < 2 ; i++)
  {
    pinMode(remote_pin[i], OUTPUT);
    pinMode(sw_pin[i], INPUT_PULLUP);
  }
}

void loop() {
  for (byte i = 0 ; i < 2 ; i++)
  {
    if (!digitalRead(sw_pin[i]))
    {
      sw_gauge[i]++;
      sw_gauge[i] = min(PUSH_SHORT + 1, sw_gauge[i]);
    } else {
      sw_gauge[i] = 0;
    }
    digitalWrite(remote_pin[i], sw_gauge[i] / PUSH_SHORT);
  }
}

問題なく動きます。考えていたより簡単に、シャッター操作できました。

 

ここまで出来たら、自由に設定できるタイマー機能をつけたり、タイムラプス的なインターバル撮影させたりとか、自由にプログラミング出来るわけで…面白そうですね。市販にはない便利なものも作れそうです。追々、そこら辺を突き詰めてみたいです。

参考リンク

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


This site uses Akismet to reduce spam. Learn how your comment data is processed.