天高工房

キーキャップに印字して遊んだり電子工作して遊んだりしたことを書くかもしれません。

pcbnewのpythonコンソール

自分用メモ

パス

KiCADのインストールフォルダ。WindowsだったらC:\Program Files\KiCADとかそんな感じの場所

shell.run(COMMAND)cdなど実行可能なので、起動後にプロジェクトフォルダに移動するといい感じ

cdとlsはそのままつかえた。

定型

とりあえずimport pcbnewはしとくとよさげ。

pcb=pcbnew.GetBoard()もしておくとよいかも。

Helix LED Plate (WIP)

概要

Helixのボトムプレートです。

Helix基板の穴の位置にLEDが来るように作成してあるので、LEDを実装することで光らせることができます。 Helix基板のLEDの実装が辛いと思う人如何でしょうか。

フットプリント

SK6812miniの手はんだ用のフットプリントを作りました。ちょうど頂点がシルクに合うように作ってあります。向きは三角形に閉じているシルクと、SK6812miniの4隅のうち三角にカットしてある頂点を合わせてください。

角を合わせたら何らかの方法で固定して、4か所はんだ付けをしてください。浮かないようにするのが重要です。

連続でやる場合は、片側2か所ずつやっていくといいでしょう。

f:id:skyhigh_works:20190523112854j:plain

信号線は基本的に行方向につながっています。方向が変わる場所には矢印を書いておいたので途中から光らなかった際に参考にしてください。

内容物(全部入りの場合)

  • 基板
  • SK6812mini 35個
  • 2mm厚ゴム足4個
  • 細めのワイヤー3本(太さは在庫による、AWG30など)

【QMK】JPキーボードチートシート

新しいキーボードを作るたびに、新しくキーボード定義とキーマップを起こす必要があります。 いい加減めんどくさくなってきたところでwrapperという文化を知った*1のでその話と、ついでにJPキーボードとして定義する際のチートシート的なものをまとめます。

wrapper

可変長引数マクロを利用した、多重マクロ?を使った省略形です。

キーボードで、特にOrtholinearな分割キーボードを定義する場合は、各行5文字単位でひとまとまりの定型となっています。 繰り返し出てくるパターンなので、例えばKC_Q,KC_W,KC_E,KC_R,KC_Tの5文字をまとめて___QWERTY_L1___と定義したとしましょう。 これを単純にLAYOUTマクロでくるむと「引数の数が違うぞ」と怒られます。なので間に可変長引数を受け取れるようにしたLAYOUT_wrapperを確保します。

可変長引数マクロはGCCの機能だそうで、__VA_ARGS__を与えることで実現できます。

#define LAYOUT_wrapper LAYOUT(__VA_ARGS__)

定型化している部分を都度コピーしてもよいですが、qmk_firmwareには./usersフォルダーがあります。この中にユーザ名/wrappers.hを定義することでincludeするだけでどのキーボードでもマクロをすぐに使いまわすことができるようになります。

github.com

例えば、QMKメンテナのdrashnaさんがCorneなどでやっています。

github.com

JPキーボード

さて、上記の範囲はどのキーボードでもほぼ固定となりますが、JPは追加の記号が必要です。

ANSI104にあるキーは同じ位置、ないキーはKC_INTXになります。

項目 キーコード
R1 半角/全角 KC_GRV
R1 ハイフン/イコール KC_MINUS
R1 サーカムフレックス/チルダ KC_EQL
R1 YEN/パイプ KC_JYEN/KC_INT3
R2 アットマーク/バッククオート KC_LBRC
R2 左かっこ KC_RBRC
R3 セミコロン/プラス KC_SCLN
R3 コロン/アスタリスク KC_QUOT
R3 右かっこ KC_NUHS
R4 バックスラッシュ/アンダースコア KC_INT1/KC_RO
R5 無変換 KC_MHEN/KC_INT5
R5 変換 KC_HENK/KC_INT4
R5 ひらがなカタカナ KC_KANA/KC_INT2

ここら辺使ってそろそろXD75をAtomicLikeLayoutから移行しつつ、XXX4x7*2向けのキーマップ用意していきたいなーと思います。

*1:SMKJで紹介されてるのを見た

