LPTswitch 追加スイッチの制作手順 ・ マニュアル

回 路 図


接 続 図

ダイオードは検波・スイッチング用の小さなものでよい。ゲルマニュウム型(1N60,1K60)シリコン型(1S***)どちらでもOK。取り付けの際は向きに注意。ガラス管に印刷してある赤帯(黒帯)を見る。

・4,7Kオームの抵抗は米粒ぐらいの小さなもの(1/4ワットや1/8W)でよい。

・スイッチに流れる電流は 0.05mA ぐらいか。(テスターで実測すると 0.02mA ぐらいだったが、パルス状電流なので正確には測れなかった)

・回路図の1〜8の defuse-plug は「ヒューズ」ではなく、単に「接点」用のプラグ。 従って、接続(接合)されていればOK。

スイッチは、押しボタン式(保持タイプ、トグルタイプ)、回転式、シーソー式(保持タイプ、トグルタイプ)、大型、小型など必要に応じて購入する。スイッチが一番値が張る部品。安いもので100円程、高いものは数百円。
 中古コンピュータのキーボードをバラして、キーストローク機構をうまく再利用する手もある。

・スイッチの選択については、LPTswitch.exeでの設定とも関係する部分があるので、このページの下にあるマニュアルと追補記事を参照のこと。

・ADFやCOMの周波数を操作するスイッチは、押しボタン式でない方がよい。回転式のスイッチ(1回路8接点ぐらいの)を使って、カチャカチャカチャと連続してON,OFF出来るようにしておくと、実機の無線機のような操作感に近づく(と思う)。
 ただし、スイッチを少し壊して、最終接点で止まらないようにしないといけない。


・スイッチ8個までなら、回路図のA端子につながるダイオード8本、スイッチ8個、抵抗1本の配線だけでよい。他の抵抗につながる(赤線の)配線は作らなくてよい。
 スイッチを9個以上作るときは、B〜E端子の配線を必要に応じて追加する。
 最大でスイッチ40個まで作製できる。
 新バージョンのLPTreloaded.exeでは、セットを3つ作り、LPTボードを2つ追加して、40個 X 3セット=120個 までのスイッチが作れる。

スイッチ8個までの場合(A端子に8個のダイオードの場合)、作り上げた回路のスイッチには、スイッチ1、スイッチ2〜 と順番通りにはスイッチ順が割り振られず、スイッチ5,スイッチ10,スイッチ15,という風に、5跳びにスイッチ順が割り振られた。
 従って、LPTswitch.exe のキーアサイン(キー設定)を記述した LPTswitch.ini へのアサイン記述も注意を要する。実際の所、iniファイルにスイッチ8個分のつもりで8行だけアサインを記述しても、プログラム実行時にエラーが出る。
 iniファイルに記述するときは何が何でも40行分適当に書いて、そのうち5,10,15,20,25,30,35,40行目の記述内容だけは狙い通りのキーアサインにする。
 (だだ、新バージョンでは、跳び跳びに割り当てられる問題は解決されています。)


・LPTswitch のプログラム使用法については、作者 Philippe Vanagt 氏 のマニュアルをご覧ください。彼はマルチメディアやIT技術を学ぶ、ベルギーの学生さんです。


*****************************************************************************************************

****** 以下は、英文マニュアルの抄訳です。******

                          (  )内は訳者の注釈・追記。

1- はじめに
===============
 このソフトをダウンロードして頂き有り難うございます。あなたはホームコックピットや卓上モジュールの制作、あるいはそれらに追加するスイッチの制作をご計画でしょうか。
 このプログラムは今のところLPT-1ポート(第1プリンタポート:通常はこのポートしかない)のみを使います。そのポートに16進数で &h378 から &H37A までのコードを送信します。ですから、もし回路を正確に配線したのにプログラムが正常に動作しないときは、Windowsのコントロールパネルでプリンタポートがこの範囲に収まっているか確認してください。
 .Netフレーム版の新バージョンのソフトは、PCIボードで追加した LPT-2, LPT-3 ポートも使えるようになります。これによりスイッチが120個まで使えるようになるのです!!
  (新バージョンのソフトは、AVSIM.com のみで入手可能です)

