ニコンD70用タイマーリモートコントローラー製作記
これは行き当たりばったりの計画性のなさで無謀にもニコンD70用タイマーリモート
コントローラー(以下TRCと略す)の製作に挑んでドツボにはまった男の物語である。
・きっかけ
男はホームセンターをうろついては天文グッズを作れそうな材料を探しては頭の中で
組み立てるのが好きな中年男であった。それと同じようにあるWEBサイトを閲覧していた。
秋月電子通商のホームページであった。電子部品や部品キットを眺めては頭の中で組み立てていた。
そしてある商品に目が留まって、思わず「安い」とつぶやいた。そればボタン電池
LR44の10個
入り1シート200円の表示であった。LR44はホームセンターでは1個150円前後で売られて
いる商品である。ちょうど赤道儀の極軸望遠鏡明視野照明装置用LR44が切れかかっていたので
購入したかった。だが送料500円+佐川の代金引替え手数料300円を考えると割に合わなかった。
「そうだ!なにかいっしょに注文しよう。」 男は他にほしい物はないか探した。そして見つけた。
それは
「AKI−PIC877ベーシック開発セット」
4400円の商品であった。
男はニコンD70で天体写真を撮るとき、ひとつの対象に6〜8コマのコンポジットをしていた。
しかしD70には専用リモートコントローラーがあるのみでタイマー機能がなかった。そのため男は
キッチンタイマーと睨めっこしながらリモートコントローラーのボタン操作をしなければならず
少なからず不便を感じていた。また誠報社からIOS用TRC+D70用接続ユニット35800円で
販売されているが男には私なら10000円以下で自作できるという自身があった。そしてそれは
「AKI−PIC877ベーシック開発セット」(以下、開発セットと略す)で可能ではないかと思ったの
だった。(ちなみにPICについて知らない人は
こちらを参照)。いまさら使ったことのないワンチップ
マイコンのアセンブラでプログラムする気力はないがBASICでならプログラムもできる気分に
なったのだった。
・発注
男はPICについては素人で、またPIC−BASICの実際についても何も知らなかった。
これでTRCを製作するにはあまりに無謀というもの。同時に
ガイドブックの購入も決断したのだった。
日曜日の深夜にインターネットで発注をした。月曜日の夕方に発送しましたとのeメールが来て
水曜日の午前中に到着した。ほぼ最短の日数に「通信販売はこうでなくては」と男はその対応速度に感心
したのであった。しかしここからがドツボにはまった3日間の始まりであることは誰もしるよしもなかった。
・組み立て
男は物が到着してすぐに組み立てに入った。久しぶりの本格的な半田付けに「富士山の裾野、富士山の裾野」
とつぶやきながら半田付け跡がきれいな富士山の裾野状になるよう、決していも半田にならないよう慎重に
半田付けするのであった。2時間もかからず半田付け完了した。
・開発環境のインストール(第一のドツボ)
この開発セットのBASICプログラムはWindowsパソコン上で行うためのCDが添付されている。
男はCDをセットしたが以下のメッセージが表示されてインストールプログラムが起動しないではないか。

