プロジェクトの背景
Fusion 360を学習しながらYouTubeを見る時、Play/Stopを簡単に操作したい。そんなシンプルなニーズから生まれた1キーキーボードです。
CircuitPythonで動作するため、キーの機能は自由にカスタマイズできます。
特徴
- はんだ付けは最小限(マイコンとコネクタのみ)
- コネクタ接続で組み立て簡単
- CircuitPythonでカスタマイズ自在
- 総コスト約¥1,000-1,500
使い方
PCにUSBで接続すると、キーボードとして認識されます。ボタンを押すだけでPlay/Stop操作が可能です。
CircuitPythonのコードを編集すれば、任意のキー機能に変更できます。
遊び方
- メディア再生コントロール(Play/Stop/Next/Previous)
- ミュートボタン
- スクリーンショット専用ボタン
- Zoom/Teams会議の手挙げボタン
- 好きなショートカットキーに設定
アイデア次第で、自分だけの専用キーを作れます。
材料の調達
マイコン
RP2040マイコンボード(¥500-800)

Raspberry Pi PicoやSeeed XIAO RP2040など、様々なRP2040ボードが使えます。
購入先:
圧着端子
JSTコネクタ(XH/PH)

配線の着脱を簡単にするコネクタです。
購入先:
圧着工具について: IWISS製の精密同時圧着ペンチ(ラチェット式)が、XH・PHコネクタに対応しており使いやすいです。心線と被覆を同時に圧着できます。
参考: 電子工作で使われる圧着端子コネクタと圧着工具 - fumiLab
電子ワイヤ
AWG22~26程度の電子ワイヤを使用します。配線の長さに応じて必要量を用意してください。
購入先:
ハンダ
鉛入りまたは鉛フリーハンダ。直径0.6mm~1.0mm程度が使いやすいです。
セルフロックスイッチ
オルタネートスイッチ(¥100-200)

ボタンの内部に取り付けるスイッチです。アーケードボタンの規格に合ったものを選びます。
アーケードボタン
アーケードボタン 24mm(¥300-500)
透明ボディのLED付きボタンがおすすめです。
購入先:
- Amazon - LED付き5Vボタン各色
- ATTASA SHOP - アーケード専門店
- Yahoo!ショッピング - 各種ボタン
3Dプリントパーツ
Thingiverseで3Dプリント用ケースモデルを公開しています。
必要な工具:
- はんだごて(温度調節機能付きがおすすめ)
- ニッパー
- ワイヤーストリッパー
- 圧着ペンチ(JSTコネクタ用)
組み立て方
1. コネクタのはんだ付け
RP2040マイコンにXH 4PINメスコネクタをはんだ付けします。これが唯一のはんだ作業です。
手順:
- はんだごてを350℃程度に予熱
- コネクタをマイコンのピンに仮固定
- 対角の2箇所を先にはんだ付けして固定
- 残りのピンをはんだ付け
2. 配線の準備
JSTコネクタを使って、アーケードボタンとマイコンを接続する配線を作ります。
手順:
- ワイヤを必要な長さにカット
- ワイヤストリッパーで被覆を5mm程度剥く
- コンタクトピンを圧着ペンチで圧着
- ハウジングにピンを挿入
3. スイッチとボタンの組み立て
- アーケードボタンにオルタネートスイッチを取り付け
- 配線を接続
4. ケースへの組み込み
- 3Dプリントしたケースにマイコンを固定
- アーケードボタンをケースに取り付け
- 配線をコネクタで接続
CIRCUITPYTHONのsetup
1. CircuitPythonのダウンロード
CircuitPython公式サイトから、お使いのRP2040ボード用のUF2ファイルをダウンロードします。
2. ブートローダーモードで起動
- USBケーブルを抜いた状態で、BOOTSELボタンを押す
- BOOTSELボタンを押したまま、USBケーブルを接続
RPI-RP2というドライブが表示されたらボタンを離す
3. ファイルのコピー
ダウンロードしたUF2ファイルを、RPI-RP2ドライブにドラッグ&ドロップします。
4. 完了
自動的に再起動し、CIRCUITPYという新しいドライブが表示されたら完了です。
参考: Adafruit Learning System - CircuitPython インストール
プログラムのinstall
1. プログラムファイルの準備
GitHubリポジトリから、キーボード用のプログラムファイル(code.py)をダウンロードします。
2. ファイルのコピー
CIRCUITPYドライブに、code.pyをコピーします。保存すると自動的にプログラムが実行されます。
3. 動作確認
PCにUSB接続し、キーボードとして認識されることを確認します。ボタンを押してPlay/Stopが動作すればOKです。
4. デバッグ(必要な場合)
シリアル接続でデバッグする場合:
screen /dev/ttyACM0 115200
カスタマイズのヒント
code.pyを編集することで、キーの機能を自由に変更できます。
- メディアキー(Play/Pause、Next、Previous)
- ボリュームコントロール(Volume Up/Down、Mute)
- キーボードショートカット(Ctrl+C、Alt+Tabなど)
- マウス操作
CircuitPythonのHID(Human Interface Device)ライブラリを使えば、様々な入力デバイスとして動作させられます。