*2:X-Switch専用の4x7 Ortholinear

ADKB96が発売したのでキーマップの話をする

前書き

ビットトレードワンからErgo42、そしてADKB96が発売することが決定しました。

bit-trade-one.co.jp

まだ正式には公表されていないようですが、JPキーボードなキーマップを想定しているようです*1ファームウェアはQMKです。

discordapp.com

単層で使えるような想定だそうです。自分でレイヤーを作成し、色々割り当てることによって、より楽しい体験が得られることでしょう。

config.qmk.fm

この記事について

この記事は「フルキーボードやレンキーレス、60%を使っている人間がOrtholinearに緩やかな移行をするための記事」です。

現在私はXD75*2でJPキーボードなキーマップを使って利用しています。「緩やかな移行」を求めて色々やったので、よりよい体験の提案ができると考えました。

f:id:skyhigh_works:20190419125121p:plain
2018年に使っていたキーボード(左上の上、http://romly.com/archives/2018/08/mft2018_report.htmlより)

逆に「俺は気合いで乗り切るんだ!」という人や、すでにOrtholinearに慣れている人は読んでもあまりいいことがないと思います。

知っておくべき同系統のキーボード

XD75と、Atomicを知っておくべきです。

Atomic

PlanckやPreonicのOLKBが過去に販売していたキーボードです。販売されなくなった理由は不明です。

github.com

特徴は、見ての通り5x15のOrtholinearがベースになっていることです。最下段は6.25uスペースを使うために、1.25u x3 +1u x5になっていますね。

XD75

XD75自体は、Preonicの間に3列追加したようなレイアウトが想定されているようです。専用アルミケース・ソケット基板で手に入ることから所持している人は実は多いです。

github.com

Atomicがなくなってしまったからか、Atomic_styleという名前のキーマップが定義されています。

KPRepublicで全実装かつソケットの基板XD75reと、専用アルミケースが用意されているためはんだ付けを一切せずに、ドライバーとキャップ・スイッチプラーがあれば組み立てて利用できる手軽なキーボードです。

Ortholinear60%(Atomic Style Keymap)で知っておくべきこと

ZはAの下にない

一般的なキーボードではAの下にZはありません。そこにはShiftがあります。 厳密には、Aの真下やや左にShiftがあって、その右にZがある、といった感じです。

一方で、OrtholinearではZはAの真下にあります。

Ortholinearに移行したときのミスタイプで最も違和感が強いのがこの違いだと思います。なので、思い切って左Shiftを一つ多くして、代わりに右Shiftを一つ削ってください。これだけで、少しの違和感で打鍵することができるでしょう。

慣れてきたら、左Shiftを一つ削って、完全左右対称なOrtholinearにするとほかのOrtholinearに移行しやすくなると思います。

数字はお好きなように

アルファベットとは逆に数字キーはどうでもいいと思います。なぜなら基本的に届かないからです。

ADKB96ではQの上に2を置いていますが、1にして問題ないのではないかと思います。

レイヤーを定義するならば、Q行に1から0まで割り当ててしまうとよいと思います。これならばホームポジションから確実に届きます。

その他、自由に配置できるので、例えば8642013579といった配置もよいでしょう。20が打ちやすいので西暦年が打ちやすいです。何言ってんだお前、と言われるかもしれませんが、QWERTY配列でIとOが右上にあるのは実はだいたい同じ理由です*3

親指は6キーまで使える

普段親指をどんな感じで使っていますか? 意識してみると、少なくともスペースキーを叩くときは同じ指で同じ位置を叩いていると思います。

片方の親指は1u幅であれば大体3キーまで判別、利用できます。デフォルト配列ではスペースキーが中央からずれています。この状態だと、左手はスペース3キー、右手はスペース、変換、カタカナひらがなの3キーになります。

おそらく4キーあるスペースのうち1キーしか使われることはないので、使われないことを確認したらほかのキーを突っ込みましょう。EnterやBackSpaceがおすすめです。かな打ちをしないのであれば、カタカナひらがなを削って位置を中央にずらしてもよいかもしれないし、半角全角あたりを持ってきてもいいかもしれません。

邪魔なキーはどければいい、必要なキーは差し込めばいい

親の仇のように嫌われているキーといえばCapsLockです。ゲーマーにはWindowsキーもあるでしょうか。邪魔ならば、デフォルトレイヤーから消し去ってしまえばよいのです。ただし、たまーにつかうことがあるので、裏レイヤーに入れておくと平和です。

私の場合、何故かCapsLockの位置にEscがいます。私個人は使う頻度が高いので、とても満足しています。また、PrintScreenを押したい時がたまにあるので、裏レイヤーのBackSpaceの位置に置いています。

ファンクションキーも、裏レイヤーの数字位置にいれていますね。アルファベット位置まで下げてきてもよい気がしていますが、記号とかもうちょっと優先度高いキーがあるのでどう折り合いつけようかなぁと考えています。

「最初から自由にしてよい」となるとどう動くかとても悩みますが、ある程度地続きの指針が用意されている状況だと比較的移行が用意だと思います。これを機に60%Ortholinear(もしくは75%?なADKB96)から始めてみてはいかがでしょうか。

*1:SMKJにいらっしゃったので、質問したら返答もらえた

*2:厳密にはXD75re

*3:ファミコンのように収録できる文字数に制限があったので、形状が似た文字はまとめられていた。この場合は1とI、0とO。数字単独は2から9までしかなかった

Tester4x4 ビルドガイド(Work in progress)

技術書典6で販売した、Tester4x4のビルドガイドです。

ひとまず最小限だけ書きます。

ファームウェア

残念ながらまだQMKにマージされていないので以下のリポジトリのtester4x4ブランチあります。tester4x4という名前です。

github.com

部品調達

ほとんどの部品は遊舎工房で揃います。

リセットスイッチ用のタクトスイッチは最近私のキットで採用されてるやつです。たぶんaitendoで買えます(以下のURL)。パッドを十分に長くしてあるので難しくないでしょう。

www.aitendo.com

スイッチはすべてKailhブランド想定です。

X-Switchは現在Kailhストアでしか買えません。スイッチは12.8ドルで10個単位2種類、キーキャップは15ドル50個単位1種です。

ja.aliexpress.com

ja.aliexpress.com

メイン基板

LED基板固定用のネジとナットを先に取り付けてください。キーキャップをはめるとドライバーを差し込むことが難しくなります。

promicro

keebioのzigzagを使っています。そのため基板側ははんだづけをしなくても動きます。 短いほうのピンを指すとよいでしょう。

注意点として、promicro側をはんだ付けをするときには固定具としてメイン基板を使わないでください。ブレッドボードやユニバーサル基板など、整列した2.54mmスルーホールが並んでいるものにピンヘッダをさしてはんだ付けをしてください。zigzagに固定してはんだ付けをすると、接触が悪くなります(使えなくはないです)。

LED基板

ジャンパ

ジャンパがあります。基板上側と中心をブリッジさせて接続してください。

LEDの向き

よく見るとシルクがLED外形の上辺と下辺の横線だけではなく、どちらかから縦線が伸びています。縦線がある(L字になっている)ところを、LEDの△部分と合う向きで置いてはんだ付けをしてください。

奇数行が左上△、偶数行が右下△になっています。

はんだづけ時は、できれば細いはんだを使ってどこか一つのパッドに対して少量だけとても薄く予備はんだしてください。 その後、LEDを置いてフラックスを塗り、パッドを温めてください。少しLEDを抑えて浮かないようにするとよいでしょう(はんだが多すぎるとここで浮きます)。

フラックスを塗ったうえで、各パッドの長辺方向外側にこてを引くようにするといい感じになる気がします。

LED基板との接続

ワイヤをつけていないので、適当なワイヤー三本でつないでください。

私の設計する基板では原則四角のランドをVCCとしています。メイン基板のJ1はVCC、LEDOUT、LEDIN、GNDの順です。LED基板のJ2はVCC、LEDIN、GNDの順です。 VCC同士、LEDOUTとLEDIN、GND同士を接続してください。

おまけ

VCCとGNDをメイン基板接続とは別に用意してあります(J1)。メイン基板とのVCCを切断して、外部電源供給することでより光らせることができます。

プレート固定方法

ネジとナットで締める方法です。

基板と基板を密着させる予定でしたが、一部ぶつかってしまい出来なかったためナットを間に挟むことで隙間を作っています。

以上。

国内キーキャップ調達ルート

Q. 「キーキャップ売ってなくない?どこで買えるの?」
A. 「海外通販」

以外のことを話すとなると一記事分くらいになりそうだったので記事にします。

本記事は、メカニカルキーボード用キーキャップの国内調達経路に関してまとめる記事です。

前説明

キーキャップの形状は1種類ではありません。「俺が欲しかったのはこれじゃないんだ...」を防ぐためにキーキャップに関する前説明を書きます。

キーキャップの種類に関して分かってる人は読み飛ばしてください。

価格帯

下は2500円、上は3万円くらいです。

下はamazonで売ってるような「その価格でどうやって利益だしてるの?」な価格のキーキャップ、上はGMKです。

GMKなど高級キーキャップはgeekhackDrop(旧名:Massdrop)などで「これ買う人がn人以上集まったら作って売るよ」という形式(Group Buy)で販売されることが多いです。基本的に公募が始まったそのときに買わないと二度と手に入りません。r/mechmarketなどの中古市場に流れたときに手に入らなくもないですが、人が欲しいものは大体皆欲しいので中古価格はGroup Buyの時点より基本的に高くなると考えてください。

深淵をみてみたい人はgeekhackやMassdropを覗いてみてください。

geekhack.org

www.massdrop.com

他に高級寄りのキーキャップはzFrontierなどでも買えることもあります。Group Buyの仲介(プロキシ)を引き受けて予約販売的に実施されることもありますし、その販売店が主体で生産を行うこともあります。

アジアではzFrontierがプロキシになることが多かったですが、最近では主に権利的に問題がないキーキャップに関しては遊舎工房がプロキシを実施することがあります。

最近はDMMのクリエイターズマーケットに3Dプリントキーキャップが出展されていることがあります。

make.dmm.com

キーキャップの分類

キーキャップは様々な分類方法があります。 今回はとりあえずここらへん押さえておけばなんとかなるでしょ、な4項目を紹介します。

  • プロファイル(形状)
  • 印字方法
  • 素材
  • 対応物理配列

プロファイル

キーキャップは様々なメーカーが研究して独自の形状を作成しています。キーキャップの形状規格(?)をプロファイルといいます。

異なるプロファイルのキーキャップを混ぜて使おうとすると、同じ場所のキーキャップでも高さや傾きが異なるためデコボコして使いにくくなります。プロファイルが同じであれば違うキーキャップセットでも混ぜ込んで使うことができます。ただし、メーカーが違うと型が異なるため、同じプロファイルを名乗っていて写真で見ると同じように見えるけども高さが異なる、ということがあります。

各プロファイルがどう違うかを知りたい人向けに比較画像を作成している人がいます。"keycap profile guide"などで画像検索するとでてきます。 例えば以下です。

www.reddit.com

行ごとに形状が異なるプロファイル

キーボードの打ちやすさを求めて、「どんなキーキャップ形状にしたら打ちやすいか」が研究されています。 指の曲げ伸ばしの際に先端が円弧を描くことからキーボードの表面がすり鉢状なことが望ましいとされています。 スイッチを3次元的に円弧上に配列する方法*1は高コストなので、行ごとに形状を変えてキーキャップの表面をつかって緩やかな円弧を描く方法が主流です。

代表的なものとしては以下があります。

  • Cherry
  • OEM
  • DCS
  • SA
  • MDA
  • (Taihao)

どれもキーキャップの高さや曲線のつけ方が異なります。異なるプロファイルを混合させると、でこぼこして手触りが悪くなります。

行の区別がないプロファイル

以下の二つは行の区別がありません。 そのためDvorakなど主流であるQWERTYと異なる論理配列を使用したい場合には入れ替えが自由に聞くため都合がよいです。

高さが低く、また、単純にかわいいのでお勧めです。

  • DSA
  • XDA

また、SAのR3(第三行)がDSAやXDA同様にフラットなのでSA R3だけで全行を作成したキーキャップセットも販売されています。

印字方法

概ね4種類あります。

このうち、最も高価なのが2色成型です。金型が複数いること、複数色のプラスチックを使うことなど高くなる要因が複数あります。文字色をプラスチックで出しているので、通常の利用で消えることはありません。

次が昇華転写です。プラスチックにインクを染み込ませる含侵印刷という分類の手法です。こちらも指の摩擦程度では消えません。染み込む範囲は表面の1mm未満のみなので、やすりなどで削るとすぐに消えてしまうとは思います。転写時に高温状態で圧力をかけるため、融点が低いABSに対しては行うことが難しく、通常PBTを使います。白インクがないので、下地色に大きく影響をうけます。

レーザー刻印はレーザーでプラスチックの色を変える方法です。プラスチックの素材と刻印の色に制限があります。消えにくいとは思いますが、「すぐ消えた!」という声をSNSamazonレビュー欄で見かけます。

シルクスクリーンは、文字の形に切ったスクリーンをキーキャップにあてて、インクをこすりつけて定着させるほうほうです。インクがのっているだけなので、強くひっかくなどしてしまうとはがれてしまいます。

素材

大抵以下のいずれかです。

  • ABS
  • PBT

ABSは表面がつるつるしています。PBTはざらざらしています。

ABSは色の選択肢が非常に多いです。欠点としては指紋が目立ったり、皮脂でてかてかするようになったりするそうです。

PBTは高いです。

昇華転写の場合100%PBTです。これは、昇華転写にABSが耐えられないからです。

食洗器に耐えられるのがPBT, 耐えられないのがABSと覚えてください。

対応物理配列

すごく大雑把にいうとANSI104とそれ以外でした。

キーボードの世界では米の国が幅を利かせているので、米の国の標準が標準です。

オプションとして、ISOやHHKB(英語)の対応があります。日本語配列はISOベースなのでISOが比較的近いのですが、独自拡張が5キーあります。スペースキー付近にキーを増やすレイアウトが日本語配列以外あまりないので、国内メーカー以外で対応していることはほとんどありません。

以下は国内で目にすることがあるであろう配列の例です。いずれも部分的に異なるため互換性がありません。

  • 104(ANSI)
  • 108(JP)
  • ISO
  • HHKB
  • MINILA

違いを見るために見るべきは以下の3点です。

  • 左右Shiftキー
  • Enterキー
  • 最下行すべて

新しい物理配列

現在はErgodoxやPlanckなど、ANSI104だけでは表現できない新しい物理配列がでてきているため、専用のセットがあります。

特徴としては、CtrlやShiftなどのMODキー含めほとんどすべてが1u(最小単位)サイズです。一部親指キーのために2uや1.5u, 1.25uのキーが用意されていることがあります。既存配列においては2uはテンキーの0くらいしか存在しません。1.5uはtabと、ansiのEnterの上のキーくらいです。

ErgodoxやPlanckなどはレイヤーを使った多層キーマップを前提としているので、レイヤー切り替えキーをしてRAISE、LOWER、ADJUSTなどのキーが用意されていることがあります。

このような新しいレイアウト向けのキーキャップセットはOrtholinearやErgoという名前で販売されていることがあります。キー数が少ない+キーサイズの種類が少ないのでANSI104より安いです。「適当に安いキーキャップでいいや、あ、これ安いからこれにしよ」と買うと全部1uが届いて泣いてしまうかもしれません。

その他、minivanなどの40%や分割スペースなどrow-staggeredな配列だけどいままでのとなんか違うものもあります。これらはbaseセットに加えて拡張キーのセットを買うことで間に合うことが多いです。必要なキーサイズ及び行番号を確認して調達してください。

国内購入先

やっと本題です。

TALP keyboard

最古参です。また、現在一番選択肢が多いです。OrtholinearやErgo、ANSI104にとどまらずDSAやXDA、SA R3の単品売りをしています。キースイッチやpromicroなど部品も販売されています。

最近は突板を使った木目が美しいプレートのキーボードキットを準備しているようです。

talpkeyboard.stores.jp

ゆかりキーボードファクトリー

Taihaoのキーキャップセットを取り扱っています。また最下段1uキーキャップを取り扱っています。

TaihaoはOEMによく似ていますが、OEMよりも背が高いためOEMと併用すると表面がでこぼこしてしまうようです[要出典]。

eucalyn.shop

遊舎工房

現在最も勢いがあります。GMKやSPなど高級キーキャップを取り扱っている国内唯一のお店です。

現在実店舗のみの取り扱いです。zFrontierなどで取り扱われている高級キーキャップセットの在庫があります。

通販は、実店舗が落ち着いたら追加されるのではないのでしょうか。在庫が目まぐるしい勢いで回っているようです。

yushakobo.jp

Filco

国内で非ゲーミングなメカニカルキーボードの選択肢として真っ先に上がってくるだろうFilcoもキーキャップを販売しています。 基本的に直販か、amazon(発送はFilco)で販売されています。

www.diatec.co.jp

日本語配列が4色程度あります。貴重です。

英語配列はハイプロと銘打った2色成型キーキャップセットがあります。こちらはSA profileで、R2とR3のみから構成されるセットです。

以下のURLの通り、SAのR3は背が高いDSAといえる形状をしています。 FとJはホーミングキーとして天面の曲面が深くなっていますが、DvorakやColemakなどの配列に入れ替えても、行ごとに形状が異なるOEMやCherry profileに比べて違和感はないに等しいでしょう。

pimpmykeyboard.com

部分交換用のうち、ハイプロかまぼこはSAの1.25u convexと予想されます*2

amazon

国外1

中国で日本amazon出店セミナーなるものが開催されているようで、どんどん出店されています。過去にはamazonで注文しても中国倉庫からの発送*3で、alibabaなどで買うのと大差ないことが多かったのですが現在はamazon倉庫からの発送が多くなっています*4

国外2

e元素という謎の名前のブランドが注目されているようです。

実物を見たことはないので何とも言えないのですが、種類が豊富で実際安いです。

とりあえず一通りサンプルとして買っちゃいましょう。

*1:kinesis advantageなど

*2:もってない

*3:XXXが出品・発送をします、となっていてかつ到着予定が2週間後くらい。出品一覧を見に行くと発送元:中華人民共和国となっている

*4:XXXが出品、amazonが発送しますとなっていればOK

ダイオードのはんだ付け後の確認

この記事は namecard2x4 のサポート記事として執筆するものです。

はじまりはLets's splitなのかもしれません。しらんけど。空間を削減するためにキースイッチなどほかの部品をはんだづけしたあとその上にかぶせるようにpromicroをはんだ付けするケースがあります。このとき、マーフィーの法則に基づいて大体promicroの下にはんだ付け不良があることがのちに発覚します。

残念なことにnamecard2x4も空間の都合でソケットとダイオードの上にpromicroをかぶせてしまっています。しかし、promicroを取り付ける前にテスターを使って確認することでこの悲劇を防ぐことができます。

今回使うのはamazonでprime発送にも関わらず500円前後という驚異的な価格の激安テスターです。テスターを持っていなければ今すぐ購入してください。

注意

天高は雰囲気でテスターを使っています。

名称の確認

  • 利用時に上を向く面を表面とします。
  • 利用時に下を向く、主にはんだ付けで部品を取り付ける面を裏面とします。
  • 一般化するため、デカマイクロも本記事ではpromicroと呼称します。

ダイオードの雑な復習

  • ダイオードは1方向にしか電気を流しません
  • ダイオードには線が書いてあります
  • ダイオードの線が書いてあるほうに近い電極をカソードといいます
  • ダイオードの線が書いてないほうに近い電極をアノードといいます
  • アノードに+、カソードにーをつなぐと電気が流れます
  • カソードにー、アノードに+をつなぐと電気が流れません

テストの方法の確認

テスターを抵抗値測定モードで起動します。レンジ指定があるのであれば~2000くらいがよいと思います。

ダイオードのアノードに赤プローブ、カソードに黒プローブを当てます。すると、抵抗値が表示されます。これが期待した状態です。

逆につなぐと、有限の抵抗値が表示されません。

これを発展させて、ダイオードのアノード側のパッドから直接つながっているほかのパッドに赤プローブを当てます。カソード側も直接つながっているほかのパッドに黒プローブをつなぎます。

適切にはんだ付けができているのであれば、アノードパッドから繋がっているパッド間とカソードパッドから繋がっているパッド間は導通しているので先ほど測定したのと概ね同様の抵抗値が確認できます。逆に、確認できない場合ははんだ付け不良です。

厳密には、これで確認できるのは電気的接触が確保できているというだけなので、目視でも確認を実施してください。

namecard2x4でのテスト

namecard2x4 rev2の場合、RAWの列の一番下、13番ピンが偶数ダイオード、14番ピンが奇数ダイオードのアノードにつながっています。裏面で直接ランドからパッドにパターンが伸びていますので、目視で追いやすいかと思います。

f:id:skyhigh_works:20190309215029p:plain

テスターの導通確認モードで、赤同士・黄色同士を確認するとブザーが聞こえるはずです。

一方、カソードはスイッチソケットの左側パッドにつながっています。アノードと同様に、テスター導通確認モードでつないでみてください。

以上より、13番ピンはダイオード経由で偶数番号のスイッチの左側パッドと、14番ピンはダイオード経由で奇数番号のスイッチの左側パッドとつながっていることが分かります。

ダイオードテストモード/抵抗確認モードに設定をして、promicroのピンにテスターの赤プローブを、スイッチの左側パッドに黒プローブをあててください。前の項で確認したダイオードの抵抗値と大体同じような抵抗値が表示されるはずです。抵抗値が表示されなければ以下のいずれかの問題があります。

  • ダイオードの向きが間違っている
  • ダイオードのはんだづけ不良
  • ダイオードへのはんだづけを忘れている
  • テスターのプローブをあてる先が間違っている
  • テスターのプローブとテスターの接続場所が間違っている
  • スイッチソケットがはんだ付け不良でパッドに接触できていない

拡張

各スイッチソケットの右側のパッドはpromicroと繋がっています。具体的には、7,8番のスイッチソケットはpromicroTX列の一番下の12番へ、5,6番はその一つ上の11番へ、3,4番は10番へ、1,2番は9番へつながっています。

f:id:skyhigh_works:20190309215126p:plain

導通モードで確認してみましょう。

promicro以外すべての部品を取り付けた状態で、表面を向けてスイッチを差し込みましょう。

裏返して、上から軽く力を加えてスイッチがすべて押された状態にしてください。この状態でダイオードテスト/抵抗値測定モードで13番と12-9番、14番と12-9番のテストをすることでダイオードとスイッチソケットの実装良否が判定できます。

namecard2x4 rev2を例にすることの問題点

実はnamecard2x4 rev2は「ROW2COL」と呼ばれる設定になっています。これは row to col, 行から列へ、という意味の設定です。行方向につながっているピンを出力ピン、列方向につながっているピンを入力ピンとすることで、行方向ピンから列方向ピンに電気を流すようにする設定です。しかしプログラムの実装はCOL2ROWのほうが簡単なので大抵のキーボードはCOL2ROWで作られています。つまりnamecard2x4とたいていのキーボードはダイオードが逆向きです

しかし、ここまでの説明をきちんと読んでいただけたならば、ダイオードの向きが違うことに気づかずにテストをはじめても「あ、なるほどダイオードが逆向きなんだな。逆につなごう」と判断していただけるかと思います。していただけるでしょう。できるはずだと信じています。

namecard2x4を使ってダイオードの(ついでにスイッチソケットも)はんだづけ是非の試験方法を確認しました。

これで、段階を踏みながら組み立てが実施できるかと思います。具体的には、たいていのキーボードでは行単位ではなく列単位で組み立てをするとよいでしょう。1列すべてのダイオードがちゃんとはんだ付けできたら次の列へ、と進めていくことではんだ付け不良による動作不良を防ぐことができます。最終的に、スイッチではんだ付け不良があっても、ダイオードには問題がないことがわかっていますので絞りこめます。

開発者向けメモ

以下の記述を実施することで、利用者へのデバッグ指示が簡潔になるのではないでしょうか。

  • promicroのシルクに行番号と列番号を記載する
  • スイッチマトリクスのグラフを作成する
  • (ダイオードのシルクのアノード側にc、カソード側にrと表記する(COL2ROWの場合))