なんたるちあ。インストーラーがWindowsXPに対応していないようなメッセージではないか。おかしい。
説明書にはWindowsXPも対応していると書いてあるのに。幸いなことに男のパソコンはWindowsMeと
デュアルブートになっていた。仕方なく男はゲーム用に残しておいたWindowsMe側にインストールすることに
した。しかしWindowsMe側にインストールできたものの男のWindowsMeはディスク容量節約のために
消去してはならないシステムファイルを消去してしまったようで640×480のVGA画面モードしか
使用できなくなっており非常に開発しずらい状態になっていた。ひょっとして、男は再びWindowsXPを
立ち上げWindowsMe側にインストールした開発プログラムを起動した。そうしたら正常に動作した。
これでまずは1件落着であった。
・テストラン(第二のドツボ)
男はガイドブックにある動作テスト用サンプルプログラムを実行させて正常に組み立てられているか
チェックすることにした。開発セットを動作させるための電源とプログラムをダウンロードするための
ストレート結線のRS232Cケーブルが必要であった。男はいろんな機器のACアダプターを調べ電圧と
プラグ形状、+−の一致するものを探しだした。次にRS232CケーブルはST−Vを購入した時に
添付されていたものがあった。これで準備万端、男はサンプルプログラムをダウンロード、ランさせた。
しかし、LEDは点滅するもののLCD表示は何も表示されない。LEDは点滅しているのでプログラム
自体は正常にランしているものと思われた。LCDユニットの半田付けを丹念に調べたが異常がない。
LCDの初期不良かと疑ったりもしたがふと開発セットの組み立て説明書を読んでみるとLCDコントラスト
調整用VRは時計方向に回しきっておくことと書いてあった。そのとおりにしたら表示した。なんのための
VRかと男は憤った。
・仕様の決定
当初、赤外線リモコン装置はメーカー独自に決めたモールス符号のようなパルス列を発生させて赤外線
LEDを発光させているだろうと考え、その発光パターンを解析する手段をもたない男はニコンD70用
リモコン(ML−L3)の接点を引き出し、それを開発セットにリレーを付けて開閉させる方法を考えいた。
しかし、ガイドブックに「学習リモコン」なる応用例が記載されていて、開発セットに赤外線受光素子と
赤外線LEDを接続することにより、リモコンの発光パターンを取得し、その後、その発光パターン通りに
赤外線LEDを発光させるというものであった。そして男は思った。これは試して見る価値があると。
次の日、男は赤外線受光素子と赤外線LEDと今後必要となるであろう部品を買い求めるためカホパーツ
センターに行った。そしてガイドブックにある「学習リモコン」を組み上げ、ソフトをダウンロードし
ランさせた。まず、ニコンD70用リモコン(ML−L3)を赤外線受光素子に向けスイッチを押す、次に
赤外線LEDをD70に向け、ランさせる。はたしてD70のシャッターは見事動作したではないか。
男はこれはいけると確信し、次の問題、PIC−BASICで時間を正確に計測する方法、すなわち露出時間を
どうやって正確に求めるかの問題であった。そして幸運にもまたガイドブックに「ストップウォッチ」の
応用例が記載されていた。これは本来PIC−BASICの仕様にないコントロールレジスタ類を操作して
時間計測を行う高度な方法だ。男はPICのコントロールレジスタに関する知識はなく、わけもわからず
とりあえずパクらせてもらうことにした。次にタイマー時間の設定方法、設定したタイマー時間を液晶
ディスプレイに表示させる方法の検討に入った。ガイドブックをいろいろ参考にしながら決定し、半日かけて
プログラムができた。
・組み上げ、そして最後のドツボ
男は台所にある使われていない小型のタッパが開発キットと電池を入れるのにちょうど良く、かつ
液晶表示も透けて見えるのでこれに組み付けることにした。そしてデバッグランを行い、表示上のミス等の
修正を行い正常に動作することを確認しついに完成したと思ってデバッグランモードから開発キット単体で
動作させるためのプログラムの書き込みした状態の本番モードに移行した。そして最後のドツボが男を
襲ったのであった。それは露出時間の設定や表示は機能しているのに肝心のD70のシャッターが動作しない
のであった。男はすぐに原因が推察できた。すなわち、デバックランモードでは正常に機能し、本番モード
では機能しない原因、それはデバックランモードと本番モードとでPIC−BASICの処理速度が異なるので
赤外線LEDの発光パターン出力速度が変わってしまったと推察された。いろいろテストプログラムを作って
調べてみると本番モードはデバッグランモードより10%程度処理速度が速いことがわかった。今は引退して
いるが長らくコンピュータ業界に籍を置きソフトデバッグの修羅場を経験した男だからわかる原因であった。
しかし、原因がわかったとしてもこれを解決するための手段がないことが男には本当のドツボだった。
この問題を解決するためにはロジックアナライザーなる高価な計測器が必要であったのだ。しようがないので
男は発光パターンデータに10%遅らせるよう修正を加えてみたがだめだった。そしてだめもとで発光ルーチンに
無効命令を1つ追加して遅らせる修正を行ってみた。そして男の顔は笑顔に変わった。うまく行ったのだった。
男は奇跡が起こったとまじに思った。最後に実際に10分露出させて露出時間を計ったら5秒程長かった。
開発キットは正確なクリスタル発振子ではなく固体差があるセラミック発振子を使用しているため正確性に
欠けるようだ。でプログラムのループ回数を微調整することにより1秒以内の誤差にできた。

タッパに組み付けた様子です。単3電池6本で動作します。消費電流は測定したら27mAでした。

完成した様子です。スイッチは左から分カウントアップ、5秒カウントアップ、分秒リセット、タイマースタートボタン
になっています。赤外線LED部はカセットテープのケースのコの字部分を切断して製作しました。これをカメラの
ホットシューに取り付けます。液晶表示はバックライト付で夜間でも見え、残り時間を表示できるようにしているので
便利です。
・最後に
ここまで私の拙い文章を読んでくださった方、本当にご苦労さんでした。
敢えて、ここで製作したTRCの回路図とプログラムは公開していません。逆に、回路図とプログラムを理解できる
人ならば自分で製作可能だからです。そしてなにより自分で考えて作る楽しみを味わってほしいからです。
また、先に挙げたガイドブックを参照し理解できると判断される人には自分仕様のTRCが十分に製作可能だと思います。
(自分も製作したいので参考にしたい方がいらっしゃればプログラムソースをメールします。回路図はあまりに簡単なので
実は書いていません。)