2- 重要事項
==============================================================
 コンピュータのBIOSのLPTポート( たいていは I/O port -- Parallel port メニュー)の設定が「SPP」になっているか確かめてください。「EPP」や「ECP」では駄目です。(訳者のパソコンは ECP になっていた)
 BIOSはESCキーを押しながらコンピュータを起動すれば、設定画面が現れます。注意して設定を変更してください。

3- インストール
===============

 ZIPファイルを解凍したら、まず、同梱のプログラム por95nt.exe を実行してください。これは、LPTswitchに必要なDLLファイルをインストールするためのものです。(クリック後はインストールが自動で行われます。)

 LPTswitch.exe を適当なディレクトリに起きます。

 (もちろんのこと)スイッチ回路を作っておき、LPTポートに接続してください。コンピューターの電源がONのままでも気にすることはありません。

 LPTswitch.exeを実行してください。
 初回の実行時のみ、 file メニューから save settings を実行してください。これによって LPTswitch.ini ファイルがCドライブのルート(一番上)に作られます。(新バージョンでは、LPTのソフトが置いてあるディレクトリに作られるようになりました。)
 ここで、この LPTswitch.ini ファイルを(ノートパッドなどで)開いて、キー設定を直接書き込みます。お好みにより、プログラム自身からでも記述はできます。

