2019-12-15
音楽プログラミングワークショップ案のひとつ、演奏に合わせてキラキラするを実践してみました。
IchigoJam用MIDIインタフェース基板キットのMIDI-INがうまく動かないときの対処方法も合わせて紹介。
音楽ライブを盛り上げる、MIDI楽器のMIDI-OUTから接続する「MIDIアクセサリー」が簡単につくれますよ!


電子ピアノにつないで、音階に合わせてWS2812BのテープLEDを光らせている様子


IchigoJamとWS2812B、MIDIケーブルとIchigoJam用MIDIインタフェース基板キット(秋月電子)を用意


はんだづけレベル:初級。部品点数が基板含めて11コだけと、簡単!


まずは向きが関係ない抵抗を色に気をつけて挿し込み、少し曲げる。まとめてはんだづけすると効率良し!
続いて、4本足のICを向きを間違えないように、はんだづけ。


長ピンソケットからはんだづけ。曲がらないように注意。


できあがり!

MIDI-OUTを使ったテストプログラム(MIDI楽器のMIDI-INに接続)

10 BPS31250 20 FOR I=60 TO 72 30 ?CHR$(#90,I,60);:WAIT30:?CHR$(#90,I,0); 40 NEXT 50 WAIT 60

MIDI-INを使ったテストプログラム(MIDIキーボードのMIDI-OUTから接続、表示するだけ)

10 BPS31250:UART1,2 20 K=INKEY():IF!K CONT 30 ?K;" "; 40 GOTO 20

RUNして、MIDIキーボードなどのMIDI-OUTからインタフェースのMIDI-INへ接続、鍵盤を押すと144(#90)と2つの数値が表示され、離すと128(#80)または144と2つの数値が表示されます。 キーオン、キーオフ、取れました!


もし受信メッセージに、なぜか0が多かったり、#90がなかったり、反応しなかったりしとおかしかった場合、MIDI-INのR2の抵抗値を200Ω程度に下げるとうまくいくかもしれません。


470Ωをニッパーで切って、200Ωを上からか、裏面からはんだづけ。(はんだ吸い取り線でR2を除去してもOK)


キラキラさせるためにWS2812B/WS2811用のケーブルを作成。(参考、WS2811ケーブル加工

10 N=20 20 BPS31250:UART1,2 30 K=INKEY():IF K!=#90 AND K!=#80 CONT 40 T=INKEY():V=INKEY()&#FF 50 IF K=#80 V=0 60 ?T,V 70 LET[T%N*3],V:WS.LED N 80 GOTO 30

ノートOFFは、#90の2番目パラメータが0で来るものと、#80で送られてくるもの2種類あります。
* ランニングステータス未対応

links
- 音楽xプログラミング、MIDIワークショップづくりワークショップ in PCN東京
- MIDI 1.0 規格書 - 音楽電子事業協会
- MIDI - Wikipedia
- 一日一創 MIDIタグ

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS