Kravoxワイヤレス モーション&タッチセンサーキット:Arduino向け精密楽器コントローラー
Kravoxとは
Kravox(クラヴォックス)は、スウェーデン・ルンド大学の研究プロジェクトとして開発された、「従来のアコースティック楽器のような演奏感覚」をデジタル楽器コントローラーで実現することを目的とした、クロスプラットフォーム対応のオープンソース・デジタル楽器システムです。
最大3台のワイヤレスコントローラー、レシーバー、Pure Data Vanillaで動作する音源ソフトウェアの3構成要素からなり、「ほうきのような日常の物体に触れ、空間で動かす感覚で音を操る」新しい演奏体験を提供します。
システム構成
コントローラー(最大3台)
- センサー:MPU-6050 6軸ジャイロ/加速度センサー(姿勢・動き検出) + MPR121 静電容量式タッチセンサー ×2基(24電極)
- MCU:Arduino Nano
- 無線:nRF24L01+ 2.4GHzトランシーバー
- 電源:USBモバイルバッテリー(ハンドヘルド化)
- フィードバック:青色LED ×2(ステータス表示)
レシーバー(1台)
- MCU:Arduino Nano
- 無線:nRF24L01+(コントローラー最大3台と通信)
- インターフェース:10kΩポテンショメータ ×4 + 青色LED ×1(PC側パラメータ制御用)
- 接続:USB経由でPCとシリアル通信
ソフトウェア
- Pure Data Vanilla(無料、クロスプラットフォーム)
- 外部オブジェクト:
comport,zexy,freeverb,arraysize - 付属のドラムサンプルで即座に演奏可能
必要な部品と材料
コントローラー1台分 + レシーバー1台分
| 部品 | 数量 | 備考・推奨仕様 |
|---|---|---|
| Arduino Nano R3 | 2 | コントローラー用1台、レシーバー用1台 |
| USB A - Mini-B ケーブル | 2 | 電源供給・書き込み用(NanoはMini-B) |
| GY-521 MPU-6050 モジュール | 1 | コントローラー用(I2C接続) |
| MPR121 タッチセンサーボード | 2 | コントローラー用(I2C、アドレス変更要) |
| nRF24L01+ トランシーバー | 2 | コントローラー/レシーバー各1台(予備推奨) |
| コンデンサ 10µF (電解) | 2 | nRF24L01電源安定化用(極性注意) |
| コンデンサ 100nF (セラミック) | 2 | nRF24L01電源安定化用 |
| 40ピン メスピンヘッダー | 5 | 基板上でカットして使用 |
| 40ピン オスピンヘッダー (1列) | 2 | 小型基板用 |
| 多色配線 / リボンケーブル | 7〜10m | タッチ電極24本分が大半を占める |
| 青色 5mm LED | 3 | コントローラー2個、レシーバー1個 |
| 10kΩ ポテンショメータ + ノブ | 5 | レシーバーインターフェース用4個 + 予備 |
| 150Ω 抵抗 (1/4W) | 3 | 青色LED電流制限用 |
| 220Ω 抵抗 (1/4W) | 3 | オプション:モバイルバッテリー自動OFF対策用 |
| ユニバーサル基板 (50×24穴以上) | 1 | コントローラー用9×50穴、レシーバー用31×8穴等にカット |
| 小型プラスチックケース/食品容器 | 1 | レシーバー収納用(金属製は電波遮蔽の恐れ) |
| モバイルバッテリー | 1 | コントローラー内蔵用(小型推奨) |
| 空き箱/工作用素材 | 適宜 | コントローラー筐体(ラップフィルム箱等) |
| 銅テープ (幅1cm) | 約4m | タッチ電極自作用(ハンダ付け可能な銅製推奨) |
| はんだ、接着剤、ホットグルー、ゴムバンド等 | 適量 | 組み立て・固定用 |
必要工具
- はんだごて(温調式推奨)
- 電動ドリル + 7mmドリルビット(ポテンショメータ取付穴)
- カッターナイフ、小型ノコギリ、スチール定規
- ワイヤーストリッパー、ニッパー、ラジオペンチ
- ホットグルーガン、クランプ
製作ガイド:ステップバイステップ
Part 1: 部品と工具の準備
上記リストに従い全部品を揃える。特にnRF24L01は不良率があるため複数個購入推奨。MPR121は安価な互換品でOKだが、ライブラリ互換性のためBare Conductive版ライブラリ対応品を選ぶこと。
Part 2: コントローラー基板の製作
ユニバーサル基板をカットし、メスピンヘッダーをハンダ付けしてArduino Nano、MPU-6050、MPR121×2、nRF24L01+をソケット接続できるようにする。電源ライン(3.3V/GND)、I2C(A4/A5)、SPI(D11〜D13)、割り込みピン、LED制御ピンを配線。
重要ポイント:
- MPR121互換品のADDRピンはGNDに直結されていることが多い。2枚同時使用するため、1枚のADDR-GND間をカッターでパターンカットし、プルダウン抵抗なしでVDDまたはSDAに接続してアドレスを0x5Bに変更すること
- nRF24L01電源ラインには必ず10µF+100nFのコンデンサを基板直近に配置
- モバイルバッテリーが低消費電力で自動OFFする場合、220Ω×3並列で5V-GND間にダミー負荷を追加(ステップ2.9)



