メインコンテンツまでスキップ

PaxPowerGloveMIDIKeyboard

チップチューンなDJイベントで、 DJがパワーグローブを装着してプレイしていたら面白いかも。

ちょうど[バーチャルリアリティ用改造PAXパワーグローブ>../PaxPowerGlove)の保守部品として買ったパワーグローブが余っている。

せっかくなので、ただ装着するだけでなくグローブに何か機能が欲しい。

そう思い、PAXパワーグローブをMIDIキーボードにしてみた。

操作:

0~9、ENTER、PROGでドレミファソラシの音を奏でる。

上下でオクターブを変更する。

ABで楽器を変更する。

指の曲げ伸ばしで各種エフェクト(モジュレーション)が掛かる。

##必要なもの

ハードウェア

項目説明
Arduino UNO比較的小型で安価で簡単に使えるマイコンボード。
USBケーブル(タイプAオス- タイプBオス)何でも良い。
パックスパワーグローブ通常はファミコンに接続して使う手袋型コントローラ。
プルアップ抵抗(100kΩ)* 4何でも良い。今回は千石電子通商で購入。
ユニバーサル基板何でも良い。今回は千石電子通商でサンハヤト ICB-504辺りを購入。
LED * 2何でも良い。今回は千石電子通商で購入。パワーグローブに合わせて直径8mmの緑色を選んだ。
電流制限抵抗 * 3何でも良い。今回は千石電子通商で購入。
プラスチックケース何でも良い。今回は千石電子通商でテイシン TB-59Bを購入。
コルゲートチューブ何でも良い。今回は千石電子通商で購入。
OTGアダプタ何でも良い。今回はドロイド君型OTGアダプタを使用。
Android端末今回はUSB-MIDIに対応した簡易音源として使用。&br;最近のAndroidの入ったスマホやタブレットであれば概ね何でも良い。&br;今回は[Chuwi Vi8>Windows/ChuwiVi8)を使用。

ソフトウェア

項目説明
Arduino Software IDEArduinoの統合開発環境。
dualMocoLUFAUSB-MIDI ファームウェア。&br;HEXファイルをGitHubからダウンロードしておく。&br;("Raw"を右クリックして保存。)
Atmel Flipフラッシュ書き込みツール。&br;FLIP 3.4.7 for Windows (Java Runtime Environement included)をダウンロードしておく。
MIDILibraryArduino_MIDI_Library_v4.2.zipをダウンロードしておく。
&ref(powerglove_midikeyboard.ino,,パワーグローブMIDIキーボード用Arduinoスケッチ);自作のプログラム。コンパイルするにはMIDILibraryが必要。
普通のアナログシンセサイザー(Common Analog Synthesizer)USB-MIDIキーボードに対応したシンセサイザーアプリ。&br;今回はUSB-MIDIに対応した簡易音源として使用。&br;他の本格的な音源でも動作するはず。

手順

ハードウェア

  1. 手の甲の部分の基板のビニール線を除去する。
  2. パワーグローブのボックスの基板を取り外し、ビニール線を除去する。
  3. チップを除去する。除去する際に断線した箇所はジャンパで補修する。
  4. 写真のプルアップ抵抗の下側にArduinoの5Vに接続する。
  5. 写真のプルアップ抵抗の上側にそれぞれビニール線をはんだづけし、ArduinoのD2~D9に接続する。(写真の抵抗の上側)
  6. 写真の(1)をArduinoのD10に接続する。
  7. 写真の(2)をArduinoのD11に接続する。
  8. 写真の(3)をArduinoのD12に接続する。
  9. 基板のLEDを電流制限抵抗と共にArduinoの5VとGNDに接続する。
  10. 手の甲の基板に合わせてユニバーサル基板を切断する。
  11. LEDを散光のためにヤスリがけした後、電流制限抵抗と共に基板に配置し、Arduinoの5VとGNDに接続する。
  12. 手の甲側の4本の赤い線をすべてArduinoのGNDに接続する。
  13. Arduinoの5V→抵抗→手の甲側のセンサ線と繋ぎ、抵抗とセンサの間にArduinoのアナログ入力を接続する。 後述のスケッチでのセンサ線とアナログ入力の関係は次の通り。
    センサ線アナログ入力端子
    親指A0
    人差し指A1
    中指A2
    薬指A3
    小指センサなし-
  14. このときパワーグローブと基板の接続にピンソケットを使うと、後日パワーグローブを交換するときに楽。
  15. 導通チェックをしたら、各種はんだづけ部分をホットボンドなどで固め外れづらくする。
  16. コルゲートチューブでビニール線を覆い、Arduinoをプラスチックケースに格納する。

ソフトウェア

  1. ピンヘッダ(ICSP端子)の5ピンと6ピンをショートさせたまま、ArduinoをUSBケーブルでPCに接続し、電源LEDが点灯したら、ショートさせるのを止める。
  2. デバイスマネージャを開く。
  3. "不明なデバイス"を右クリックし、[ドライバーソフトウェアの更新]をクリックする。
  4. [コンピューターを参照してドライバーソフトウェアを検索します]をクリックする。
  5. "次の場所で~"に"C:\Program Files (x86)\Atmel\Flip 3.4.7"を入力する。(バージョンは適宜変更する)
  6. デバイスマネージャのAtmel USB DevicesにATmega16U2が表示されていることを確認する。
  7. Atmel Flipを起動する。
  8. [Device]>[Select]をクリックする。
  9. ATmega16U2を選択する。
  10. [Settings]>[Communication]>[USB]をクリックする。
  11. Openをクリックする。
  12. [File]>[Load HEX File]をクリックする。
  13. dualMoco.hexを選択する。
  14. "Run"をクリックする。
  15. 書き込み終わったことを確認する。
  16. USBケーブルを挿し直す。
  17. Arduino Software IDEを起動する。
  18. [スケッチ]>[Include Library]>[Add .ZIP Library...]
  19. Arduino_MIDI_Library_v4.2.zipを選択して開く。
  20. ピンヘッダ(ICSP端子)の5ピンと6ピンをショートさせる。
  21. Arduino IDEでpowerglove_midikeyboard.ino を書き込む。

完成! :)

なお、dualMocoLUFAから元に戻したいときは、Flipで C:\Program Files (x86)\Arduino\hardware\arduino\avr\firmwares\atmegaxxu2\UNO-dfu_and_usbserial_combined.hex を焼く…はず。

使い方

  1. パワーグローブのUSBケーブルをOTGアダプタでAndroid端末に接続する。
  2. 普通のアナログシンセサイザーを起動する。
  3. 右下の設定ボタンをタップする。
  4. [SELECT MIDI DEVICE]をタップする。
  5. 表示された機器をタップする。
  6. 自由に弾く。

0~9、ENTER、PROGでドレミファソラシの音を奏でる。

上下でオクターブを変更する。

ABで楽器を変更する。

指の曲げ伸ばしで各種エフェクト(モジュレーション)が掛かる。

参考