CASIO QVシリーズ用リモコン制作
(FX-870P,VX-3,VX-4,FX-890P,Z-1,Z-1GR用)


 FX-870Pをはじめとする、3pin入出力端子を持つCASIO製ポケコンを
CASIOデジタルカメラ(QVシリーズ)のリモコンとして利用できます。
PB-1000/Cでもケーブルさえ自作出来れば同じように制御可能です。

注意
メーカーの保証外の使用方法であるため、
カメラやポケコンを壊してしまう可能性があります。
実際に行う際は、自己責任でお願いします。

1.はじめに

 CASIOデジカメ(QVシリーズ)は、専用のリモコン(WR-80QV/WR-1C/WR-2C/WR-3C等)を接続してコントロールすることができますが、
実はこれらのリモコンは、RS-232C制御(9600Bps、8ビット長、パリティなし、ストップビット1)で動作しており、
パソコン等で専用のコマンドを送出する事で、デジカメをコントロールする事が可能です。
しかも利用しているコネクタは、CASIOポケコンと同じ3Pin 2.5φステレオケーブルで、まさにポケコンから制御してくれと言わんばかり(笑)です。
海外ではQVユーザがフォーラム活動などでリモコンコマンドの解析等を行っており、
その成果をWebで公開 (http://www.dicasoft.de/qv_ser.htm)していますが、
日本でも独自にコマンドを解析し、リモコン制御のみならず、外部トリガによる撮影まで実現してしまった強者(山爺氏)がいます。
この記事は、氏の解析結果を元にCASIOポケコンを(同じCASIOの)QV-シリーズ用リモコンにする方法を記述しています。


2.ポケコンによるデジカメ制御の利点

 海外ではポケットPC等のPDAで動作するリモコンソフトも登場していますが、
用途的にはあくまでリモコンの代わりであり、基本的には人が直接操作する必要があります。
簡単なタイマによるインターバル撮影等は可能ですが、プログラムによる自動制御を行えると言うわけには行かないようです。
その点、ポケコンならBASICで簡単に制御する事ができますし、
30Pin外部入力端子を持っているため、外部トリガによる撮影など単なるリモコン以上の制御も可能となります。


3.ポケコン・デジカメ間接続ケーブルの制作
接続ケーブル配線図 ケーブルは3Pミニプラグ同士のクロス接続です。
未確認ですが純正ポケコン間転送ケーブルSB-60でも可能だと思われます。
接続図と部品一覧を下に書きますが、
L型2.5φ接続プラグを2つクロスでつなぐだけなので、安価で制作も簡単です。

部品一覧表
名称 型番 個数
接続プラグ L型2.5φ(ステレオケーブル付) 2

PB-1000/C等で利用する場合は、FX-870P/VX-4/FX-890P/Z-1用のレベルコンバータを
そのまま25P←→9P変換コネクタで接続してやれば良いと思います。
カシオデジタルカメラ・パソコン接続キット(Windows用)「LK-1」に含まれる接続ケーブル(3pin-25pin)
も使用できます。

4−1.BASICによるリモコン制御について
 QVシリーズ(QV-2400、QV-2900、QV-3000EX、QV-3500)の
操作コマンドは右の表のようになっています。
見ると判ると思いますが、ボタンを押したときに
アルファベット大文字(0x41〜)がRS-232C経由で送出され、
ボタンを離したときにアルファベット小文字(0x61〜)が送出されています。

 QV-3000はW-2Cの対象から外され、リモコンはありませんでした。
無い物は作るしかないと解析したもので、
下の4つはWR-2CにはありませんがQV-3000で使える機能です。

 後は、このプロトコルをポケコンに実装してやるだけです。
他のCASIOデジカメでも機能に対する送出コードさえ判れば
同じプロトコルで制御可能だと思われます。
海外の解析結果(http://www.dicasoft.de/qv_ser.htm)等を参考に、
制御に挑戦してみるのも良いでしょう。
WR-2C(QV-2900)
機能
QV-3000
機能
送出データ
(ボタンを押した時)
送出データ
(ボタンを離した時)
Focus Focus A(0x41) a(0x61)
Shutter Shutter B(0x42) b(0x62)
Wide Wide C(0x43) c(0x63)
Tele Tele D(0x44) d(0x64)
Menu Menu E(0x45) e(0x65)
Macro Up F(0x46) f(0x66)
Left G(0x47) g(0x67)
Right H(0x48) h(0x68)
Set Set I(0x49) i(0x69)
Flash Down J(0x4A) j(0x6A)
Shift Flash K(0x4B) k(0x6B)
Self Timer Macro L(0x4C) l(0x6C)
(RC/PL) Mode N(0x4E) n(0x6E)
(Test Mode) Disp O(0x4F) o(0x6F)
(Power OFF) Self Timer P(0x50) p(0x70)
(none) Preview Q(0x51) q(0x71)

4−2.BASICによるリモコン制御プログラム
 右はFX-870P/VX-4のBASICによるQV-3000用リモコンプログラムです。
(山爺氏・作)

 FX-890P/Z-1/Z-GRで使う場合には、15行目を機種に合わせて変更してください。
多分、POKE文を削除して、F.COMで通信設定を してやるだけでOKだと思います。
(PB-1000/Cでも通信設定をしてCOM0:7にてOPENすれば使えます)
このプログラムでは入力されたキーコードをそのまま通信に利用しているため、
操作はCAPSロック状態で行って下さい。

11行〜14行にてLCDに操作メニューを表示し、
15行目でRS-232Cの通信設定を
9600bps、8ビット長、 パリティなし、ストップビット1に設定しています。
16行以降が制御プロトコルになっています。
まずキー入力を待って何か入力があれば、
そのキーのキャラクタコードを送出します。(16〜17行)
次に押されたキーが離されるのを待ってから、
小文字に変換(+32)したデータを送出しています。 (18〜19行)

 フォーカスは1度押すとカメラ側でフォーカスロックされ、
もう1度押すとロックは解除されます。他は押した通りの動作 をします。
ズームは押している間ズームします。
カメラの全てのボタン操作がポケコンからも操作できます。
QV-2900UXではキーの名称を変更するだけで使えると思います。
ポケコン用デジカメリモコンプログラム(山爺氏・作)
10 'FX-870P/VX-4 QV-3000EX ReMoCon By Sugiura
11 CLS:PRINT "A:FORCS B:SHUTR C:WIDE D:TELE"
12 PRINT "E:MENU F:UP G:LEFT H:RIGHT"
13 PRINT "I:SET J:DOWN K:FRUSH L:MACRO"
14 PRINT "N:MODE O:DISP P:SELFT Q:PREVW";
15 POKE&H173E,&H16:OPEN"COM0:"FOROUTPUT AS#1
16 IFINKEY$=""THEN 16
17 K$=INKEY$:PRINT#1,K$
18 IFINKEY$=K$ THEN 18
19 K$=CHR$((ASC(K$)+32)):PRINT#1,K$:GOTO 16

5−1.外部トリガによるデジカメ制御について
1ビット入力回路図  外部トリガの入力にはCASIOポケコンの30Pコネクタ端子(P22、P30)を利用しています。
30Pinコネクタの仕様はマニュアル及びSTEAR氏のHPをご参照下さい。
今回使った1ビット入力回路は左図の通りです。

 ポケコン側の保護の為、PNP型のトランジスタ(2SA564等)を利用し、
シーケンサーなどで制御される、DC-24V負荷にパラレルで接続が可能なように、
ダイオードを追加しました。
外部トリガ検出には、右側のトリガ端子をGNDにショートで0、オープンで1です。
30pinコネクタ半田面  30Pinコネクタ正面から見て、下段の左端がP2で右端がP30です。
利用するのは右側(P30)と、右から5番目のピン(P22)です。
30pinコネクタ部品面  ユニバーサル基板に、
適当なハーフピッチのヘッダーピン15本を半田付して
ポケコン側30Pinコネクターの下段に差します。
上段にも差せてしまいますので、差し込みには充分な注意が必要です。

 この外部トリガ信号をFX-870P/VX-4のBASICから読み出すには
DEFSEG文とPEEK文を使います。
 まずDEFSEG=&H1000としておき、30Pinコネクタ入力をI/Oに割り付けます。
その後、A=PEEK(0)を実行すると、変数A<ビット0>に外部トリガが入力されます。
(下記サンプルを参照方)

外部トリガ信号読み込みプログラム
5 'Sample Trigger
10 DEFSEG=&H1000
20 A=PEEK(0) '←外部トリガを読み出す
30 LOCATE0,0:PRINT A'←読み出した値を表示
40 GOTO20

5−2.外部トリガによる撮影(1)
 外部入力で静止画を10枚撮影するプログラムを右に示します。
40行は戻った時に入力がONのままだとOFFを待ちます。
連続撮影したければ削除して下さい。
50行で入力のONを待ち60行でシャッターです。 Kは回数で10回までの録画をします。
外部トリガによる静止画撮影プログラム
10 'VX-4/QV-3000 Trigger Shot By Sugiura
20 POKE&H173E,&H16:OPEN"COM0:"FOROUTPUT AS#1
30 DEFSEG=&H1000:FOR K=1 TO 10
40 X=PEEK(0):Z=X AND 1:IF Z=0 THEN 40
50 X=PEEK(0):Z=X AND 1:IF Z=1 THEN 50
60 PRINT#1,"B":FOR N=0 TO 10:NEXT N:PRINT#1,"b"
70 NEXT K:DEFSEG=0:CLOSE:END

5−3.外部トリガによる撮影(2)
 あらかじめデジカメを動画モードにしておくことで、
外部トリガーで動画撮影も できますが、
QV-3000には320x250で15フレーム/秒の動画の「過去撮り」という、
常にリング録画をしていて、シャッターでメディアに記録する機能があります。
これを利用して外部入力のタイミングを少々遅らせてシャッターを切ると、
外部入力の前後を録画する事ができます。
例えば、ドアスイッチ入力で、開ける5秒前から10秒間の録画等が可能です。
いつ発生するかわからない装置からの異常出力を取り込み、
異常監視によるデバッグをしたり、防犯用としても使えると思います。
外部入力で過去撮りをする場合は、動画の過去撮りモードで、
動画撮影の開始待ち状態にしてから、右のプログラムを起動します。
外部トリガによる動画(過去撮り)撮影プログラム
100 'VX-4/QV-3000 Kako-Tori Trigger Shot By Sugiura
110 POKE&H173E,&H16:OPEN"COM0:"FOROUTPUT AS#1
120 DEFSEG=&H1000:FOR K=1 TO 10
130 X=PEEK(0):Z=X AND 1:IF Z=0 THEN 130
140 X=PEEK(0):Z=X AND 1:IF Z=1 THEN 140
150 GOSUB 160:NEXT K:DEFSEG=0:CLOSE:END
160 FOR S=1 TO 5:FOR N=0 TO 220:NEXT N:NEXT S
170 PRINT#1,"B":FOR P=0 TO 10:NEXT P:PRINT#1,"b"
180 FOR S=1 TO 28:FOR N=0 TO 220:NEXT N:NEXT S:RETURN

 130〜140行で外部トリガ入力(ON/OFF)を待って、160行以降の録画処理サブルーチンを起動します。
(130行は戻った時に入力がONのままだと再度録画になるので、OFFを待ちます。)
160行で約5秒待ってから、170行でシャッターを切り、180行でメディアへの記録 完了を28秒待って1回の撮影を終了します。
このプログラムでは同様の手順の 過去撮りを10回繰り返しています。(120行のFOR文で制御)
10秒の記録にメディアの記録を含めると20秒も掛かりました。
実際には記録に10秒で、 次のリング完了が10秒なのかも知れません。
遅らせる時間(160行で調整可)や撮影回数(120行TOの値で設定可)は撮影したい状況により、 カウンター値を変更して下さい。
(注:FX-870P/VX-4にはTIME$関数が無いようです。 このため、160/180行でFOR文による遅延を行っています。
PB-1000/CやFX-890P/Z-1等で 利用するときは、この点を修正するようにして下さい)
例えば、このプログラムで目覚まし時計の00秒で入力ONすると、55秒から05秒までが録画されます。
160行の遅らせる時間が短いほど、トリガー前が長くから録画できるわけです。
10秒の録画容量は3MBほどで、128MBのCFなら30回位は録画出来ると思います。


6.おまけ(QV-2900の隠しモード)
テストモード  QV-2900にはマニュアルにない隠しモードがあるようです。
先ほど掲載した制御コマンド一覧の下側4つはWR-2Cには無く、
通常は操作できないのですが、
ポケコンから送出してやることでマニュアルにない動作をさせることができます。

Test ModeではLCDに何やらカメラ情報が表示されます。
製造工程のチェック用と思われます。
カメラのREC/PLAYスライドスイッチはそのままでもREC/PLAY切り替えと、
電源OFFのリモコン操作ができます。
以下、Test Mode移行および、隠しコマンドの一覧です。
制御コマンド一覧
機能 送出データ(ボタンを押した時)
Test Mode 遷移 O(0x4F)
RC/PL(再生/記録切り替え) N(0x4E) / n(0x6E)
Power Off P(0x50)

7.あとがき

●制作・解析・記事作成:山爺氏より
 CASIOのデジカメ用リモコン「WR-2C」の送出信号を、フリーのロジアナで解析 して、9600bpsの信号が判明しました。
このリモコンはQV−2400、QV−2900、 QV−3500用です。
この機種でもトリガー撮影はそのまま使え、過去撮り機能 も有れば、それも可能だと思います。
QV−2900の過去撮りは15秒でした。 樫尾(カシオ)さんはQVシリーズとVXを、つなぐ事も考えてくれていたのでしょう。
おそらくメニューを辿っていかなくても、一発で指定モードに設定できる方法があったり、
現状のモードや絞り値、フォーカス距離など情報の読み出しや、撮影時にLCDのカラー反転や、ミラー反転などの指定もできたらいいな、
と勝手に思っているのですが、コマンドも不明で、無理かな。
実はこのシステムは、以前にVX−4は4800bpsまでと思っており、PC-1262で マシン語とBASICでやったものを移植したものです。
VX−4ではBASICだけで出来ました。ただ、30Pコネクターだけは特殊で、何ともなりません。
全て1ユーザーが勝手にやっている事で、メーカーの保証外の使い方であり、自作品を接続しますので、
カメラやポケコンを壊す可能性があります。
全て自己責任でお願いします。 メーカーの取扱説明書には指定の機器の接続のみ保証されています。
当然ですが、この件でメーカー様に問い合わせなどはご遠慮下さい。

PB-1000でリモコン操作 山爺さん、大変有用な解析をありがとうございました。(記事作成:あお氏)

私も、「QV-2300UX」をパソコン接続キット「LK-1」付属のケーブルで、
「PB-1000C+FA-7」と接続したところ、見事にリモコン操作できました。
ポケコンのキー操作でデジカメが動くのは大変面白く、
デジカメが「おもちゃ」になった感じがします。
山爺さん、ありがとうございました。(JUN)

本記事の内容は、山爺氏が解析/制作したもので、
記事は、山爺氏・あお氏よりご寄稿して頂きました。ご協力誠にありがとうございました。

戻る