楽器(Mozzi利用)
今回はArduino用サウンドライブラリMozziとWiiのヌンチャクコントローラをArduinoに接続して楽器を作ってみます。
ヌンチャクを使ったテルミンのような楽器なので、とりあえずChuckmin2と名づけました。
ようするに../楽器のMozzi版です。
必要なもの
- Arduino(下記はArduino Unoに場合の接続例です。Arduino Leonardoの場合の接続方法は備考をご覧ください。)
- ヌンチャクコントローラ
- WiiChuck
- ピンヘッダ(4P)(何でも良いです。今回は 秋月電子通商で購入しました。)
- アクティブスピーカー
- アクティブスピーカーとArduinoを接続するもの。下記など。
なくてもArduinoに接続したワイヤを直接ミニジャックに接続できれば良いです。- ブレッドボード
- ジャンプワイヤ(オス-オス)
- 3.5ステレオミニジャックDIP化キット
- chuck_funcs.h(こちらからダウンロードしてください。
「Raw」を右クリックして名前をつけて保存。 - Mozzi
手順
- WiiChuckにピンヘッダを半田付けする。(labs.thingm.comと書いてある側からピンヘッダの短い方を差込み、逆側から半田付けする。)
- ArduinoのA2ピンに-、A3ピンに+、A4ピンにd、A5ピンにcが挿さるように挿す。
- 圧電ブザーをGNDと10番ピンに挿さるように挿す。
- WiiChuckにヌンチャクコントローラを挿す。(ヌンチャクの金属端子の凹みがある方が上になるように挿す。)
- デジタル9番ピンにミニジャックのLとR(ステレオなら先端から1個目と2個目)を接続する。
- GNDピンにミニジャックのGNDを接続する。(ステレオなら先端から3個目)
- Mozzi.zipを解凍し、Mozziフォルダを%USERPROFILE%\Documents\Arduino\librariesにコピーする。
- USBケーブルを挿す。
- スケッチを書き込む。
スケッチ
準備中。
トラブルシューティング
「コンパイル時にエラーが発生しました。」というエラーメッセージが表示される場合
「コンパイル時にエラーが発生しました。」というエラーメッセージとともに下記が表示される。
Mozzi\twi_nonblock.cpp.o: In function `__vector_24':
C:\Users\foobar\Documents\Arduino\libraries\Mozzi/twi_nonblock.cpp:461: multiple definition of `__vector_24'
Wire\utility\twi.c.o:C:\Program Files (x86)\Arduino\libraries\Wire\utility/twi.c:364: first defined here
原因はArduinoデフォルトのI2CプログラムとMozziのI2Cプログラムが競合しているため。
Mozzi側のI2Cプログラムは使用しないので、削除すると解決します。
- Mozzi/twi_nonblock.cpp
- Mozzi/twi_nonblock.h
備考
Arduino Leonardoの場合は、I2Cの接続ピンが異なります。
役割 | Wiichuckでの表示 | Unoでの接続先 | Leonardoでの接続先 |
GND | - | A2 | GND |
V | + | A3 | 3.3V |
SDA(シリアルデータ) | d | A4 | D2 または SDA |
SCL(シリアルクロック) | c | A5 | D3 または SCL |
Leonardoを使う場合は、トランスモグリシールドでピンをUno互換にするか、ジャンプワイヤなどで上記の通りに接続先を変えてください。
また、nunchuck_funcs.hの25行目〜34行目は次のように修正してください。
|
参考
- Mozzi.ws | Yoshihito Nakanishi
- スイッチサイエンス - WiiChuckアダプタ
- “WiiChuck” Wii Nunchuck Adapter Available » todbot blog