おかゆ++

IT業界の片隅で生き残るブログ

自作キーボードを作ります3-1 3号機のモデリング&3Dプリント

自作キーボード2号機が完成してからずっと常用していて、概ね満足しているのですが、 色々試したいこともあり、3号機の設計をはじめました。

2号機については過去記事参照 okayu-moka.hatenablog.com

2号機の気に入っている点

  • 左右分割キーボードは正義
  • 基本的に格子配列Good
  • コンパクト
  • 3軸ケーブルでOK
  • 親指のキーに日本語IMEのON/OFFを割り当てるとすごく便利
  • 親指のキーにESCを割り当てるとVimですごく便利

2号機の不満点

  • 左右を接続するコードが中央から出ているので、キーボードの間にものを置くときに少し邪魔。
  • チャタリング対策が不十分で稀にチャタる。
  • 他のキーボードが本格的に使えなくなってきている
    • 前に使っていたHHKBすらあやしい
      • というか左右分割HHKBが出たらEndGameって人多いのでは

不満ではないが試したいこと

  • 格子配列以外の配列
    • ErgoDoxみたいに上下に少しズレてるやつ
    • HHKBの配列
  • ピンク以外の色

3号機の方針

全部をやるのは難しいので、以下の方針で作っていく予定です。

  • 当然左右分割
  • 小さく&薄く
  • 格子配列をベースに、ErgoDoxぽく上下に少しズラした配列にする
  • 左右接続のケーブルを奥側から出す
  • QMK Firmwareを導入する

まずは筐体のモデリング

こんな感じになりました。

f:id:okayu-moka:20180921231404j:plain

3Dプリンターで印刷!

f:id:okayu-moka:20180921231750j:plain

あとはキースイッチつけて、配線して……とまぁ、ぼちぼちやっていきます。

仕事用にMacBookPro 2018 13inchを買ってもらったのでセットアップする

仕事用に買ってもらいました!

たぶんこんな感じのスペックです。

13インチMacBook Proをカスタマイズ - シルバー

    第8世代の2.3GHzクアッドコアIntel Core i5プロセッサ(Turbo Boost使用時最大3.8GHz)
    True Tone搭載Retinaディスプレイ
    Touch BarとTouch ID
    Intel Iris Plus Graphics 655
    16GB 2,133MHz LPDDR3メモリ
    512GB SSDストレージ
    Thunderbolt 3ポート x 4
    バックライトキーボード - 英語(米国)

Xcode

GUIは使ったことないですが何かと要求されるっぽいので、AppStoreから入れておきます。 そのうちiOS開発にも手を出したい。

フォント

プログラミング用のフォントはMyricaをずっと使っています。 zipをダウロードしてきて入れました。

myrica.estable.jp

ターミナル(iTerm2)

特にこだわりはないので、定番っぽいiTerm2を使っています。 公式サイトからダウンロード→解凍→Applicationsへコピー でインストール。

Homebrew

これがないと始まらないっぽいので。

brew.sh

Vim

これがないと始まらないので……

brew install vim --with-override-system-vi --with-lua

Vimの設定周りはGitHubに上げてるのでcloneしてやれば引き継ぎ終わり。

github.com

Visual Studio Code

Vimと併用しているのでこっちも入れます。

code.visualstudio.com

拡張機能の Setting Sync を使っているので、gist経由で設定を引き継いで終わり。

Ruby(rbenv)

brewでサクッと入るんですね。便利。

$ brew install rbenv
$ rbenv install --list
$ rbenv install 2.5.1
$ rbenv rehash
$ rbenv install 2.5.1
$ rbenv global 2.5.1
$ echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

保留中の事項:

  • シェル変更 bash→fish
    • fishにしようかと思ってたけど、bash以外だとなんだかんだ変なところで詰まったりするので、 仕事用PCはbashのままにしておこうと思います
  • Railsのインストール
    • 環境が全部dockerで整備されてたので何もする必要なかった。素晴らしい。

3Dプリンタ HICTOP 3dp-08bk (RepRap) に施した改造まとめ

f:id:okayu-moka:20180707095037j:plain

HICTOP 3dp-08bkは、ほかのRepRap Prusa i3系プリンタと同じく、改造しやすい部類だと思います。

Thingiverse3dp-083dp08 で検索すると、いくつかパーツが出てきますので、プリントして使うといいです。

また、形状としては Anet A8 や A6 に近いみたいなので、それらのパーツを流用したりもできます。 (いざ印刷してみたら、形が合わないこともありますが……)

