自作キーボードにあこがれて
『Seeeduino XIAO (SAMD21)』とタクトスイッチでキーボードっぽいものを作ってみました。
きっかけ
自作キーボードの存在を『ららぽん』さんの動画で知って以来、いつかは作ってみたいなと思っていました。ただ知った当時は中学生で、自作キーボードも今ほど流行っていなかったため、個人輸入が必須などハードルが高く諦めていました。
その後も、BSMのDiscordやRebuildなどで自作キーボードの話を見ては、この沼は危険だなと近寄らないようにしていました。
のだけど、最近『うしゃすらいむ』さんという方の動画を見始めて、この方が『Corne Cherry V3』という分割キーボードを使われていて、何かが自分の中で燃えはじめたので、手元のパートだけで作れるものを作ってみました。
作り方
必要なもの
雑なプロトタイプとしてブレッドボード上に作ったので、間違ってるところとかあるかも?難しいことは一切してないから大丈夫だと思うけど、必要なものはこんな感じ。
項目 | 必要数 |
---|---|
Seeeduino XIAO | 1 |
タクトスイッチ | 1〜 |
ブレッドボード | 1 |
ジャンプワイヤー | 2〜 |
今回はINPUTPULL
を使用したので、抵抗は必要ないです。
回路
ブレッドボード上に配線していきます。
とは言っても、今回は内臓のプルアップ抵抗を利用するし、マトリックスを組むわけでもないので、タクトスイッチの両端にGNDと任意のポートに接続すればOK。
こんな感じで配線してください。ブレッドボードに余裕がないから変なつなぎ方してるけど、下手なことしない方がいいと思います。
プログラム
Seeeduino XIAOを使うため、Arduino IDEを公式サイト通りにセットアップしてあることを前提として話を進めます。
今回は標準のKeyboard.h
ではなく、サードパーティのHID-Projectを利用するためライブラリをインストールします。サードバーからLibrary Managerを開き、検索バーに『HID-Project』と入力。すると、NicoHoodが提供するものが表示されるので、Installを押してInstalledになればインストール完了です。
#define HID_CUSTOM_LAYOUT
#define LAYOUT_US_ENGLISH
#include <HID-Project.h>
#include <HID-Settings.h>
void setup() {
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
Keyboard.begin();
}
void loop() {
if (digitalRead(4) == LOW) {
Consumer.write(MEDIA_PLAY_PAUSE);
delay(100);
}
if (digitalRead(5) == LOW) {
Consumer.write(MEDIA_VOL_DOWN);
delay(100);
}
if (digitalRead(6) == LOW) {
Consumer.write(MEDIA_VOL_UP);
delay(100);
}
delay(100);
}
ポート番号は適宜読み替えてくださいね。
Using custom layout for keyboard modules
ってエラーが出るのですが、動くので無視しちゃいました。解決策知ってる方いたら教えてほしいです。
結び
『Seeeduino XIAO (SAMD21)』でキーボードっぽいものを作ってみました。
次は、2x2でマトリックスを組んでみたいです。LEDのマトリックスは以前作ったことがあるので、ロジックは理解しています。2乗マトリックスとかはさっぱりですが…。
ちなみに、今回使用したSeeeduino XIAOは前に竹林人間さんとエンカした時に買ったものなのですが、現在の価格を見たら倍の1200円してビックリ。ピンの付属も無くなったので、より割高な感じがします。
なお、このボードに使われる『SAMD21』は自作キーボードでよく使われる『QMK Firmware』に対応していません。これも『Pro Micro』か『Raspberry Pi Pico』を買って試してみたいです。
おまけ
自作キーボード関連のパーツは高すぎる!(米倉涼子風に)
どの沼も同じですが、パーツ高すぎません?やっぱりAliexpressとか使ったほうがいいのかな。海外系の通販には、SHEINとかTEMUはもちろんAliexpressとかも怖くて手が出せてないです。
それから、Cherry MX互換のスイッチってユニバーサル基板には刺さらないんですね。となると基板設計が必須で、これもまた手が出せない。
じゃあ、キットを買おうと思って勇者工房を覗くと、また高い。同人ハードも多く、どうしても値が張るのはわかるから難しいところですね。
(スイッチをバラ売り16個にすれば)5000円以内でテンキー作れるかも?
Comments
コメントする