Androidで一眼レフカメラのシャッターを制御する(MicroBridge接続)

公開日: 電子工作 | , , ,

以前書いた、Androidで一眼レフカメラのシャッターを制御するでは、AndroidとArduinoをSoftModemで接続して、一眼レフカメラのシャッターをコントロールすると言うものでした。
今回はMicroBridgeの勉強も兼ねて、それをMicroBridgeで接続するように変更してみました。
今回もまた、回路図・ソース付きで紹介したいと思います。

MicroBridge ShutterCtrl

 

デバイスの説明

ADK(Android Open Accessory)と同じく、Arduino + USBホストシールドがメインとなります。

AndroidとArduinoとの通信は、タイトル通り、MicroBridgeによって行っています。
MicroBridgeとは、ADB(Android Debug Bridge)をマイコンからアクセスしようと言うもので、端末の制限がほぼ有りません。
Android AccessoryはAndroid 2.3.4以降・3.1以降が必要でしたが、MicroBridgeはHT03AやIS01等Android 1.6の古い端末でも動作します。

Arduinoとカメラとの通信は、リモート・レリーズ端子を使って行います。
カメラによっては、リモートレリーズの規格が異なる場合があり、そのカメラには使えません。
どのカメラに対応しているかは、はっきりとは分かりませんが、多くのデジタル一眼で採用されているっぽい。
今回の記事では、CANON EOS KISS X3を使っています。

 

リモート・レリーズ

カメラのリモートレリーズには、2.5mmのステレオプラグを使います。
(僕のEOS Kiss X3では)3.5mmでは無く、さらに小さい2.5mmなのでお間違いなく。

回路図中では、プラグの部品がFritzingに用意されていなかったので、ジャック(差し込み口)を使って代用しています。

カメラのリモートレリーズでは、2.5mmのステレオプラグの根元と真ん中をショート(短絡)させると半押し、根元と先端をショートさせると、全押し状態となります。

2.5mm ステレオプラグ 

今回の回路では、フォトカプラを使い、それぞれの端子をショートさせています。
フォトカプラとは、発光ダイオードとフォトトランジスタを1つにしたICで、Arduinoとカメラを絶縁状態でコントロールできる優れものです。

 

パーツリスト

名前&メーカーリンク 数量 記号 備考&販売店リンク
Arduino Duemilanove 1   スイッチサイエンス(UNO)
Sparkfun USBホストシールド 1   スイッチサイエンス
赤色LED 1 LED1 動作確認用(秋月)
フォトカプラ 2 IC1-2 PC817C(秋月)
抵抗 – 1k 3 R1-3 秋月
2.5mm ステレオケーブル 1   共立 / 金メッキが良い感じな延長ケーブル(千石)
       

 

その他・オススメパーツ

Sparkfun USBホストシールドには連結用のピンヘッダが付属していないので、別途購入の必要があります。

ブレッドボードで作る場合

 

回路図

MicroBridge ShutterControl 回路図

今回は、回路図を作成するのにもFritzingを使ってみたので、実態配線図に近い回路図になっています。http://fritzing.org/

実際には、ArduinoにUSBホストシールドを接続してから、各部品の配線を行って下さい。
2.5mm ステレオプラグの部品がFritzingに無かったので、ジャック(差し込み口)で回路を書いています。

ブレッドボードで作る場合(実態配線図)

MicroBridge ShutterControl 実態配線図

 

作成時の注意点

上記の回路図や実態配線図をもとに部品を接続し、ArduinoIDEを使って後述するプログラムをArduinoに書き込めばデバイスは完成です。

USBホストシールドのUSB給電問題

SparkfunのUSBホストシールドは、USBから給電で動作させる場合、電圧不足でAndroid Accessoryのデバイスとして認識されません。 これはMicroBridgeでも同様です。 その原因と対策は、Arduino + USBホストシールド で ADK を試す(その2)のUSBホストシールドの項 を参照してください。 

MicroBridge ShutterCtrl3
ブレッドボード
MicroBridge ShutterCtrl4
ケーブルは、ユニバーサル基板の切れ端に半田付けして、ブレッドボードに差しやすくしています。

 

Android アプリ

Shutter Ctrl
※画像はsoftmodem用の物で、今回の物と若干違う場合が有ります。

マニュアル撮影

シャッターボタンを押している間は、カメラのシャッターを全押ししている状態に、AFボタンを押している間は、カメラのシャッターを半押ししている状態になります。
ボタンを放すと、カメラのシャッターも開放されます。

インターバル撮影モード

インターバル撮影モードをONにすると、スライダーで指定した秒数の間隔で、連続撮影が行えます。
インターバル撮影モード時には、マニュアル撮影は出来ません。

注意点

端末の設定で、USBデバッグをONにしてください。
USBデバッグをONにしていない場合、MicroBridgeで通信ができません。

設定の方法は、
設定 > アプリケーション > 開発 > USBデバッグ

設定 > アプリケーション アプリケーション > 開発 開発 > USBデバッグ

 

アプリのダウンロード