RepRapは自分自身でパーツを印刷して改造していくのも醍醐味だと思うので、バンバンいじっていきたいですね!

以下は、私が改造した内容や部品のまとめです。

ベルトテンショナー

X軸・Y軸のベルトテンションは結構、印刷精度に関わってくるみたいです。 いちいち分解してベルトを張りなおすのは手間なので、テンショナーを付けるといいです。 とは言ってもそう頻繁に調整するものでもないので、手軽さも考慮してパーツを選ぶといいと思います。

自分が使っているのは以下の2つです。

www.thingiverse.com

Y軸のベルトテンショナー。簡易なものですが必要十分です。

www.thingiverse.com

X軸のベルトテンショナー。こちらはAnet用のパーツですが、そのまま使えます。 ただX軸のベルトを切ってしまっていると、ベルトの長さが足りずに使えない可能性があります。 ベルトもAmazonなどで買えるので、いっそのこと買い直すのもアリだと思います。

Y軸のエンドストップスイッチを本体側にするためのマウント

www.thingiverse.com

初期状態では、Y軸のエンドストップがテーブル側についていて、ケーブルの取り回しなどが不便です。 というかすぐ断線しそうな雰囲気です。

なので、本体側にスイッチをつけられるようなマウントを作るといいです。

エクストルーダのファンダクト

www.thingiverse.com

初期のダクトはなんか頼りないので、定番っぽいこの形状のダクトに変えると良さげです

SDカードスロットを前に出す

RepRap系では、PCとUSBで接続して印刷する方法のほかに、SDカードからスタンドアロンで印刷する方法があります。 私は主にSDカードから印刷する方法を使っているのですが、スロットが本体後ろ側にあって使いづらい……ので、前に出しました。

やったことは、100均でSDカード⇔microSDカードの変換器を2枚買ってきて、余っていたケーブルをはんだ付けして作った適当延長器を取り付けただけです。作るのは割と面倒でしたが、これが超便利です。おすすめ。

オートレベリングに対応させる

Z軸の調整を半自動化できる、オートレベリングに対応させる改造をしています。 オートレベリングに対応させるためにはファームウェアの書き換えが必要なので、あんまり手軽じゃないですが、 先人の知恵を借りて何とか対応させました。

以下の記事を多いに参考にさせていただきました。ありがとうございます<( )>

nomolk.hatenablog.com

ちなみに改造後のファームウェアGitHubにアップしているので奇特な方は参考にしてください。

github.com

やっぱりオートレベリングがあると楽です。正直、最初から対応している機種を買うほうがいいかもしれないですね。

ハコで囲む

なんかのハコで囲んでやると、騒音防止、ホコリの混入防止、冬場の温度維持などの効果があります。

okayu-moka.hatenablog.com

正直、でかく作りすぎたorz でもまぁ騒音は圧倒的に抑えられるので、十分満足しています。

愛用のabrAsus製サイフ「旅行財布」のいいところ

「旅行財布」普段使いにもおすすめ

ここ3年ほど、abrAsus(アブラサス)の財布「旅行財布」を使っています。 この財布はその名の通り、旅行用の財布として考えられたものなのですが、普段使いの財布としてとても優秀です。

カードポケットは2つしかないけど、1~6枚くらいは入る

カードポケットは2つしか用意されていません。が、それぞれに1~6枚くらいは入ります。 ただ5枚入れてしまうとちょっと財布が厚くなってしまうので、なるべく枚数を少なくするのがいいと思います。

小銭がすごく見やすい

小銭を入れる部分が広く、小銭を探しやすい。 ポケットの奥に入り込んだりすることもなく、財布に入ったすべての小銭を見ることができます。

結構薄い

「薄い財布」ほどではありませんが、財布が薄いです。理由は小銭入れの仕組みと、カードポケットの形にあります。

小銭入れは普通の2つ折財布とは異なり、それ単体でポケットになっていません。「小銭を入れやすくしたお札ポケット」みたいな形状です。 そのため、使用されている革の枚数が少なくなります。

カードポケットも、通常の財布はカード1枚1枚を区切るようなポケットですが、「旅行財布」のポケットはただ革が張ってあるだけです。 なので、普通の財布の1枚分の革しか使われていません。

結果、「旅行財布」もかなり薄いです。ジーンズの後ろポケットに入れても違和感はありません。

「薄い財布」との比較

