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

赤外線リモコン受信機(イヤホンジャック接続)を作ってみた

最近、このブログ何も書いて無かったので、作成中の物の紹介・・・  これは、Andro

記事を読む

no image

Arduino + USBホストシールド で ADK を試す(その1)

先日Google IOで発表された Android Open Accessory。みなさん知ってます

記事を読む

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

ArduinoでSDカード

電子工作で大量のデータを保存する方法を調べていると、 Arduinoでも比較的簡単にSDカードを

記事を読む

Raspberry Pi - Ethernet

Raspberry Pi インターネット接続

Raspberry Piをインターネットに接続してみた。 有線で接続(Ethern

記事を読む

no image

Android + Arduino でリモコン

今こんなのを作ってますと言う動画です。   DoCoMoのFOMA携帯

記事を読む

米粒AVR リモコン

米粒AVRでリモコン送信機

米粒AVR(tiny10)を使った赤外線リモコン送信機を作ってみました。 これで送信できるのは

記事を読む

no image

ボツネタ~CAN的な何か

少し前に必死になって作ってたデバイス+アプリですが、気持ちが萎えてしまい、結果ボツと

記事を読む

no image

AVRISPmk2

米粒AVR(ATtiny10)のプログラム書き込み用にAVRISPmk2を購入しました。 先人

記事を読む

no image

米粒AVRのEAGLEライブラリ

EAGLEを使って米粒AVR(ATtiny10)の回路図を書こうと思ったら何か様子がおかしい。

記事を読む

no image

PIC24FJ64GB002でADKを試す(その1)

先日、MicrochipからPIC向けのAndroid Open Accessoryのライブラリが公

記事を読む

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 ↑