Part 3: レシーバー基板の製作
コントローラー基板と同様にユニバーサル基板をカットし、Arduino NanoとnRF24L01+をソケット実装。電源ラインとSPI配線のみでシンプル。


Part 4: レシーバーインターフェースの製作
別途小型ユニバーサル基板(2×17穴)にポテンショメータ4個、青色LED+150Ω、17ピンオスヘッダーを実装し、レシーバー基板の空きソケットに挿せるモジュール化構造にする。


Part 5: コントローラーインターフェース(タッチ電極)と筐体
- 筐体用箱(ラップフィルム箱等)に24電極の配置をマーキング(互いに接触・重ならないよう)
- 銅テープを適切な長さにカットし、箱の表面に貼り付け
- 小型ユニバーサル基板(2×24穴)に24ピンオスヘッダーを実装、電極数に応じた長さのケーブルをハンダ付け
- ケーブル先端を銅テープ電極にハンダ付け(導通確認必須)
- 銅テープ表面を絶縁テープで覆い保護
- インターフェースを箱状に折り曲げ接着、小箱(バッテリー収納用)を追加接着
- コントローラー基板背面を厚紙で覆い、LED用穴を開け固定
- モバイルバッテリー、USBケーブル、タッチインターフェースを接続し箱に収納
- ゴムバンドで固定して完成


重要:電源投入時、タッチセンサーは周囲環境を「非接触状態」としてキャリブレーションするため、筐体のタッチ面が手や物に触れていない状態でバッテリーを接続すること。
Part 6: レシーバー筐体
プラスチックケースにポテンショメータ4個とLED、USBケーブル用穴を開け、基板を固定。ノブを取り付けて完成。

Part 7: Pure Dataとの接続・演奏
- Pure Data Vanillaをインストールし、
Kravox.pdを開く(drumsamplesフォルダと同階層に配置) - メニュー「Help」→「Find additional objects」で
comport,zexy,freeverb,arraysizeを検索・インストール(再起動必要な場合あり) - レシーバーをUSB接続。Pure Dataのログウィンドウで赤いエラーが出る場合、ポート番号をダイアログで試行錯誤して正しいものを見つける
- データストリームが高速に流れ始めたら接続成功。「Save」で次回自動接続
- コントローラーのバッテリー接続(タッチ面非接触状態で)
- 演奏開始!


