自制 Arduino HID CNC 手持脉冲发生器:23键6功能/档,低成本替代商业手柄
为什么要自制?
商用 CNC 手持脉冲发生器(MPG/手轮)动辄 €100+,且功能固定(通常仅 2 键 + 手轮)。笔者自制木工 CNC,决定用 Arduino Leonardo(ATmega32U4)做 HID 键盘模拟,实现 23 个按键 × 6 种触发模式(单击/双击/三击/长按/双击长按/三击长按)+ 100PPR 手轮,功能远超商用产品,成本不足 €30。
核心优势:ATmega32U4 原生 HID
Leonardo/Micro/Pro Micro 内置 USB 控制器,插上电脑即识别为键盘/鼠标,无需额外驱动。配合 ClickButton 库,每个按键可区分:
- 单击
- 双击 (≤250ms)
- 三击
- 单击长按 (≥1s)
- 双击长按
- 三击长按
并内置 20ms 消抖,极其可靠。
硬件架构
- Arduino Leonardo(已停产,推荐用 Arduino Micro 替代,同 32U4)
- 23 个自锁/点动带灯按钮(含标签透明盖)
- 标准 60mm 100PPR 6 线手轮(编码器)
- 红木外壳(CNC 加工,Cut2D 绘图,多层清漆)
- 1kΩ 上拉电阻 ×23(按键一端接 GND,一端接 MCU,启用内部上拉)
- 总功耗 ~150mA (含按键 LED)