AndroidMarketにアップしても、需要がそれほど無いと思うので、今回は野良apkで公開しておきます。

mb_shutter_ctrl.apk

ダウンロード用QRコード 

動作確認は、 Nexus One,  IS01, HT03A で行いました。
XOOMではなぜか動きませんでした・・・(TーT

 

プログラム(ソース)

↓のzipファイルに、本記事のソース一式をまとめています。

MB_ShutterCtrl20110806.zip

Androidアプリは、MicroBridgeで公開されているプログラムを基に作っています。
Arduinoのプログラムは、なんでも作っちゃう、かも。で公開されているプログラムを基に作っています。

 

最後に

今回は、MicroBridgeの勉強の為に作ってみました。
実は、僕はAndroid Accessoryに夢中で、MicroBridgeは手つかずだったのですが、今回実際に触れてみて、噂通りと言うか何と言うか・・・Android AccessoryよりもMicroBridgeの方が優れている部分が多く感じました。

とは言うものの、今回ブログを書いて、最後にアプリの動作チェックを行った時に、XOOMでは動かないことに気付きました・・・
原因は良く分からないのですが、そう言えば以前からDDMSもエラーメッセージを吐きまくってるので、adbの仕様自体が違うのかも・・・とか、憶測ながら考えています。
何かご存知の方、助言下さい、お願いします(´・ω・`)

参考リンク)

MicroBridgeについて
MicroBridge – Arduino (本家)
MicroBridge – PIC

シャッター制御の元ネタ
iPhoneで一眼レフカメラのシャッターを制御する – なんでも作っちゃう、かも。
Arduinoで遊ぼう – 一眼レフカメラのシャッターを制御する – なんでも作っちゃう、かも。

 

関連記事

no image

Androidで一眼レフカメラのシャッターを制御する

またSoftModemネタです。 調子に乗って arms22さんの記事 iPhoneで一眼レフカメ

記事を読む

no image

Softmodem Terminal 公開しました。

需要がどれほど有るのか疑問に思いつつ、以前のエントリ(AndroidでSoftModemを試してみた

記事を読む

米粒AVRからAndroidへデータを送る

米粒AVRでSoftModem的なこと

米粒AVRとAndroidを繋いで、データのやりとりを行ってみたいと思います。 2つを繋ぐイン

記事を読む

秋月電子 キャラクタLCD

秋月の小型キャラクタLCD

今回秋月電子で売られている小型のキャラクター液晶2種を買ったので、ちょっと比較してみる。 買っ

記事を読む

no image

USBホストケーブルとUSBケーブルの違い

USBホストケーブル(OTGケーブル)と普通のUSBケーブルの違いは、USBホストケーブルとして振る

記事を読む

no image

Androidとオーブントースターを繋いでみた

Android端末とオーブントースターを、Arduino+USBホストシールドで作ったADKっぽい奴

記事を読む

no image

AndroidでSoftModemを試してみた

今回、ここで言うSoftModemとは、携帯電話のオーディオ端子(イヤホン・マイク端子)を利用し

記事を読む

秋月電子 リアルタイムクロック(RTC)モジュール

秋月のリアルタイムクロック(RTC)モジュール

今回は秋月電子のI2C接続のリアルタイムクロック(RTC)モジュールを買ったので、ちょっと試してみま

記事を読む

Raspberry Pi ロゴマーク

Raspberry Piのリビジョン

リビジョンの種類 現在、Rapsberry Piにはリビジョン1とリビジョン2と呼ばれる2つの

記事を読む

Arduinoで温湿度計

Arduinoで温湿度計

秋月電子の温湿度モジュールを使って、温湿度計を作ってみました。 以前「パソコンで温度計」と言うもの

記事を読む

Comment (3件)

  1. 5d mark2

    はじめまして。icoo D70wというandroid pcを購入しまして、dslr controllerというアプルを購入し、5d mark2と接続させようとしても、android側が認識してくれません。android側にソフトが足りないのでしょうか?お分かりでしたらご指導ください。

    1. Futaba

      コメントありがとうございます。
      残念ながら、icoo D70wもdslr controllerも使ったことがありませんので、僕には良くわかりません。
      この記事で紹介している、リモートレリーズ制御とはまったく違ったもののようですので・・・

Arduinoで温湿度データロガー
Arduinoで温湿度計 #2

今回は、前回作った温湿度計にRTCモジュールとSDカードアダプタを

Arduinoで温湿度計
Arduinoで温湿度計

秋月電子の温湿度モジュールを使って、温湿度計を作ってみました。 以前

SDカード・マイクロSDカード
ArduinoでSDカード

電子工作で大量のデータを保存する方法を調べていると、 Arduin

秋月電子 リアルタイムクロック(RTC)モジュール
秋月のリアルタイムクロック(RTC)モジュール

今回は秋月電子のI2C接続のリアルタイムクロック(RTC)モジュールを

秋月電子 キャラクタLCD
秋月の小型キャラクタLCD

今回秋月電子で売られている小型のキャラクター液晶2種を買ったので、

PAGE TOP ↑