(仮)釣りと電子工作 忍者ブログ
趣味の電子工作と釣りについて。電子工作は、おもに変換器作成。釣りはおもにトラウトの管釣り。
[79] [80] [81] [82] [83] [84] [85] [86] [87] [88]
AppleオリジナルのADBキーボードのCapsLockには、昔ながらの機械式のロック機構が組み込まれている。が、これがApple Extended KeyboardでCapsLockとCtrlを交換するといった、あまり使わないCapsLockを別の用途に使用するときに障害となる。
ということで、解除してしまいましょう。(でもiMateではこの手は使えないんだな)

まず、これが今回解除するキーボード。M0115,M0116,M3501の場合も同様に解除可能
IMG_0181.JPG




1.CapsLockのキートップを外す。作業に邪魔なら周辺のキートップも外す。傷つけないように慎重に。


2.スイッチの上下のプレートを広げるようにして引っかかりを外し、スイッチ本体を引き抜く。壊さないように慎重に。
IMG_0176.JPG









3.抜けたら、ロック機構の骨組みを外す。軽く引っ張ると抜けます。将来元に戻すときのことを考えて、骨組みは大切に保管しておきましょう。
IMG_0177.JPGIMG_0178.JPGIMG_0179.JPG







4.コイルバネをスイッチの中に入れ込んで、キーボードを上下さかさまにしてスイッチをはめ込む。バネをなくさないように注意。はまらないときはスプリングがずれている可能性が高いので、もういちど外してやりなおしましょう。
IMG_0188.JPGIMG_0180.JPG








5.キートップを元にもどして完了。1~5まで所要時間は10分ほど。
PR
MikroCでPS/2-ADB変換器のロジックを追加しているときのメモリ使用率は、つねに99%。100%超えたらメモリ節約のためにプログラムを書き換え、空いたらまたロジックを追加する、の繰り返し。メモリ節約のためのロジック書き換えにかかる時間が10で、機能追加や改良のためのロジック追加にかかる時間は1くらい。2Kワードのメモリサイズは、Cで多機能変換器を作成するには非常に厳しい。

あと、コツかどうかわからないけど。。。。
これが正しいかどうかわからないけど。。。。

① 配列変数に絶対アドレスを指定するとバイナリのサイズがすごく小さくなることが多い
ちょっとロジックを追加しただけなのに、理不尽にメモリ使用量が増えた場合などに有効。
  例:unsigned short keybuf_fn_flg[32] absolute 0xA0;

② Delay_us(n)はメモリを大量に消費する。
これはDelay_us関数を呼び出すのではなくnの値に応じて動的にバイナリを生成しているから。
ということで、同じnの値でDelay_us(n)を呼び出すのなら、引数なしの関数化すべき。
またはアセンブラでDelay_us互換の関数を作るのもよし。

③ グローバル変数を多用すること
Cの教科書とは逆だが、関数は void  function(); が基本。
スマートに書こうとするとすぐメモリが足りなくなる。
可読性とメモリ使用量にはトレードオフの関係がある。
メモリに収まる範囲で戻り値や引数を使うこと。

④ アセンブラ内で使用できる変数はグローバル変数のみ。
     ちなみに下記は、(指定した引数+1) x 5us + 関数呼び出しの10us?程度遅延する関数の例
unsigned short g_delay1=0 ;
void Delay_us5(unsigned short i) {
  g_delay1 = i;
  asm {
  L_Delay_us5_0001:
    nop
    nop
    decfsz _g_delay1,F
    goto L_Delay_us5_0001
  }
}
pcb_ps2m0115.PNG





EAGLEとか使えばすぐ描けそうだけど、このとき手元になかったのでPCBEで描いた。
使い方を覚える時間もあわせて100時間ぐらいかかったかな?

ps2m0115 x 15
ps2m0110 x 3
ps2oasys x 2

1枚しか製造していないので上記が総生産予定台数。
組み立て前の部品です。

IMG_0169.JPG







左上から右下にかけて

RJ11コネクタ   PS2MO11O基板 8ピンICソケット PIC12F683
Din4Pコネクタ   PS2MO115基板  2125チップ抵抗4.7KΩ
ヒロセのなんとかっていう8Pコネクタ PS20ASYS 18ピンICソケット PIC16F648A

本当は抵抗なんか入れたくなかったのだが、M3501が言うこと聞かないので仕方なく追加。
ヒロセのなんとかっていうコネクタが非常に高価。部品単体の価格はそれなり(とはいってもDinコネクタの7倍くらい)なのだが特殊な部品なので手数料がそのさらに数倍かかった。
基板は特注なのでそれなり。
他はアキバで入手可。安価。

あ、Din6Pコネクタ忘れてた。
関連サイトを立ち上げた。

http://m0115.web.fc2.com/

はたして売れるのか???
わからないけど、総生産予定台数は下記のとおり。
自分用のためにコストを無視して作成したが、その副産物なので、
比較的安価で10月くらいにオークションに流す予定。

PS2MO115 ... 15台
PS2MO11O ... 3台
PS20ASYS ... 2台

これ以上作るとなると、また基板を発注することになるけど、
自分用にはこれ以上いらないので、コスト回収のために
価格は倍以上になるだろう。

まあ、多分つくらないけどね。
カレンダー
05 2025/06 07
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
リンク
最新TB
バーコード
ブログ内検索
カウンター
Powered by ニンジャブログ  Designed by 穂高
Copyright © (仮)釣りと電子工作 All Rights Reserved
忍者ブログ / [PR]