Arduino + XBee WiFiでTHETAのシャッターを切る
前回、ProcessingからTHETAのシャッターを切るのが作れた時点で半ば勝利は確信していたのですが、Arduino+XBee WiFiを使ってシャッターを切るのにも成功しました。これでモバイルでのインターバル撮影はもちろん、各種電子工作と連携した全天球撮影が可能となり、かなり創作の幅が広がります。
使用する道具
単純にXBee WiFiを搭載したXBeeシールドをArduinoに挿すだけです。Arduino Fioを使うのでもいいですね。XBeeの設定にはXBeeエクスプローラUSBを使用しました。
XBee WiFiの設定
重要なのはXBee WiFiの設定です。X-CTUなどを使って以下の項目の設定を行ってください。
- Network type: INFRASTRUCTURE
- SSID: 【THETAのSSID】
- IP Protocol: TCP
- IP Addressing Mode: DHCP
- Destination IP Address: 192.168.1.1
- Source Port: 3D7C
- Destination Port: 3D7C
- Encryption Enable: WPA2 (AES) SECURITY
- Passphrase: 【THETAのWiFiのパスワード】
- IP Address of gateway: 192.168.1.1 ←自動的に決まるので空欄でOK
- IP Address Mask: 255.255.255.0 ←自動的に決まるので空欄でOK
- Module IP Address: 192.168.1.5 ←自動的に決まるので空欄でOK
Arduinoのコード
以下は、5秒おきにTHETAのシャッターを切るプログラムになっています。マイコンからインターバル撮影!
unsigned char cmd_init[28] = { 28, 0, 0, 0, 1, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 1, 0, 0, 0 }; unsigned char cmd_open[22] = { 22, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 2, 16, 0, 0, 0, 0, 1, 0, 0, 0 }; unsigned char cmd_capture[26] = { 26, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 14, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; void setup() { Serial.begin(9600); } void loop() { Serial.write( cmd_init, sizeof(cmd_init) ); Serial.write( cmd_open, sizeof(cmd_open) ); Serial.write( cmd_capture, sizeof(cmd_capture) ); delay(5000); }
初期化、セッションのオープン、シャッターコマンドの3つを毎回送っています。前者2つは本来何度もやる必要はないと思いますが、WiFiの接続が確立するタイミングがいつになるか不確定なので、あえて毎回やっています。ATコマンドで接続確認するなど対処法はあると思いますが、とりあえずいちばん簡単なコードということで。
RICOH デジタルカメラ RICOH THETA 全天球 360°カメラ 0175760
- 出版社/メーカー: リコー
- 発売日: 2013/11/08
- メディア: エレクトロニクス
- この商品を含むブログ (15件) を見る