Kravox 无线动作与触控传感器套件:面向 Arduino 的精密乐器控制器
组件与物料
| 组件 | 数量 | 备注 |
|---|---|---|
| Arduino Nano R3 | 2 | 约 $3/个(2018 年),建议含 USB 线 |
| USB-A 转 Mini-USB 线 | 2 | 连接 Arduino 与移动电源/电脑;Mini-USB 即 USB-C |
| GY-521 MPU-6050 六轴陀螺仪/加速度计 | 1 | 约 $1/个 |
| MPR121 触控传感器板 | 2 | SparkFun 已停售,淘宝约 $2/个 |
| nRF24L01+ 无线收发模块 | 2 | 约 $1/个,建议多买几个备用 |
| 10 µF 电解电容 | 2 | |
| 100 nF 陶瓷电容 | 2 | |
| 40P 母排针 | 5 | |
| 40P 公排针 (单排 2.54mm) | 2 | |
| 多色导线/排线 | 2 | 触控电极约 15 cm/个,24 电极需 3.5 m 以上;其余布线约 3 m;建议 7-10 m |
| 蓝色 5mm LED | 3 | 配 150 Ω 限流电阻 |
| 10 kΩ 电位器 | 5 | |
| 150 Ω 电阻 (1/4 W) | 3 | LED 限流 |
| 220 Ω 电阻 (1/4 W) | 3 | 可选:防止移动电源因功耗过低自动关机 |
| 万用板 (≥50 孔长边) | 1 | 控制器板需 9×50 孔,接收板 31×8 孔,另需两小板 |
| 小盒/食品盒 | 1 | 装接收端元件,避免金属屏蔽无线 |
| 移动电源 | 1 | 体积越小越好,作为手持控制器供电 |
| 废弃包装盒等 | 1 | 控制器外壳,发挥创意(作者用保鲜膜盒) |
| 焊锡 | 1 | |
| 铜箔胶带 (1 cm 宽) | 1 | 制作触控电极,约 4 m |
| 胶水/热熔胶 | 1 | |
| 强力胶 | 1 | 可选,粘合双排母座 |
| 橡皮筋 | 1 |
所需工具
- 电烙铁(焊台更佳)
- 电钻 + M7 钻头
- 美工刀
- 小锯
- 钢尺
- 剥线钳
- 尖嘴钳
- 热熔胶枪
- 弹簧夹(粘盒子时有用)
软件与在线服务
项目简介
一种全新的数字乐器控制器
Kravox 诞生于瑞典隆德大学的研究项目,旨在赋予数字乐器控制器传统机械乐器的手感。现将其开源,作为音乐实验平台,本教程详细讲解如何构建完整的控制器、接收器与软件系统。
如何演奏 Kravox
想象手持一把扫帚,通过触摸方式与空间姿态控制声音合成。观看演示视频了解演奏方式。

系统架构

- 控制器(最多 3 个):每个控制器含 MPU-6050 姿态/加速度数据、两块 MPR121 触控板(共 24 通道),由 Arduino Nano 采集后经 nRF24L01 无线发送。多控制器需分配不同地址(见代码声明部分)。
- 接收器:接收控制器数据并经 USB 传给电脑,同时采集 4 路电位器数值。代码支持 1-3 个控制器无需修改。
- 软件:Pure Data Vanilla 编写,处理接收数据并合成声音。
分步制作指南
第 1 部分:准备元件与工具

电子元件:万用板 1 块(≥50×24 孔)、40P 母排针 5 条、40P 公排针 5 条、10 kΩ 电位器 5 个(含旋钮)、蓝色 5mm LED 3 个、150 Ω 电阻 3 个、10 µF 电容 2 个、100 nF 电容 2 个、nRF24L01 2 个、Arduino Nano 2 个、220 Ω 电阻 3 个、MPR121 2 个、MPU-6050 1 个、USB-A 转 USB-C 线 2 条、铜箔胶带 ≥4 m、移动电源 1 个、多色导线 ≥7 m、可选 2mm 热缩管 0.2 m。
工具与辅料见上表。
第 2 部分:制作控制器电路板
按电路图逐步焊接:
- 裁剪万用板与母排针,焊接两块电容(注意 10 µF 极性)。
- 焊接两颗 LED 与限流电阻(注意 LED 极性)。
- 铺设红/蓝电源线(3.3V/GND)。
- 焊接 I2C 总线:黄/绿线连 A4/A5,白线接 MPU-6050 中断脚。
- 焊接 SPI 总线:黑/灰/棕/紫/橙线连 nRF24L01。
- 准备模块:焊接公排针;关键步骤——廉价 MPR121 的 ADD 引脚硬接地,需用美工刀切断焊盘间连接,万用表验证断开。
- 插入所有模块,核对接线。
- 安装库并上传控制器代码:
- MPU-6050:
I2Cdev.h+MPU6050_6Axis_MotionApps20.h(Jeff Rowberg) - MPR121:
MPR121.h(Bare Conductive 版,非 Adafruit) - nRF24L01:
nRF24L01.h+RF24.h(TMRh20 版,非 maniacbug)
- MPU-6050:
- 测试:取消代码末尾串口打印注释,波特率 115200,观察触控与姿态数据。
- 接入移动电源;若电源因低功耗自动关机,按步骤 2.9 在 Arduino 5V/GND 间并联三个 220 Ω 电阻增加负载。

第 3 部分:制作接收器电路板
流程类似:裁板、焊母座与电容、铺电源线、焊 SPI 线、插入 Arduino Nano 与 nRF24L01。接收板无额外传感器。

第 4 部分:制作接收器面板(4 电位器 + 1 LED)
按原理图焊接 5 根信号线至电位器中间脚,另取 2×17 孔小板焊 17P 公排针,接地、5V、LED 及限流电阻。完成后插入接收器板对应母座。上传接收器代码(可先改为串口打印模式调试)。
第 5 部分:制作控制器触控面板与外壳
在非导电盒面标记 24 个电极位置(不重叠),裁剪铜箔胶带贴上,焊接 24 根导线至 2×24 孔小板上的 24P 公排针,导线长度按电极间距递增。铜面贴绝缘胶带防短路。将面板折盒粘合,另粘一小盒装移动电源。控制器板背面垫纸板,开 LED 孔,固定移动电源(USB 口朝外以便开关),接入触控面板排线,穿 USB 线连接 Arduino Nano。用橡皮筋扎紧。

第 6 部分:制作接收器外壳
另取纸盒,开电位器、LED、USB 孔,固定主板对齐 USB 口,安装 LED 与电位器并拧上旋钮。
第 7 部分:连接 Pure Data
- 安装 Pure Data Vanilla,打开
Kravox.pd(需与drumsamples文件夹同目录)。 - 菜单 Help → Find externals,安装
comport、zexy、freeverb、arraysize四个外部对象(重启 PD 生效)。 - 接入接收器 USB。若之前改为串口调试模式,需恢复原代码并关闭 Arduino 串口监视器。
- PD 信息窗口若显示红色报错,点击界面上的端口号尝试连接,直到出现高速数据流。点击 Save 记忆端口。
- 打开控制器移动电源(合盒时勿触碰触控面,上电瞬间会校准基线)。
尽情享受 Kravox 带来的音乐创作乐趣!
代码
GitHub 仓库包含控制器/接收器 Arduino 代码、Kravox.pd 及鼓采样:
https://github.com/timkrahmer/Kravox
原理图
制造工艺