演奏方法
コントローラーを手に持ち、以下のジェスチャーで音を制御:
- タッチ電極:指で触れる位置・面積・圧力で音色・ピッチ・トリガーを制御
- 傾き・回転:MPU-6050が検出する姿勢変化でフィルター、エフェクト、空間配置等を制御
- 動き・加速度:振り動作等でトリガー、ダイナミクス、グルーヴを表現
レシーバー側の4つのポテンショメータで、スケール、リバーブ、テンポ、音色パラメータ等をリアルタイム調整可能。
複数コントローラー使用時の設定
2台目・3台目のコントローラーを使用する場合、コントローラー側コードの DECLARATIONS / NRF24L01 セクションで個別のアドレス(パイプ番号)を割り当てる必要があります。レシーバーコードは最大3台対応済みで、1〜2台でも変更不要で動作します。
ライブラリとコード
全コードとPure Dataパッチ、ドラムサンプルはGitHubで公開:
https://github.com/timkrahmer/Kravox
必要なArduinoライブラリ
- MPU-6050:
I2Cdev.h,MPU6050_6Axis_MotionApps20.h(Jeff Rowberg版) - MPR121:
MPR121.h(Bare Conductive版、Adafruit版ではない) - nRF24L01:
nRF24L01.h,RF24.h(TMRh20版、maniacbug版ではない)
トラブルシューティング
| 症状 | 確認事項 |
|---|---|
| シリアルモニタにデータが出ない / 全て0 | 配線確認(特にI2Cプルアップ、SPI配線)、ボーレート115200設定、ライブラリバージョン |
| タッチセンサーが誤検知/無反応 | 電源投入時の非接触状態確認、電極間の絶縁確認、ケーブルと筐体の間にラップフィルム等を挟む |
| モバイルバッテリーがすぐ切れる | 220Ω×3並列ダミー負荷追加(ステップ2.9) |
| Pure Dataがポートを認識しない | Arduino Serial Monitorを閉じる、ポート番号総当たり、ドライバー再インストール |
| 無線通信が不安定 | nRF24L01電源コンデンサ確認、アンテナ向き、金属筐体回避、チャネル変更 |
発展・カスタマイズのアイデア
- 筐体デザイン:パイプ、木材、3Dプリント等で「楽器らしい」形状に
- 電極レイアウト:鍵盤風、フレット風、ドラムパッド風等、演奏スタイルに合わせて設計
- センサー追加:ジョイスティック、圧力センサー、距離センサー等で表現幅拡大
- 音源エンジン:Pure Dataパッチを書き換えてシンセシス、サンプリング、ライブループ等に対応
- MIDI/OSC出力:DAWや他ソフトと連携
まとめ
Kravoxは、安価で入手しやすい部品とオープンソースソフトウェアで構築できる、本格的なワイヤレス・ジェスチャー楽器プラットフォームです。「楽器を作る楽しさ」と「演奏する楽しさ」の両方を味わえる、メイカーとミュージシャン双方に魅力的なプロジェクトです。詳細なチュートリアルとコードが公開されており、ステップバイステップで確実に完成へ導かれます。
製造プロセス
- 運河と閘門:米国水上輸送のエンジニアリング、歴史、そして未来
- サックス:歴史、設計、現代製造
- 弓矢の進化と職人技:古代狩猟から現代エンジニアリングへ
- チューバ:19世紀の革新から現代の職人技へ
- ダルシマー:歴史・設計・職人技、時代を超える楽器
- Raspberry PiでPIRモーションセンサーとLEDを制御
- プロジェクトに最適な鋸選び:バンドソー vs 丸鋸
- モーション制御に安全機能を統合:生産性を損なわずに安全性を向上
- Rutronik、Redpine Signalsの超低消費電力マルチプロトコルSoCを提供
- 制御システムを接続:位置・モーションセンサー向け信頼できる通信インターフェース
- 5GワイヤレスネットワークがIoT採用と通信税制をどう変えるか