YU2TA7KA's BLOG ~take one step at a time~

派生開発、組み込み開発周りのこと。

【組込みRust】組込みRustで2キーのキーボードFWを実装する(模倣)

はじめに

RustでキーボードFWを実装するために、RustyKeysを参考(ほぼコピペ)にさせてもらうことにしました。ハードウェア(HW)は手持ちにあるものでやりくりするということで2キーのキーボードとして実装しました。

HW

ダイオードが手持ちに2個しかなかったため、タクトスイッチを2個使った2キーのキーボードとして実装をしました。

部品

  • ダイオード*1
  • タクトスイッチ
  • ブレッドボード
  • ジャンパー線オス-オス
  • ジャンパー線オス-メス(デバッガアダプタ接続用)
  • Raspberry Pi Pico

配線

pin type
GPIO21 input (row)
GPIO22 input (row)
GPIO16 output (col)

FW

「y」と「2」を打てるキーボードFWを実装しました。
自作キーボードって組込みRustの入門にちょうどいいらしい」動画を写経、模倣しています。以下のステップを踏んだ実装手順で少しずつキーボードになるのが面白い体験でした。

  1. キーボードとしてPicoを認識させる
  2. キー入力をFW上で発生させる
  3. キー入力をHW(タクトスイッチ押下)で発生させる
  4. 2.と3.を合体してキーボードにする

おわりに

写経、模倣ではありますが、自分の手でキーボードFWが実装できたのは楽しい体験でした。期待通りに物を制御できる感覚はやはりなんとも言えない心地よさがあります(巨人の肩に乗りまくりですが)。今後はいろいろ気になる点や試してみたいことも残っているので、それらをやっていければと思います。

  • 今回コードとGithubコードの見比べ、理解。
  • hifumiキーボードをPico+RustFW動かす。
  • PCB*2からキーボードを自作する。

*1:hifumiキーボードに予備として入っていたもの 汎用小信号高速スイッチング・ダイオード 1N4148

*2:printed circuit board