Button switch mouse. Moving 1 dot by 1 push.

Dependencies:   USBDevice mbed

1回押すと、1ドット分ポインタが移動するマウス

マウスでドラッグしていると、あと1ドット移動したいのに、行ったり来たりして、なかなか定まらない事があります。
精神衛生上良くないので、押しボタンで1移動単位を送るUSBマウスを作ってみました。

/media/uploads/morita/image_20140720133530a.jpg

プログラムは、LPC11U35を搭載したオリジナルCPUボード用に作成しましたが、mbed対応のボードで多分動作可能です
(ポート名は、使用ボードに合わせて変更してください)

オリジナルCPUボードは「MC11U35」の名前で、スイッチサイエンスさんで販売しています。
mbedに対応したCPUを搭載していますので、クラウドでのプログラム作成とUSBからのプログラム書き込みが可能です。

*PC用なので、薄くて小さい方が便利です。上記のボードのフォームファクターを生かせてまとめる事ができました。
/media/uploads/morita/image_20140720134116a.jpg

ソフトの構成。
プログラムはmbedクラウド上で、USBDeviceを読み込むだけの作業で作る事ができます。
このあたりは、mbedの中の人に感謝です。
処理と言ってもUSBDeviceの中のUSBmouseを10mSに一回、呼び出しているだけです。
**注意:MC11U35を使用する場合は、プラットフォームの選択をmbed LPC11U24に設定してください**

プログラムはさておき、今回は工作を中心に行きたいと思います。

用意した材料は、ケース、タクトスイッチ6個、CPUボードです。
左が用意したケース、右が開封した状態です。
/media/uploads/morita/image_20140720131834a.jpg /media/uploads/morita/image_20140720131846a.jpg

収まり具合をチェックします。余裕があります。
/media/uploads/morita/image_20140720131900a.jpg

はめ合いのフチにUSBのハウジングがあたりそうですので、先に削る事にします。
USBコネクタをはめて、位置をマーキングします。
ケースの材質は柔らかいので、少し削るだけなら、カッターナイフで大丈夫です。
/media/uploads/morita/image_20140720131917a.jpg

削りが終われば、基板を固定します。
真面目に四隅を固定するのがベストですが、動きまわるものでもないので、厚い目の両面テープで貼り付ける事にします。
(CPUの裏側には、部品の足とかの出っ張りはありません)
/media/uploads/morita/image_20140720131941a.jpg

基板を接着した後、上のふたをかぶせて、USBコネクタのハウジングの逃げを確認します。
現物合わせで切り込み場所にマーキングします(左)、  こんな形に削る必要があります(右)

/media/uploads/morita/image_20140720132005a.jpg /media/uploads/morita/image_20140720132018a.jpg

カッターナイフでは無理がありますので、方法を考えます。
・のこぎりで縦に二本切り込みを入れて、へし折る。
・ハンドニブラーで切り込む。
・Pカッターを使う。
・ヤスリで削る。
・ハンドルーターで加工する。
・NCの切削マシン(もってません)
・ドリルで連続する穴を空ける。

最後の方法で行く事にしました。
穴をあけて(左)、ニッパーで穴の間を切断します(右)
/media/uploads/morita/image_20140720142453b.jpg /media/uploads/morita/image_20140720143420a.jpg

半月状に残った出っ張りですが、左右はニッパーで切り取る事ができます。底面(上の方?)はヤスリで削りました(左)
仮にふたをして、ちゃんと刺さるか確認します(右)
/media/uploads/morita/image_20140720142512a.jpg /media/uploads/morita/image_20140720142526a.jpg

押しボタンの配置を検討します。
実物を置いて、よさそうな場所を探します。位置が決まれば、スイッチの間隔を測ります。
最終的には、右の様な配置に決まりました。位置を紙に書き出して、穴あけのマーカーにした所です。
/media/uploads/morita/image_20140720164936a.jpg /media/uploads/morita/image_20140720142607a.jpg

位置が決まれば、マーカーにした紙の上から、ドリルで穴を空けます。1φで開けましたが0.8φでも入るかもです。
紙を除去すると...(左)OK、裏返せば...裏には、基板取り付け用のポストがありました。
裏を良く確認せずに、デザイン重視で配置した上の失敗です。何事もなかった様に、ポストをニッパーで飛ばしました(右)
もう少し、横に配置していると、ケースの上下を止める、ポストに当たるところでした、セーフ。
/media/uploads/morita/image_20140720142628a.jpg /media/uploads/morita/image_20140720165029a.jpg

今回は、印刷でパネルを作りました。白いケースですので、そのままマジックで手書きでもOKだし、そもそも文字入れなんか不要の声が聞こえてきそうです。
パネルをかぶせたので、スイッチの穴を光にすかせて、尖ったピンセントで穴を空けました。
そこに、タクトスイッチを差し込みます。
/media/uploads/morita/image_20140720164959a.jpg
ほとんど、完成品と同じ形状です。
無理にスイッチをひね事で、すこしくらいの歪みならこの時点で修正できます。

裏側でスイッチの配線を行います。タクトスイッチの足に直接電線をハンダ付します。
CPU側のピン位置は、近い順で適当に決めました。
/media/uploads/morita/image_20140720171908a.jpg

プログラムの書き込みです。 /media/uploads/morita/image_20140720172553a.jpg
おしまい...

ピン接続、
CN2はMC11U35のコネクタ番号です。Pn_xxはLPC11U35のピン名称です。
右クリック用ボタン ・・・ P1_16 ・・・ CN2 / 5番ピン
ポインタUPスイッチ ・・・ P1_19 ・・・ CN2 / 7番ピン
ポインタLEFTスイッチ ・・・ P1_27 ・・・ CN2 / 11番ピン
ポインタRIGHTスイッチ ・・・ P0_2 ・・・ CN2 / 9番ピン
ポインタDOWNスイッチ ・・・ P1_24 ・・・ CN2 / 17番ピン
左クリック用ボタン ・・・ P1_28 ・・・ CN2 / 19番ピン

スイッチ共通のGND ・・・ CN2 / 1番ピン

Download repository: zip gz

Files at revision 0:00c483aa2b22

Name Size Actions
[up]
USBDevice.lib 65 Revisions Annotate
main.cpp 1875 Revisions Annotate
mbed.bld 65 Revisions Annotate