Androidで一眼レフカメラのシャッターを制御する(MicroBridge接続)
公開日:
電子工作 | Android, Arduino, MicroBridge, カメラ
以前書いた、Androidで一眼レフカメラのシャッターを制御するでは、AndroidとArduinoをSoftModemで接続して、一眼レフカメラのシャッターをコントロールすると言うものでした。
今回はMicroBridgeの勉強も兼ねて、それをMicroBridgeで接続するように変更してみました。
今回もまた、回路図・ソース付きで紹介したいと思います。
デバイスの説明
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のステレオプラグの根元と真ん中をショート(短絡)させると半押し、根元と先端をショートさせると、全押し状態となります。
今回の回路では、フォトカプラを使い、それぞれの端子をショートさせています。
フォトカプラとは、発光ダイオードとフォトトランジスタを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ホストシールドには連結用のピンヘッダが付属していないので、別途購入の必要があります。
ブレッドボードで作る場合
回路図
今回は、回路図を作成するのにもFritzingを使ってみたので、実態配線図に近い回路図になっています。http://fritzing.org/
実際には、ArduinoにUSBホストシールドを接続してから、各部品の配線を行って下さい。
2.5mm ステレオプラグの部品がFritzingに無かったので、ジャック(差し込み口)で回路を書いています。
ブレッドボードで作る場合(実態配線図)
作成時の注意点
上記の回路図や実態配線図をもとに部品を接続し、ArduinoIDEを使って後述するプログラムをArduinoに書き込めばデバイスは完成です。
USBホストシールドのUSB給電問題
SparkfunのUSBホストシールドは、USBから給電で動作させる場合、電圧不足でAndroid Accessoryのデバイスとして認識されません。 これはMicroBridgeでも同様です。 その原因と対策は、Arduino + USBホストシールド で ADK を試す(その2)のUSBホストシールドの項 を参照してください。
![]() ブレッドボード |
![]() ケーブルは、ユニバーサル基板の切れ端に半田付けして、ブレッドボードに差しやすくしています。 |
Android アプリ
※画像はsoftmodem用の物で、今回の物と若干違う場合が有ります。
マニュアル撮影
シャッターボタンを押している間は、カメラのシャッターを全押ししている状態に、AFボタンを押している間は、カメラのシャッターを半押ししている状態になります。
ボタンを放すと、カメラのシャッターも開放されます。
インターバル撮影モード
インターバル撮影モードをONにすると、スライダーで指定した秒数の間隔で、連続撮影が行えます。
インターバル撮影モード時には、マニュアル撮影は出来ません。
注意点
端末の設定で、USBデバッグをONにしてください。
USBデバッグをONにしていない場合、MicroBridgeで通信ができません。
設定の方法は、
設定 > アプリケーション > 開発 > USBデバッグ
アプリのダウンロード
AndroidMarketにアップしても、需要がそれほど無いと思うので、今回は野良apkで公開しておきます。
ダウンロード用QRコード
動作確認は、 Nexus One, IS01, HT03A で行いました。
XOOMではなぜか動きませんでした・・・(TーT
プログラム(ソース)
↓のzipファイルに、本記事のソース一式をまとめています。
Androidアプリは、MicroBridgeで公開されているプログラムを基に作っています。
Arduinoのプログラムは、なんでも作っちゃう、かも。で公開されているプログラムを基に作っています。
最後に
今回は、MicroBridgeの勉強の為に作ってみました。
実は、僕はAndroid Accessoryに夢中で、MicroBridgeは手つかずだったのですが、今回実際に触れてみて、噂通りと言うか何と言うか・・・Android AccessoryよりもMicroBridgeの方が優れている部分が多く感じました。
とは言うものの、今回ブログを書いて、最後にアプリの動作チェックを行った時に、XOOMでは動かないことに気付きました・・・
原因は良く分からないのですが、そう言えば以前からDDMSもエラーメッセージを吐きまくってるので、adbの仕様自体が違うのかも・・・とか、憶測ながら考えています。
何かご存知の方、助言下さい、お願いします(´・ω・`)
参考リンク)
MicroBridgeについて
MicroBridge – Arduino (本家)
MicroBridge – PIC
シャッター制御の元ネタ
iPhoneで一眼レフカメラのシャッターを制御する – なんでも作っちゃう、かも。
Arduinoで遊ぼう – 一眼レフカメラのシャッターを制御する – なんでも作っちゃう、かも。
関連記事
-
-
AndroidにPS2キーボードを繋いでみた
@yishiiさんの素のAndroid端末を外部のキーにより操作する実験と言う記事を参考に、Ardu
-
-
パソコンで温度計 #2
今回は温度表示とログ取りアプリを作ったので公開。 前回にArduino+STTS751で作った
-
-
米粒AVRでアナログ入力を試してみた
米粒AVR(ATtiny10)に搭載されている8ビット4チャンネルのアナログ入力を試してみました
-
-
米粒AVRで小型8連ナイトライダーを作ってみた
米粒AVR(ATtiny10)を2つ使って、8つのLEDを順番に点灯しています。 &nbs
-
-
米粒AVRでシリアル通信(ただし送信だけ)
米粒AVR(ATtiny10)にUART機能は搭載されていないので、シリアル通信を行う為には自前
-
-
Raspberry Piの起動SDカードを準備する
先日入手したRaspberry PiでLinuxを起動する為のSDカードを準備します。 Ras
-
-
米粒AVRの動作周波数
米粒AVR(ATtiny10)のデフォルトでは内臓発振器利用の1MHzが指定されてい
-
-
Androidで一眼レフカメラのシャッターを制御する
またSoftModemネタです。 調子に乗って arms22さんの記事 iPhoneで一眼レフカメ
-
-
赤外線リモコン受信機(イヤホンジャック接続)のアプリ
前回の赤外線リモコン受信機(イヤホンジャック接続)の回路 を使う為のAndroidア
-
-
オシロスコープを手に入れた
ついにオシロスコープを買っちゃいました。 と言っても、DSO QUADと言うポータブルタイプの
Comment (3件)
はじめまして。icoo D70wというandroid pcを購入しまして、dslr controllerというアプルを購入し、5d mark2と接続させようとしても、android側が認識してくれません。android側にソフトが足りないのでしょうか?お分かりでしたらご指導ください。
コメントありがとうございます。
残念ながら、icoo D70wもdslr controllerも使ったことがありませんので、僕には良くわかりません。
この記事で紹介している、リモートレリーズ制御とはまったく違ったもののようですので・・・
Futaba さん ありがとうございました