Appearance
レバー配線図 — RKJXV122400R → Pico 2 → Dock PMOD(#15)
ファーム: firmware/pico-lever/ / Dock 側ピン: fpga-famicom#17 コメント(2026-09-01)
RKJXV122400R Pico 2 (RP2350) Tang Primer 20K Dock
┌───────────┐ ┌───────────────┐ ┌──────────────────┐
│ X pot A ─┼─ 3V3 ────────┤ 3V3_OUT (36) │ │ │
│ X pot C ─┼─ GND ────────┤ GND │ │ │
│ X wiper B ┼──────────────┤ GP26 / ADC0 │ │ │
│ Y pot A ─┼─ 3V3 │ │ GP2 ─────────┤ P6 (PMOD0 上段1) 上
│ Y pot C ─┼─ GND │ │ GP3 ─────────┤ T7 (PMOD0 上段2) 下
│ Y wiper B ┼──────────────┤ GP27 / ADC1 │ GP4 ─────────┤ P8 (PMOD0 上段3) 左
│ SW 1 ────┼──────────────┤ GP16 (PULL_UP)│ GP5 ─────────┤ T9 (PMOD0 上段4) 右
│ SW 2 ────┼─ GND │ │ GP6 ─────────┤ T11 (PMOD1 左端上) Start
└───────────┘ │ GND ──────────┼───────────────┤ GND (PMOD0) │
│ VSYS (39) ◄── 5V (USB-C 分岐) │ │
└───────────────┘ └──────────────────┘端子表
| 信号 | RKJXV | Pico 2 | Dock | 備考 |
|---|---|---|---|---|
| X 軸 | ポテンショ 両端 → 3V3 / GND、中点 → | GP26(ADC0) | — | 10kΩ |
| Y 軸 | 同上 | GP27(ADC1) | — | 10kΩ |
| 中央プッシュ | SW 2 端子(片側 GND) | GP16(内蔵 pull-up) | — | 押下 LOW |
| 上 | — | GP2(open-drain) | P6 PMOD0 上段1 | 押下 LOW |
| 下 | — | GP3(open-drain) | T7 PMOD0 上段2 | |
| 左 | — | GP4(open-drain) | P8 PMOD0 上段3 | |
| 右 | — | GP5(open-drain) | T9 PMOD0 上段4 | |
| Start(プッシュ) | — | GP6(open-drain) | T11 PMOD1 左端列 上 | Select は P11(本ファーム未使用) |
| GND | 共通 | GND | PMOD0 GND | 必ず共通にする |
| 電源 | — | VSYS ← 5V | — | Dock の PMOD 3V3 からは取らない |
Dock 側の前提
- PMOD0 上段
P6 T7 P8 T9/ PMOD1T11 P11は LVCMOS33・内蔵 pull-up・押下 LOW(fpga-famicom#17 のarcade_lever_gpio.v、branchclaude/issue-17-arcade-levercommit8104a58) - PMOD0 下段
T6 R8 T8 P9は既存の A/B/Joystick2、PMOD1 のT12 R11 M14 M15 J14 J16は LED 出力 → 触らない - 上+下・左+右の同時押しは Dock 側で neutral(SOCD)。Pico 側も原理上同時に立たない
RKJXV の端子確認(実装前に必ず)
RKJXV122400R は X/Y 各 3 端子 + プッシュ SW 2 端子。データシートの端子番号に頼らず、テスターで **両端(回転しても 10kΩ 固定)と中点(回転で 0〜10kΩ に変化)**を実物で確認してから配線する。 プッシュ SW の 2 端子は押下時のみ導通する組。
方向の向き
RKJXV のポテンショ回転方向は基板への実装向きで決まる。実機で左右/上下が逆なら main.py の INVERT_X / INVERT_Y を True にする(配線を入れ替えない)。
通電順序
Pico の出力はオープンドレインなので、Pico と Dock のどちらを先に通電しても衝突しない。