4- スイッチ回路の作り方
===========================
 WEBサイトの詳細な情報をご覧ください。 www.fokker50.be.tf (今はこのURLではなく、http://users.skynet.be/plipke/PF50HC/front.html だと思います。また訳者の上記製作レポートもご覧ください。)

5- キー設定
=============
 LPTswitch での、キーやキー組み合わせの設定方法について、下をご覧ください。

 プログラム自身で設定を記述するときは、 Push button か Switch のどちらかを選択し、 key output line にキー設定を記入してください。
 LPTswitch.ini ファイルに直接書き込むときは、40行の記述をしてください。
  (40行以下だとプログラム実行時にエラーがでました。スイッチが40個以下の時でも、必ず40行記述すること)

 1行の最初が P の時は、プッシュボタン的動作(トグル動作:押しているときON、手を離すとOFF)をします。
 1行の最初が S の時は、保持式スイッチ的動作(一度押すとON、次に押したときにOFF)をします。
  (実際のスイッチの構造がトグルか保持式であるかは関係しません。S なら、トグルを保持式に認識します)

   記述の中にコメントを入れてはいけません。下の例のコメントは説明のためのものです。

 Pa      => プッシュボタンを押す毎に( スイッチ接点がOFF--ON--OFF )a を出力します。
          (手を離すとスイッチが戻る、トグル式スイッチ向けの設定です)
 Sa      => スイッチの接点状態が変わる毎に( スイッチ接点がOFF--ON または ON--OFF )a を出力します。
          (状態を保持する「普通の」スイッチ向けの設定です)
 P{BKSP}    => backspaceキーを押したのと同じです。
 P"+(ec)"    => shiftキーを押しながら e と c を押して、shiftキーを離したのと同じです。
 P"+EC"     => shiftキーを押しながら e を押し、shiftキーを離してから c を押したのと同じです。
 P"%b"     => altキーを押しながら b を押したのと同じです。
 P"^a"     => ctrlキーを押しながら a を押したのと同じです。
 P"password" => password という文字列を出力します。
 P{F1}     => F1 キーを押したのと同じです。
 P{%}     => % を出力します。
 P{^}     => ^ を出力します。
 P{+}     => + を出力します。

(上の例でもお分かりのように)一文字だけでなく数文字の文字列を出力することができます。(大文字と小文字は区別してください。)
 +、^(キャレット)、%、~(チルダ)、( ) は上の例のように特別な意味を持っています。ですから、これらの文字を出力したい場合は、中括弧 { } で括って(囲んで)ください。中括弧自身を出力したいときは {{} と {}} のように記述します。

 ENTER や TAB のように、キーを押しても画面に出力されないキーなどは、次のように記述します。

 Key Code
  BACKSPACE  {BACKSPACE}, {BS}, or {BKSP}
  BREAK    {BREAK}
  CAPS LOCK  {CAPSLOCK}
  DEL or DELETE  {DELETE} or {DEL}
  DOWN ARROW  {DOWN}
  END      {END}
  ENTER     {ENTER} or ~
  ESC      {ESC}
  HELP      {HELP}
  HOME      {HOME}
  INS or INSERT {INSERT} or {INS}
  LEFT ARROW   {LEFT}
  NUM LOCK    {NUMLOCK}
  PAGE DOWN   {PGDN}
  PAGE UP    {PGUP}
  RIGHT ARROW  {RIGHT}
  SCROLL LOCK  {SCROLLLOCK}
  TAB      {TAB}
  UP ARROW   {UP}
  F1      {F1}
  F2      {F2}
   etc...
  F16      {F16}

SHIFT, CTRL, ALT キーを押しながらの文字出力は、それぞれ次に挙げた記号に続けて、出力したい文字を記述します。

  (上の記述例を参考にしてください)

   SHIFT  +
   CTRL   ^
   ALT   %

 「キーを押す操作を繰り返す」のを設定するには、{「キー」に続けて「空白」「繰り返す回数」} という風に記述します。
 例として、{LEFT 42} という記述は、左矢印キーを42回、 {h 10} は hキーを10回押したことを意味します。
 ( これを利用すれば、「逆噴射」のようにキーを押し続ける必要のある動作を記述できます。P{F2 40} という記述で「逆噴射」が動作しました )

注意: キーストローク(キーを押し下げたこと自体)をアプリケーションに送信することは出来ません。Windowsにはその設計が無いためです。
   また、 PRINT SCREEN キーを記述(送信)することは出来ません。

------------------------------------------------------------------------
iniファイルの設定が終わったら、次の作業をします。
  1) プログラムから ini ファイルに記述していたなら、 file メニューで save settings を行う。
  2) ini ファイルを直接記述していたなら、ファイルを「上書き保存」。

そしていよいよ LPTswitch.exe を起動して、file メニューから load settings を選んでください。
プリンタポートに設定を送信するために Go! ボタンを押してください。
------------------------------------------------------------------------
 今のところプログラムを起動するたびに、file -- load settings を選び、 Go! ボタンを押してください。私は.Netプログラマーなので、VisualBASIC6で  これらの動作を自動的にするのにはどのようにプログラミングしてよいのか分からないのです。
 次のバージョン(.Netフレーム版)では自動的に一連の動作をするようにします。

 FSを動作させたままでこのLPTswitchを起動してください。(起動の順番は逆でもかまいません)
 FS以外のソフトも同じようにうまく動作するはずです。
  (試しにワープロを起動してLPTswitchを動作させ、スイッチ回路のスイッチを操作してみてください。設定した通りの文字がワープロ画面に表示されるはずです。)

6- うまく動作しないときは
=====================
 次の点を確認してください。
- BIOS でプリンタポートのセッティングを SPP にしましたか。
- LPTポートのプロパティを確認します。
  Windowsでスタート、コントロールパネル、パフォーマンスとメンテナンス、システム、ハードウエア、デバイスマネージャ、とたどっていき (COM & LPT) のポートを見ます。サブメニューから「プリンタポート」をダブルクリックして「レスキュー」タブを選んでください。
そして I/O 範囲が 0378 から 037A の間に収まっているか確認してください。
- 製作した回路の、ダイオードの向きは間違っていませんか。
- 配線は間違っていませんか。

