Esectrum Avanti for Windows2000 Hardware [part2]




ハード部の作り方(キーボード基板の流用)
ハード部の作り方(専用ハードウェアの製作[手配線])
ハード部の作り方(専用ハードウェアの製作[専用基板])
番外編(試作中の失敗作)
 



・ハード部の作り方(専用ハードウェアの製作[手配線])


E425TC〜USB-IO接続改造

 電子工作なんて初めてだ!とか、ハンダゴテなんか握った事無いよ!という方は是非、「電子工作」「入門」とかキーワードにしてgoogleとかで検索して色々読んでみたり、入門書を買ってみたり、簡単なキットとか購入して練習してみましょう。ダーツボードは そんなに安価なものじゃありませんのでぶっつけ本番で成功するとはとても思えません。原理があまり理解できなくても、どういう 部品はどう配線してやらないといけないのか(方向の有無とか)は最低限の知識として必要と思います。

 前項のキーボード流用では組み合わせるEボード、使うダーツ重量、飛び方などによって は「反応が凄く悪い」という意見を多数頂きました。
 そこで専用の回路を作成して問題を解決する方法が下記の通りです。回路図を見てそれだけ で作成出来るくらいの電子工作経験がないと厳しいでしょう。実体配線図が無くて平気な人 じゃないと難易度が高い可能性あります。また、PICワンチップマイコンを使います。 PICを書き込む事が出来るライターが無いといけません。完成品は1万円近くしますが自作すると \1000〜\2000程度で作れますので「PIC」「JDM」「ライター」とかで検索して自力で調べて下さい。
 オススメは FENG3さんのホームページ
 私が作ったライターは この4号機 各デバイス用のピンアサインを参考にして ブースター内蔵型 内蔵クロックタイプへの再書き込み対策を全てとりいれたようなものです。

  専用プリント基板の共同購入はこちら締め切りました

 作成する回路は部品数はそんなに多くありません。しかもPCとの通信部は既製品(キット) の「USB-IO」基板をそのまま使います。別途 Km2Netから購入して下さい。
 Eボードのセグメントマトリクスは8x8の単純なものから11x7や10x9など様々あるようです ので最大12x12の設計にしてあります。4x20および8x16にも対応した回路図 及びPICプログラムを追記しました。 PIC 16F877Aにてこのキーマトリクスを順次スキャンし、 ヒットがあれば出力ポートにデータをセットしています。この出力ポートからUSB-IOへ入力 され、USB-IOのデータを定周期で検査する専用アプリがデータを採取するまでPICでデータを 保持しています。読み取りが完了するとクリア制御を送り、次のスキャンを行うという感じです。

 回路図とPICマイコンのHEX(ついでにソースも)を下記に書いておきます。気合いで作って みて下さい。PICは16F877Aで表記していますが前身の16F877でも互換性があります。ソース共用、 さらにHEXファイルも全く同一で大丈夫です。
 セグメントのマトリクスとEsectrumのキーコード対応はKEYCODE.iniのUSBCODEセクションに定義 出来ます。X軸(Annと表記)とY軸(Bnnと表記)の座標を16進数で定義するわけですので例えば A06〜B08にヒットした時PageDown(KeyCode:34)に割り付けるには「68 = 34」という感じになるわけです。 最新版のKEYCODE.iniは下記のE425TCマトリクスで定義されていますので参考にしてみて下さい。
 ※Arachnid CricketPro E425TCは比較的安価な15.5インチ(業務用ソフトボードサイズ)のボード です。まだあまり出回っていない模様、前モデルE400TCのバージョンアップだそうです。 →Dart7


Arachnid CricketPro E425ARA(E425TC)のキーマトリクス


Arachnid CricketPro E425ARA(E425TC)のキー対応変換表


12x12セグメント回路図・論理表


8x16セグメント回路図


4x20セグメント回路図


4x20セグメントのミニダーツ

※USB-IOのUSBコントローラーマイコン周辺の回路図は独自に調査 したものでKm2Netで公開されている情報ではありません
部品表
品名 参考価格 必須
Km2Net USB-IOキット 1 \1500
USBケーブル[A-B] 1.5m〜3m 1 \300
Microchip PIC16F877A(16F877) 1 \500
ICソケット40P 1 \50
ムラタ セラロック20MHz(3Pin) 1 \50
積層セラミックコンデンサ 0.1μF[104] 1 \30
1/8W〜1/4W 47KΩ 12 \60
1/8W〜1/4W 510Ω 3〜 \15〜 ×
LED 3〜 \90〜 ×
74HC08 1 \100 ×
74HC138 1 \120 ×
コネクタ・ピンヘッダなど適宜 - \500 ×
おおよそ総計 \3000
 

PIC16F877/877A書き込み可能HEXファイル&Cソース
(2005/05/01最終更新
※4x20,8x16マトリクス用バイナリ追加 )
※8x16マトリクスようやく動作確認しました、動きます(2005/06/14)

 


配線の様子(全体)
例によってセグメントにはチリ紙が詰めてあって消音効果少々


配線の様子(PIC基板周辺)


配線の様子(PIC基板裏面)


配線の様子(USB-IO基板)
USB-IOキット[Km2Net] \1500


配線の様子(既存スイッチ基板への配線)

 

 


・ハード部の作り方(専用ハードウェアの製作[専用基板])


E425TC〜USB-IO接続改造 専用基板利用編

 前項の手配線は電子工作中級以上向けですが、難易度を下げる意味で専用基板を業者に発注した 場合の例を紹介します。※[なんなん]様、[むらさき]様に感謝!!

 PCとの通信部は既製品(キット)の「USB-IO」をそのまま使います。USB-IOキットの基板は使い ませんが\500の差なので抵抗やコンデンサ、セラロック、USBコネクタを買いそろえるのが面倒な 人はキットを購入してしまっていいと思います(筆者はCY7C63001Aのみ購入してますが)。別途 Km2Netから購入して下さい。


