2014/04/20

NEC PC-9801n-23 テンキーボード 改 #2


 v f キーから上をカット。空いたスペースに、Caps / Scroll / Num Lock の ランプと、コントロール用の ダ・ヴィンチ32U を詰め込む。何度も切ったり付けたりしたので、ぐちゃぐちゃ。仮止めなんで、ホットボンドで固定してたりする。使えそうならキレイに作り直す。

 レイヤー切り替えのポジションランプが点灯するので分かりやすい。この LED部分は、4回も作り直した。スイッチを押しても干渉しないようにするのに大苦戦。次やるときは、素直にチップLEDを使おう。裏側の元々あった穴からリセットボタンを押せるようにしたが、プログラマブルなテンキーなわけだから、より押しやすい表側にボタンがあってもいいかも。

 ひとレイヤー、丸々 19キー分は、ハードウェアレベルの割り当てが出来そう。ソフトウェアで割り当てるなら、さらに増やせるが、そんなにあっても覚えきれないしな。

2014/04/08

NEC PC-9801n-23 テンキーボード 改 #1


 NEC の 黄金時代、PC-9801ノート用オプションのテンキー。当然、年代もののメカニカル。これも、2,3個動きの悪いキーがあって残念な状態。劣化してなければ、アルプスに負けないくらい素晴らしいんだが、いかんせん、スイッチの分解が無理なのが致命的。交換用のマトモなスイッチを手に入れるのも難しい。いくら、レトロ・キーボードが好きでも、メンテが難しいようでは常用できない。

 先日組み直したコンバータの ダ・ヴィンチ32U が余ったので、実験用に、TMK Keyboard の 98→USBコンバータを作ろうとしたのだが、上手くいかない。キーは認識してるようだが、反応悪いし、入力も出来ない。そもそも、ソースの中身なんぞ、よく分かってないから、いじりようもない。とういわけで、98コンバータは諦めて、キーボード自身のマトリクスを乗っ取って動かすことにする。信号変換ではなく、縦横のキーマトリクス全てを結線して直接操作するやり方。これが理解出来れば、オリジナルなキーボード作成の知識になるはず。
参考リンク
 TMK Keyboard keyboard controller firmware for Atmel AVR USB family
 How to build your very own keyboard firmware deskthority
 チュートリアルを見ながら、試行錯誤した結果、とりあえずは動いてるっぽい。最低限のところだけしか理解できていないが、5つあるファンクションキーを、レイヤ切り替えにして、入力できた(たぶん)。

 単純に、USBで動かしたいだけなら、拡張キーボードⅡでやったように、他のコントローラ基板を乗せ替えるのが、技術的には簡単(作業自体は面倒)。テンキーレスやフルキーボードならば、小細工なしでもそのまま使えるわけだから外付けのコンバータや、基板の乗せ替えで問題ない。配列が特殊で、独自の割り当てをしたい、とか言う場合は、今回のように USB接続のマイコンを部品代わりに使って、オリジナル動作のコントローラを作成する必要が出てくる。

2014/04/04

ADB-USB コンバータ 作り直し


 Flip 版の ダ・ヴィンチ32Uを、使ってみた。ピンヘッダ・フレームを付けて、裏向きにしてスッキリ。押せなくなった リセットボタンと、ジャンパピンの代わりに、小さなタクトスイッチと、スライドスイッチを追加。LED も別に付けた。裸じゃ、まぶしい。

 Arduino Bootloader 版との違いは、
1.書き込み用(HWB)のピンヘッダのハンダ付けが必要。
2.専用の書き込みソフト Flip(GUI)、または dfu-programmer(CUI) を使う。
3.ドライバも違う。(C:\Program Files\ATMEL\Flip 3.4.5\usb)
4.当然、書き込み手順も違う。ジャンパ→リセット→書き込み。
 hex ファイルの書き込みに、リセットボタンだけの Arduino Bootloader 版か、ジャンパ操作+リセットボタンの Flip 版か。

 Arduino Bootloader 版の方が、ひと手間少ないが、実際の書き込みタイミングが難しい。タイミングを自動化するソフトを自作したので、不便なく使えるようになった。Flip 版は、キッチリとプログラム動作と、書き込みモードが分かれているので、間違えようが無い。運用時は、ブートローダを挟まず、直接プログラムが起動する。つまり、立ち上がりが速い。コールドブート時も安心。

 結論、Arduino IDE を使わないなら、Flip 版で間違いない。