7- Legal stuff
==============
このプログラムはフリーウエアで無料です。CDなどで有料配布するときは私(Philippe氏のこと)に連絡をください。

ソフトウエアの全ての権利は Philippe Vanagt に帰属します。
DIPortIO.dll の全ての権利は SST software ( www.sstnet.com ) に帰属します。

このソフト用のハードウエアは自己責任において製作してください。ソフトウエア作者はソフトやハードを使用したことによるいかなる事態にも責任を負いません。ただ、プログラムは正常に動作するとは思います。

次の方々に謝辞を申し上げます:
 - Walter Lippens - for the tips and tricks for VB.6 code
 - Mike Powell - for the help on the LPT port
 - Kevin Darling - for the help on the LPT port
 - Leo Lacava - for help on understanding the write/read sequence via dll file


******************************************************************************************************

LPTswitch.exeでの設定と、使用するスイッチの関係について(追補)  by 木下

  スイッチの選定について、ネットの「FSシーナリー会議室」にてQ&Aのあったものです。

     -------- -------- -------- -------- -------- ------- --------
LPTswitch.ini に記述する際、PushButton か switch かは、確かに困惑させられる点ですが、S か P かを選ぶのは、全くソフト的選択であって、実際に使用しているスイッチの機械的構造と正反対でも構いません。

ポイントは、
 P設定(PushButton)=スイッチの接点が接したときに信号を出力。接点が離れた時は何も出力しない。
 S設定(switch)=スイッチの接点が接したときに信号を出力、接点が離れたときにも信号を出力。

 例として、「k」という文字を出力する設定を行うとしましょう。

一度押したら次に押すまでONになったままの(いわゆる普通の)スイッチを使って、このスイッチにP設定(PushButton設定)をすると、押してONにする瞬間に一回「k」を出力し、次に押してOFFにする瞬間には何も出力しません。
 同じスイッチに今度はS設定(switch設定)をすると、押してONにする瞬間に「k」を出力し、次に押してOFFにする瞬間にも「k」を出力します。

 今度は、押したボタンから指を離すと導通が切れてしまう(ロックされない、玄関のピンポンスイッチみたいな)スイッチを使ってP設定をすると、押してONになる瞬間に「k」が出力され、指を離してOFFになってしまうときは何も出力されません。
 同じスイッチにS設定をすると、押した瞬間に「k」が出力され、指を離した瞬間に「k」が出力されます。

 以上のような訳で、ロック式の普通のスイッチにS設定をすれば、トランスポンダのON、OFFや、ライト類のON.OFFに向いていると思います。見た目で今ONなのかOFFなのか分かりますから。
 一方、ロックされないスイッチは、フラップ増減やプロペラピッチ増減、目盛りの上げ下げ、オートパイロットの高度やコース設定、ズームなど、何かの値を変化させるのに向いていると思います。少し贅沢をしてロータリーエンコーダー回路を使ってグルグルっと自在に値を上下させるとカッコイイと思っています。
   ダイオードをNPNトランジスタに変えて、そのベースにエンコーダー回路の出力を抵抗を通してつっこめば、少々荒っぽいですが動作すると思います。
 周波数の設定もこのエンコーダーがいいかと思っていましたが、試してみている内に、たかが10MHz幅そこそこの設定には、単にロータリースイッチで一方方向に値を変化させれば十分だということが判明しました。

ロータリーエンコーダーの使用法は概ね左のようになるはずです。
部品は、ロータリーエンコーダー(200円)、IC2個(200円)、ICソケット、抵抗、コンデンサ、基盤、といった所で、1000円もあれば出来ると思います。
ただ、回路駆動用に5Vの電源が要るので、これをLPTポートからとるか、あるいは不要になった家電のACアダプターに5V電源IC (78L05) を付けるかしないといけません。



HOME (Top page)