基板の様子


FFCコネクタ同士の干渉部を削って実装


部品実装前の専用基板[部品面]


部品実装前の専用基板[ハンダ面]


部品実装は背の低いパーツから


コネクタとLED以外のハンダ付け完了


イモハンダやブリッジが無いかチェック(下手だという意見却下)


USB-IOマイコンとEsectrumPICを差し込んだ様子

部品表
品名 参考価格 必須 その他
Esectrum専用基板 1 \2000〜\3000 頒布終了
Km2Net USB-IOマイコン 1 \1000 →IC2{方向注意}
USBケーブル[A-B] 1.5m〜3m 1 \300  
USBコネクタBタイプ メス 1 \50 →CN3
Microchip PIC16F877A(16F877) 1 \500 →IC1{方向注意}
ムラタ セラロック20MHz(3Pin) 1 \50 →X1
ムラタ セラロック6MHz(3Pin) 1 \50 →X2
積層セラミックコンデンサ 0.1μF[104] 2 \50 →C1,C2
電解コンデンサ 100μF〜220μF(10V〜50V) 1 \30 →C3{極性注意}
集合抵抗 47KΩ×8[M9-1-473J](8素子9Pin) 1 \30 →RA1{方向注意}
集合抵抗 47KΩ×4[M5-1-473J](4素子5Pin) 1 \30 →RA2{逆向き注意}
1/8W〜1/4W 7.5KΩ[紫緑赤金] 1 \5 →R14
1/8W〜1/4W 51KΩ[緑茶橙金] 1 \5 →R13
1/8W〜1/4W 510Ω[緑茶茶金] 1〜3 \5〜\15 →R15,R16,R17
LED(3Φ〜5Φ) 1〜3 \30〜\90 →CN4{極性注意}
ヒロセFFCコネクタFH1-12S-2.54DS 2 \140 × →CN1,CN2
ICソケット40P 1 \50 →IC1(丸ピンは倍額くらい)
ICソケット20P 1 \50 →IC2(丸ピンは倍額くらい)
おおよそ総計 \5000前後
※集合抵抗 47KΩ×8は、4x20セグメントタイプでは使いません。
※集合抵抗 47KΩ×4は、8x16セグメントタイプでは使いません。
※4x20セグメント及び8x16セグメントタイプではFFCコネクタは使えません。
※ICソケットは△記載していましたが○に変更します。熟練者でも使うべきです。
※秋月・千石にリンクしましたが、10個以上からしか通販購入できないものもあるので注意。

 自力で配線できる人にとっては少々高くついてしまいますが、綺麗にかつ簡単に 組み上げられますので非常に良いです。上記紹介写真の基板は[なんなん]さんが試作 して下さったものですが、実際に作成する基板もほぼ同じになります。仕上がりもほぼ 同等と考えて結構です。

 取り寄せ注文しないとなかなか店頭では買えませんがFFC(フレキシブルフラットケーブル)用 のコネクタが入手出来れば、多くのEボードでこの規格のフィルムが使われていますので、元の 状態のEボードに手を加えずに差し替えが可能です。

 マトリクス入出力の信号はタイプによって役割が違ってきますので下記のようにします。
 集合抵抗には型番記載面の一番左の1ピンだけコモンといってVCCやGNDに接続されますので 実装時の向きに注意して下さい。
 作者のデバッグ用基板なので集合抵抗の実装部にICソケットが使われていますが、通常は 不要かと思います。同様にデバッグ用にLEDの端子にもコネクタが付いてますが気にしないで 下さい(笑)


12x12マトリクス(標準)A信号とB信号はそのまま


8x16マトリクス A信号は8本、コネクタの利用はムリ


4x20マトリクス A信号は4本、コネクタの利用はムリ

組み立て後の動作チェック及びKEYCODE.iniへの定義反映方法:
 ESECTRUM.iniの[USBIO] DEBUG_MODE = 1 としてEsectrumを起動します。勿論USEUSBIO = 1にして おかないとUSBIOドライバソフトが起動しません。DEBUG_MODE=1で起動すると普段表示されない ウィンドウが出てきます。A01とB01を短絡してみると下記のように表示が変わります。(KEYUPで判定 が通常なので短絡を終えて離さないと変わりませんが)


 マトリクスの「11(A01・B01)」がヒット検知され、KEYCODE.iniの[USBCODE]に定義したキーコード「66」 を識別した事を意味しています。12x12セグメントのタイプでは16進数でA01〜A12とB01〜B12を示すため 11〜CCですが4x20や8x16ではそのままの16進数値になっていません。
 ※各タイプの回路図中の「USB-IO復帰コード値」表を参照下さい。

 左上の「00」はリアルタイムに復帰コード値を示していますが判定するとすぐクリアされる仕組み なので殆ど見えないと思いますので無視して下さい。
 あまり関係ないですが、一番下の「0F」はLEDの点灯制御データ。左に3つあるボタンは 意味するビットや論理が変な事になっていますが押す度にON/OFFが切り替わります。

 このようにマトリクスのどこがヒットしたのかデータ値が表示されますのでどのセグメントが押さ れたのか定義を行うKEYCODE.iniの編集に役立ててみて下さい。(説明になってないな・・・)

 

 

 


 

 

使い方その他概要のページへ


スペックその他詳細のページへ


トップページへ



© 2004- 日曜プログラマー ◆ESEQ.Me.lU