まず,マスコン,ブレーキの2進データによって抵抗が変わるだけの回路でテストしてみました.具体的には,トランジスタであやしい回路を作りました.
しかし,前に説明した通り接点がノンショーティングで切り替わるため,
たとえばブレーキを「4」から「5」までまわすと,
ブレーキレバーが「4」と「5」の中間にあるときブレーキが解除されてしまいます.
つまり,「4」→「解除」→「5」となり,
ブレーキが乱暴であると怒られてしまいます.
マスコンのほうでも同様のことが起こります.
そうすると,接点切り替えが中間位置にあるとき,
直前のデータを保持する回路が必要なことになります.
データのラッチを設けてみました.
ラッチのクロックをどうするかが問題です.
接点入力があれば HC148 の /GS 端子が "L" になるのでこれを使いたいところですが,
HC148 の2進出力よりわずかな先に /GS 端子が "L" になるので,
/GS 信号を遅らせる必要があります.
コンデンサと抵抗でディレイを作ったところ,
試作段階では正常に動作しました.
ところが,基板に組んだところ誤動作が出てきてしまいました.
なお,ブレーキ側には HC148 が2つありますが,
2つの /GS 出力を HC00 のあまっているゲートに入力すれば,
GS 信号,つまり接点入力があれば "H" となる出力が得られるので,
これを使います.これには接点基板にジャンパを飛ばすことが必要で,
少し面倒になってしまいます.
誤動作を完全にさけるには,かなり工夫が必要かもしれません. 基板にワンチップマイコンがぎりぎり載せられるスペースがあったので, PIC を使ってみることにしました. そうすると /GS は使わなくてすむので, 改造が非常に簡単になるという利点もあります. 出力段はあやしいトランジスタはやめ, アナログスイッチで切り替えることにしました.
![]() |
アセンブラは秋月の pa.exe を使用しています.
最初から PIC を使うことにすれば, たぶん (PIC を入れて) 2つの IC で作れたはずです. プレステ版コントローラのワンハンドルマスコンを安価に入手したので, こちらの改造では IC 2個に挑戦したいと思います.