トラックボールのセンサ
トラックボール部は今回の製作の中でも、大きなチャレンジだった。キーボード部は、最初からNyquistを改造して使うことを決めていた。キットだから作例も多く、あまり問題になることはない。しかし、トラックボールの自作となると、ネットを見てもあまり作例は多くない。何より、わたし自身が以前、一度製作に挫折している。
最初は市販のトラックボールのボールカップとセンサをそのまま流用して試作してみたのだが、これでは、トラックボール部とキーボード部を連動して制御できない。一体化する意味が半減してしまう。となると、ボールカップは3Dプリンタで自作し、市販の光学マウスセンサをNyquistにつなげるか?そう思っていはいたものの、何しろ素人。マイコンを使ってセンサICを制御したことなどなく、自分にできるかどうかも分からない。
いろいろ思案していたところ、Bit Trade One でAvago / ADNS-5050という光学マウスセンサを販売しているのを目にした。
今や、マウスが数百円で買えることを考えると、センサだけで880円はあまり安くはないが、何しろデータシートはあるし、いろんな面で信頼できる。
しばらく悩んだが、やる気を出すために(埋没費用効果?)買ってしまうことにした。
ハードウェアのコンセプトについて
私の個人的な話になるのだが、今から20年以上前、Panasonic Let’s note AL-N2 というノートパソコンを愛用していた。
このパソコンは、キーボードの手前に光学式トラックボールを搭載していて、キーボードからあまり手を離すことなく、トラックボールの操作をすることができた。また、ボールの球径こそ、19mmと小さいものの、当時としては珍しい、ボールにドットパターンが見えない光学式トラックボールで、かつ、当時の他のPCのトラックパッドとは比較にならないほどの、リニアでスムーズなマウスカーソル操作が可能であった。
そしてその後、いろいろ試行錯誤を繰り返してできたのが現在の形ということになる。
はじめまして
はじめまして
実は、10年以上前、私はトラックボールを作ろうとして挫折したことがある。私は、電子工作もプログラミングも素人で、当時は私のスキルでは実用的なものは作れなかった。しかし、時は流れ、Makerムーブメントの拡大、キーボード自作ブーム、3Dプリンタの普及……。素人がモノを作るにあたり、いろいろな面でハードルは下がってきた。おかけで、時間はかかったものの、今回は挫折せずにキーボード付きトラックボールを完成することができた。
若い方の作品に比べれば、どうにも拙いモノではあるが、お付き合いいただきたい。
まずは、今回作成したデバイスの概要を説明しよう。
EdoBall KB-I の特徴
その他の仕様
- キーボード部: Keebio Nyquist (https://keeb.io/products/nyquist-keyboard) を改造
- ボール: Perixx PERIPRO-303 DB 34 mm
- トラックボールセンサ: Avago ADNS-5050 (https://btoshop.jp/2019/04/23/b02140/)
- マイクロコントローラ: Arduino Pro Micro 互換 * 3 (キーボード用 * 2、 トラックボールセンサ及びタッチスイッチ用 * 1)
- キースイッチ: Kailh Box Switch Red (https://yushakobo.jp/shop/kailh-box/)
- キーキャップ: KBC Poker X Keyboard のキーキャップを流用 + DSA Blank keycaps (https://yushakobo.jp/shop/dsa-blank-keycaps/)
- 筐体: ABS樹脂(積層型3Dプリンタで出力)
ハードウェアの概要
- ベースとなるキーボードはKeebioのNyquistのキット。これに、左右一列ずつ加え、通常のUS配列があまり無理なく収まるようにした。(他の(特にノートPCの)キーボードと併用しても、違和感を少なくするため。)右側のキーボードには球径34mmのトラックボールを統合した。筐体は3Dプリンタで作成した。
- キーボード部のファームウェアはQMK FirmwareのNyquistのものを多少修正して使用。別に、トラックボールセンサとタッチスイッチのために、Arduino Pro Micro互換機を使用(こちらは、QMKではなく、通常のArduinoライブラリを使用)。キーボード部のPro MicroとはI2Cで接続した。
ファームウェアの詳細等については、今後書いていきたいと思う。