abrAsusといえば、超薄い財布、その名も「薄い財布」が有名ですが、薄さを求めるがゆえに

  • 小銭入れが小さい
  • カード類があまり入らない

など、使用者が使い方を工夫しなくてはならない点があります。

それと比べて「旅行財布」は、

  • 小銭の出し入れが簡単
  • カード類も結構入れられる

という感じになります。

普段使いなら「旅行財布」もアリ

「薄い財布」に興味はあるけれど、カードの枚数はそこまで減らせないし、小銭が増えることもあるし……という方におすすめです。

自作キーボードを作ります(まとめ)

f:id:okayu-moka:20180529205522j:plain

自作キーボード制作の記事のまとめです。

公開済み完成品

完成したものはGitHubにすべて公開しています。 お世辞にもすごい自作キーボードというわけではありませんが、 今後自作キーボードに挑戦する人に少しでも役立ててもらえればと思います。

github.com

1号機

最初に作成した1号機は5x6の格子配列でした。

okayu-moka.hatenablog.com

okayu-moka.hatenablog.com

okayu-moka.hatenablog.com

okayu-moka.hatenablog.com

2号機

現在の最新版である2号機です。実際に仕事でもプライベートでも使用しています。

okayu-moka.hatenablog.com

okayu-moka.hatenablog.com

okayu-moka.hatenablog.com

自作キーボードを作ります2-3  2号機が完成しました

完成した2号機

前記事までで考えていた2号機が完成しました。

okayu-moka.hatenablog.com

こんな感じです。

f:id:okayu-moka:20180529204950j:plain

f:id:okayu-moka:20180529204957j:plain
自作4x6+1格子配列分割キーボード!

しばらく使っていますが今の所不満もなく、ひとまずは完成形の一つとしたいと思っています。 格子配列以外にもいろいろと挑戦していきたいので、まだまだEnd Gameではないです!

自作キーボードを作ってみての感想

自作キーボードを通じて、3DプリンターとかArduinoとかに挑戦できたのは良かったですね。 普段はソフトウェア畑の人間なのですが、実際に動く"モノ"が完成するのはソフトウェアとはまた違った嬉しさがあります。

なにより、完成したキーボード自体が使いやすいし、自作ってことで愛着も湧くし、肩こりなんかも解消されて嬉しい限りです。

今回はファームウェアからすべて自作しましたが、 キットを買って組み立てたり、QMK Firmwareを使ってみたりとかにも挑戦したいです。

完成品の写真とか

完成品の写真をペタペタ貼っておきます。

f:id:okayu-moka:20180529205150j:plain
ホームポジションとRaise/Lowerキーには100均で買ったネイルシールを貼っています。

f:id:okayu-moka:20180529205200j:plain
裏側には滑り止めのシールを貼ってみました。

f:id:okayu-moka:20180529211749j:plain
micro USB。ちょっとずれてるような気がするけど気にしない……

f:id:okayu-moka:20180529211850j:plain
3.5mm ステレオミニジャック。結構ぴったり。

f:id:okayu-moka:20180529205500j:plainf:id:okayu-moka:20180529205522j:plain
前よりはマシなものの相変わらずの配線。

自作キーボードを作ります2-2  2号機の設計

レイアウト

前回は5x6の配列でしたが、一番上の数字キーの列は不要かなぁと感じたので、 4x6配列をベースに親指用に1キー増やし、4x6+1の配列を採用しました。

親指用キー、つまり7列目のキーは最下段のみなので、その上部分にスペースができます。 この部分にProMicroを配置すれば、配線スペースを確保しつつ薄型化もできそうです。

ということで、完成したレイアウトがこちら。

f:id:okayu-moka:20180528213549p:plain

Thingiverseにもアップしています。

www.thingiverse.com

前回のものと比べると2mm〜3mmくらい薄くなったので、十分かなぁと思います。 あと1mmくらいは薄くできそうなので、使ってみて不満が出ればその時考えます。

配線

配線もとりあえず考えてみます。 相変わらず「自分が分かればいい図」なのであっているのかどうかは知りません!

f:id:okayu-moka:20180528213939p:plain

その他に気にしておくこと

その他、細かいところだと

  • せっかくなのでカラフルな色合いで作る。青系とピンク系が候補。
  • スイッチが取れやすいのでもういっそのこと接着剤でくっつけてしまう。
  • 3Dプリンターでの印刷精度を少し上げる。最適な設定を割り出す。

このあたりを気にして作っていきます。